Biodiversity Data Journal : Software Description
PDF
Software Description
MycorrhizaTracer: A bioinformatic pipeline for fungi and plant classification of Sanger DNA sequences
expand article infoThomas D Brekke‡, Thomas Weeks‡, Robert A Barber‡, Isabelle Thomson‡,§, Rosemary Gooda‡,§, Roberta Gargiulo‡, Guillaume Delhaye‡, Carrie Andrew‡, Jill Kowal‡, Martin I Bidartondo§,‡, Laura M Suz|,‡
‡ Royal Botanic Gardens Kew, Richmond, United Kingdom
§ Imperial College London, London, United Kingdom
| Institut Botànic de Barcelona (IBB), CSIC-CMCNB, Spain
Open Access

Abstract

Background

Processing Sanger DNA sequences remains a routine, yet technically demanding step in many biodiversity and ecological studies, particularly when barcoding large numbers of environmental samples. Manual inspection and editing of trace files, DNA sequence alignment and classification using taxonomic reference databases are time-consuming, inconsistent and prone to error, compromising workflow standardisation, traceability and reproducibility. These challenges are compounded in studies involving degraded samples, in-house DNA sequencing, under-described taxa or research contexts in which investigators have limited access to computational tools.

New information

We present MycorrhizaTracer, an open-source pipeline for processing and taxonomically classifying large batches of Sanger sequencing chromatograms. The pipeline is optimised for fungal and plant taxa, but it is adaptable across the tree of life. The pipeline performs quality trimming, consensus generation from bidirectional reads, taxonomic classification via BLAST, clustering, optional salvaging of low-quality sequences and functional annotation of fungal taxa. Designed for scalability and ease of use, MycorrhizaTracer can process thousands of DNA chromatograms in a matter of hours without the need for a high-performance computer (HPC). Accuracy and ecological relevance are promoted by features such as gene region-specific taxonomic filtering and sequence-based clustering of unclassified reads. By streamlining trace-to-taxon workflows, MycorrhizaTracer reduces the burden of manual curation, supports reproducibility and enables efficient recovery of biodiversity data from Sanger sequences, particularly in field-based or resource-limited research contexts. MycorrhizaTracer is available through an open GitHub repository under an MIT licence as an open-source reproducible piece of bioinformatic software.

We demonstrate the use and effectiveness of MycorrhizaTracer with a sample set of environmental sequencing data to illustrate how the pipeline preforms when applied to real-world data. These data are composed of over 2,000 samples sequenced in both directions at three target regions and include both high and low quality chromatograms chosen to represent the variation that may be seen in practice.

Keywords

Chromatograms, Fungal Taxa, Mycorrhizas, Roots, Sanger DNA sequencing, Species identification

Introduction

In ecological sampling and biodiversity research, Sanger sequencing continues to serve as a dependable and accessible tool for species identification (e.g. Barber et al. (2026)). Its proven accuracy, straightforward protocols and moderate costs support its widespread use in DNA barcoding and targeted marker studies (Hyde et al. 2024). While high-throughput sequencing now dominates large-scale molecular ecology, the enduring relevance of Sanger sequencing reflects its strength in applications that require precise, individual-level sequence data.

Sanger sequencing remains a widely applied methodology for high-accuracy sequencing of single-nucleotide variants and for environmental surveys, especially when newer high-throughput sequencing (HTS) technologies are either inaccessible or not feasible to utilise, given the study design. For example, in cases with focused identification or detection of target individual taxa (van der Linde et al. 2018, Cale et al. 2021) or where project scope, accessibility to other technologies and/or budget limit the need for deeper sequencing, Sanger sequencing offers an affordable, long-read, fast-turnaround and accessible alternative to HTS. In particular, ecological, conservation and taxonomic research can still rely on Sanger-generated DNA barcodes to build or expand curated reference databases (Abarenkov et al. 2023, Ratnasingham et al. 2024), document species occurrences (Seena et al. 2010, Sting et al. 2019, Cantonwine et al. 2022) and train new scientists (Horn et al. 2020). Many widely used species-identification databases, such as UNITE for fungi (Abarenkov et al. 2023), were built from Sanger sequences ~ 600–1,000 base pairs (bp) in length. This makes them a poor fit for long-read sequences of 2,500 bp or more (e.g. from PacBio), where regions extending beyond the reference provide no additional information for identification (though they may be useful for phylogenetic reconstruction). Conversely, most high-throughput sequencing relies on Illumina technology, which produces reads of at most ~ 550 bp (paired-end 300 bp with a 50 bp overlap). This constraint has made the shorter ITS2 (Internal Transcribed Spacer) fragment (100-400 bp in fungi; Schoch et al. (2012)) a common target for Illumina-based studies (Schoch et al. 2012, Olds et al. 2023, Winand et al. 2025). However, the UNITE database generally includes the complete ITS region (ITS1, 5.8S and ITS2), which can be up to ~ 1,200 bp in some fungi (Heeger et al. 2019) and which Sanger sequencing can typically capture in its entirety. Thus, for species identification against databases such as UNITE, Sanger read lengths are ideally matched, providing higher taxonomic resolution than is typically possible with Illumina, while also avoiding the pitfall of long-read technology where numerous bases are sequenced that fall outside the range of the current databases (although new long-read based databases, such as Eukaryome (Tedersoo et al. 2024), are beginning to address this).

To aid studies that utilise Sanger sequencing for large numbers of samples, we present MycorrhizaTracer (from mycorrhiza identification of chromatogram trace files), a bioinformatic pipeline specifically designed for the high-throughput processing and classification of Sanger sequencing chromatograms optimised for plant and fungal identification. MycorrhizaTracer supports scalable, automated handling of chromatogram trace files, quality filtering, alignment, consensus calling, taxonomic assignment, clustering and functional annotation (when possible) of each fungal sample using FUNGuild (Nguyen et al. 2016). This pipeline facilitates the integration of Sanger-derived data into advanced biodiversity, ecology and functional analyses. By providing a standardised and reproducible framework, our approach enables researchers to unlock the full value of existing and newly-generated Sanger DNA datasets.

In this manuscript, we demonstrate the utility of MycorrhizaTracer using a case study of thousands of DNA sequence chromatograms obtained from individual ectomycorrhizas from diverse taxa collected from soil samples across England. We demonstrate that, rather than being superseded entirely, Sanger sequencing and HTS should be viewed as complementary tools in the molecular ecology toolkit.

Project description

Title: 

MycorrhizaTracer

Study area description: 

MycorrhizaTracer is a bioinformatic pipeline to automate the processing, quality control and taxonomic classification of large amounts of Sanger sequence data, optimised for fungal and plant DNA barcode sequences from the ITS region of the nuclear ribosomal genes and/or the rbcL gene. This pipeline is structured in five main steps following pre-pipeline preparations: (1) consensus calling; (2) classification; (3) clustering; (4) salvaging and (5) functional annotation (Fig. 1). Version 2.3.1 is highlighted here and all defaults and parameters mentioned here are accurate to that version, but MycorrhizaTracer is, as of publication, a living codebase undergoing active development and strict version control and, as such, the specific parameters, default values and outputs are subject to change. For the current iteration, use, parameter default values etc., please see the GitHub repository and README pages available there.

Figure 1.  

Pipeline step diagram. Each major component can be fine-tuned with command line options. RAW SEQUENCING FILES (chromatograms) are used for CONSENSUS BUILDING where they are filtered, aligned and converted into a consensus, based on either one of or both forward and reverse sequencing reads. Failure to generate a consensus results in discarding the sample, as the sequence quality is too low. Consensus sequences are then passed to the CLASSIFICATION module where they are BLASTed against the specified database and the BLAST hits are filtered to assign the sample a taxonomic identity. All samples that did not achieve a species-level taxonomic classification undergo a series of QUALITY CHECKS for length, sequence quality and (if the target region includes ITS) the presence of the motifs flanking the ITS region. Samples passing these strict quality checks are sent for CLUSTERING into Operational Taxonomic Units (OTUs). Samples failing the quality checks are directed to SALVAGING where they are BLASTed against a custom database that includes both the reference sequences linked to the samples with species-level assignments and the cluster centroids of the OTUs. All fungal samples that either: (1) have a species-level classification; (2) were clustered into OTUs or (3) were successfully salvaged, can optionally undergo FUNCTIONAL ANNOTATION with FUNGuild (Nguyen et al. 2016).

Design description: 

Pre-pipeline

The pipeline by default expects that each sample has been sequenced in the forward and reverse directions for some or all of the following genomic regions: full ITS (fungi), ITS2 (plants) and rbcL (plants). We have tested specific primer combinations and databases (Table 1), but the pipeline can be adapted to any taxa and genomic region by using an appropriate database (i.e. specific to that DNA region/marker) and PCR primers that target the correct genomic region in the correct taxa. For further details on how to adapt the pipeline to other taxa, please see the README on the GitHub repository which has specific instructions.

Table 1.

Primer pairs and suggested databases.

Genome Target

Taxa

Primer Name

Sequence

Primer Citation

Databases

ITS

Fungi

ITS1F

CTTGGTCATTTAGAGGAAGTAA

Gardes and Bruns (1993)

Abarenkov et al. (2023): UNITE

ITS4

TCCTCCGCTTATTGATATGC

White et al. (1990)

ITS2

Plants

ITS2F

ATGCGATACTTGGTGTGAAT

Chen et al. (2010)

Abarenkov et al. (2023): UNITE-ALL

Jones et al. (2021): ITS2

ITS3R

GACGCTTCTCCAGACTACAAT

Chen et al. (2010)

rbcL

Plants

rbcLa-F

ATGTCACCACAAACAGAGACTAAAGC

Levin et al. (2003)

Bell et al. (2017)

Jones et al. (2021): rbcL

rbcLr590

AGTCCACCGCGTAGACATTCAT

Kress et al. (2009)

Consensus calling

Forward and reverse chromatograms are loaded and quality trimmed using PHRED quality scores (Ewing and Green 1998, Ewing et al. 1998) and chromatogram peak heights. A sliding window approach is used to remove low-quality regions. High-quality reads are aligned using Biopython’s PairwiseAligner() to produce consensus sequences. If only one read passes quality filters, that alone is used; if none of them passes the quality filters, then the sample is discarded. This supports high confidence in downstream classification. There may be times when either chromatograms are not available or when a researcher may want to manually call a consensus sequence; for these instances, the pipeline can accept as input user-defined consensus sequences in fastq format that will be used instead of the chromatogram-derived consensuses. This is implemented on a sample-by-sample basis so the pipeline can accept a mix of chromatograms and user-defined consensuses if needed.

Classification

Consensus or individual reads are classified taxonomically using BLASTn (Altschul et al. 1990). BLAST hits are filtered based on length, percent identity and coverage thresholds. A taxonomic group is assigned by finding agreement across top hits within a differential of 0.5% (by default) of the highest percentage identity. The output taxonomic rank is truncated at the last common level shared by all top hits and further constrained by minimum percentage identity cutoffs (e.g. 97% for species-level). Plant and fungal ITS sequences classified with the UNITE database (Abarenkov et al. 2023) are assigned an SH number. When databases other than UNITE are used, species-level assignments are reported as genus–species binomials. Fungal samples that do not achieve the 97% similarity species-level classification or which have not been assigned a species-level taxonomy are passed to the clustering phase for further resolution. Thus, all samples fall into one of two groups: those assigned to the species level by BLAST and those clustered into OTUs. These two types of samples are clearly demarcated in the output (the former with a genus-species binomial and the latter with a "denovo_X" designation) and can be analysed together or separately as the end user sees fit.

Clustering

Samples passed to the clustering workflow are quality-filtered and then processed through ITSx (Bengtsson-Palme et al. 2013) to retain only those with full ITS regions. These are then clustered into operational taxonomic units (OTUs) using vsearch (Rognes et al. 2016) at a default identity threshold of 97%. Each cluster is assigned a name in the format "denovo_X", representing a sequence cluster not present in the reference database. Together, these de novo clusters and the database-verified species assignments constitute the final profile of taxonomic units for each project.

Salvaging

The salvaging workflow attempts to recover sequences that failed initial classification or clustering due to sequencing errors and low sequence quality. This is achieved by ‘blasting’ the as-yet unclassified samples against the reference sequences that have already been positively identified in the study and tolerating low percentage identity of matches (assuming many sequencing errors occur in these samples). In order to help prevent artificially inflated diversity estimates, the user can define “salvage groups” that restrict the possible classifications that could be assigned to one of those already present amongst samples within the same group (often a soil core, sampling locality or geographic area). This minimises misclassification due to low-quality data and prevents inflation of local diversity estimates.

Functional Annotation

Fungal sequences with taxonomic assignments at specific taxonomic levels, such as species or genus, can be functionally annotated using FUNGuild (Nguyen et al. 2016). This optional step provides ecological context, such as trophic mode or lifestyle, aiding downstream biodiversity analysis.

Output

The primary output is a classification table detailing consensus results, taxonomic assignments, clusters and functional annotations. A log file summarises metrics describing how many samples were successfully classified, clustered, salvaged and functionally annotated. The output package also includes FASTA/FASTQ files, BLAST results, clustering output and FUNGuild results (for fungi) for transparency and manual validation.

Web location (URIs)

Technical specification

Programming language: 
Python3.11
Operational system: 
Linux/Unix

Repository

Type: 
GitHub

Usage licence

Usage licence: 
Other
IP rights notes: 

MIT licence

Implementation

Implements specification

MycorrhizaTracer is implemented as an executable Python script (“Classify_Sanger_OTUs.py”) with a command-line interface. The pipeline is distributed with a conda environment containing all necessary packages and executables, with the one exception of FUNGuild (Nguyen et al. 2016), ensuring reproducible setup and deployment. Each major component of the workflow - input/output handling, consensus generation, taxonomic classification, clustering, salvaging and functional annotation (Fig. 1) is configurable via command-line arguments, allowing the user to fine-tune pipeline behaviour to suit specific datasets or experimental goals. The up-to-date default values of all parameters can be accessed by using the --help (or -h) flag when calling the programme.

Metadata and databases

A metadata file is required to specify the location of the chromatogram files and define salvaging groups. These groups are used during the optional salvaging step to limit taxonomic inference from low-quality sequences to predefined ecological or geographic contexts. The expected metadata format is described in Table 2.

Table 2.

Metadata file column descriptions.

Column Name

Notes

Sample_ID

A unique sample identifier.

salvageGroup

A grouping factor such that samples in need of salvaging are restricted to taxa that already exist in the dataset. Keeps samples with poor sequencing quality from adding diversity to sites.

directory

The directory in which that the raw reads are stored.

The full filepath for the sequencing file will be specified as:

<--prefix>/<directory>/<XXX_For_file>

Both --prefix and directory can be empty if the entire filepath is stored in <XXX_For_file>.

ITS_For_file

The forward ab1 file for the fungal full ITS region.

ITS_Rev_file

The reverse ab1 file for the fungal full ITS region.

ITS2_For_file

The forward ab1 file for the plant ITS2 region.

ITS2_Rev_file

The reverse ab1 file for the plant ITS2 region.

rbcL_For_file

The forward ab1 file for the plant rbcL region.

rbcL_Rev_file

The reverse ab1 file for the plant rbcL region.

While any .fasta file with sequences which are targeted by the primers chosen will work as a reference database, the header lines of each sequence have a specific required format. The databases for fungal ITS (--ITS_db), plant ITS2 (--ITS2_db) and plant rbcL (--RBCL_db) must have headers formatted as found in the UNITE general release .fasta (Abarenkov et al. 2023), though some of the fields are never used in the pipeline here: “Genus_species|{unused_field}|{SH_number_or_similar}|{unused_field}|k__kingdom;p__phylum;c__class;o__order;f__family;g__Genus;s__Genus_species”.

Consensus generation

The pipeline begins by loading forward and reverse chromatograms and applying quality trimming. Trimming is based on two metrics: PHRED quality scores and chromatogram peak height. These are evaluated using a sliding window approach, with user-definable parameters, such as --qual (minimum PHRED score), --window_size (window length) and --stddev_cutoff (chromatogram peak height threshold, in standard deviations below the mean). The window is moved base by base across the sequence ends, trimming low-quality regions until both metrics are satisfied. The peak height trimming is implemented specifically to deal with chromatograms that do not include quality scores and (when left at default) has minimal impact on chromatograms with PHRED scores.

After trimming, reads are assessed against a minimum length requirement, set via the --min_read_length flag. If both forward and reverse reads exceed this threshold, they are aligned using a local pairwise aligner from Biopython's Bio.Align module. A consensus sequence is then generated: matching bases are retained with the higher quality score, while mismatches are replaced with an “N”. If only one read passes filtering, it is used directly as the representative sequence for the sample and will, hereafter, be referred to as a “consensus” for simplicity and, to avoid confusion, the number of raw sequences that underlie each samples' "consensus" is reported in the output of the pipeline. Samples with no passing reads are omitted from downstream analyses.

Taxonomic classification

Taxonomic classification is performed using BLASTn (Camacho et al. 2009), with the consensus sequence or high-quality individual reads queried against a user-specified database. To refine the classification to regionally relevant taxa, the user may optionally supply species lists (via --species_list_ITS, --species_list_ITS2 or --species_list_rbcL). These lists must contain genus and species columns and only database entries with exact matches are retained during classification.

BLAST hits are initially filtered by alignment length (--minMatchLength, default 50 bp) and coverage thresholds for both query and subject sequences (--minQCOV and --minSCOV). A match passes if either coverage exceeds 0.95 or both exceed the defined thresholds. Additional filtering steps are available: the --no_Incertae_Sedis flag removes BLAST hits with ambiguous taxonomy from consideration (unless every hit is thus removed, in which case, the original list of hits is used), while --adjustPidents adjusts identity scores to refine the percentage identity of partial alignments.

The highest percentage identity from the remaining hits is saved and any hits within a user-defined identity differential (--pidentDiff, default 0.5%) of this top percentage identity are selected as candidate matches. These are compared taxonomically from kingdom to species. Where disagreement is found, the taxonomic ranking is truncated to the last level at which all hits agree. Final classification is further constrained by a series of minimum identity cutoffs for each rank (e.g. --min_pident_species, default 97.0). The final classification is stored for each sample and the top BLAST hit’s full taxonomy is also recorded separately for users requiring higher resolution who can tolerate lower accuracy, though this should be interpreted with caution.

Plant and fungal sequences that receive a species-level match against the UNITE database are assigned a UNITE SH number. For plant sequences classified using the rbcL region, a genus-species label is used instead. Fungal samples failing to achieve species-level resolution are passed to the clustering phase.

Clustering

Sequences not classified to the species level at the designated cut off (the default of 97.0 was used in this case study) enter the clustering workflow. These are subjected to stringent quality and length filtering using thresholds set by --minSeqLengthForCluster (default 300 bp) and --minAverageQualityForCluster (default PHRED 20). High-quality reads are then processed with ITSx to extract the ITS region (ITS1, 5.8S, ITS2); sequences lacking a full ITS region are saved for later (optional) salvaging.

Valid sequences are clustered using VSEARCH --cluster_fast with an identity threshold defined by --percentIdentityForCluster (default 97.0). The resulting OTUs are given names of the form denovo_X, representing species not found in the original reference database. These clusters are best understood as study-specific sequences that are not assigned to a named taxa in the reference database (which could occur for a variety of reasons including database incompleteness, unresolved taxonomy, sequence variation and/or sequencing error) and may be analysed alongside UNITE’s SH numbers for diversity analyses.

Salvaging

The optional salvaging workflow, triggered via the --salvage flag, attempts to recover information from sequences excluded during consensus or clustering. These sequences are aligned against a custom BLAST database composed of SH reference sequences and cluster centroids identified earlier in the pipeline. Each salvaged sample is assigned the taxonomy of its best hit by bitscore, provided that a sample from the same salvage group has already been assigned that taxonomy. This requirement is intended to prevent poor-quality reads from introducing artificial taxa to the dataset and helps maintain local consistency in diversity metrics.

Functional annotation

The final step, enabled with --run_funguild, performs functional annotation of fungal taxa using FUNGuild (Nguyen et al. 2016). This tool assigns trophic mode, lifestyle and ecological function, based on fungal taxonomic assignments. The parsed guild assignments and confidence scores are summarised in the output, with the full FUNGuild report also included for reference.

Benchmarking bespoke algorithms

MycorrhizaTracer uses established programmes to do many tasks (BLAST, VSEARCH, FUNGuild) and also incorporates bespoke implementations for other tasks (quality trimming, alignment and consensus generation, BLAST-ouput parsing and salvaging). The algorithms that were written specifically for the pipeline are benchmarked and validated using a dataset of 144 chromatograms obtained from 72 morphologically identified fungal fruiting bodies. These analyses can be found in Suppl. material 1 and the ground-truthed data used can be found in Suppl. material 2.

Additional information

Overview of sample dataset

The dataset used for development and testing of this pipeline contains 2,357 individual ectomycorrhizas collected from 63 soil plots across England, for fungal and plant identification following previously published methods (Suz et al. 2014, van der Linde et al. 2018). Soil samples were collected through Defra's Natural Capital and Ecosystem Assessment (NCEA) programme. The PCR amplification used the fungal specific primer ITS1F (Gardes and Bruns 1993), the eukaryotic primer ITS4 (White et al. 1990) and two sets of primers for plants: ITS2F and ITS3R (Chen et al. 2010) targeting ITS2 and rbcLa-F (Levin et al. 2003) and rbcLa590 (Kress et al. 2009) which targets rbcL. The PCR products were visualised on an agarose gel and submitted for bidirectional Sanger sequencing to Azenta UK Ltd (GENEWIZ Sanger Sequencing Laboratory, Takeley, United Kingdom). The resulting 14,134 (a few samples were not sequenced at one of the redundant plant targets) chromatograms contain a range of sequence lengths and qualities as may be expected from environmental samples (Fig. 2). We have included poor-quality sequences here to showcase the pipeline's ability to find and appropriately handle such occurrences. The anonymised data, two metadata sheets and the commands to recreate the data below are provided in the supplement: one with site-specific salvage groups (63 groups) and one with country-specific salvage groups (one group). For the statistics reported below, version 2.3.1 was run twice, once with each metadata sheet using the flags --metadata, --prefix, --dirDepth, --salvage, --run_funguild and --sequence_stats. The databases used, defined with --ITS_db, --ITS2_db and --RBCL_db, are those referenced above.

Figure 2.  

Post-filtering sequence statistics for test samples (full ITS for fungi, ITS2 and rbcL for plants). These samples span a range of qualities and lengths and include many of the variants that may appear in chromatograms, such as high quality suddenly dropping due to an indel in the sample and samples whose sequencing failed.

The sample dataset and exact parameters used are available in Suppl. material 3.

Consensus generation efficiency

Of the 2,357 samples sequenced at the three target regions, consensus sequences were successfully generated for 88% of targets on average (86% for fungal full ITS, 94% for plant ITS2 and 83% for rbcL). The majority (85%) of successful consensus sequences were constructed from both forward and reverse DNA sequences, while the remaining 15% were based on a single sequence (either forward or reverse). These numbers are primarily dependent on the sample and sequencing quality and successful consensus building is unsurprisingly far more likely with high-quality sequences (Table 3).

Table 3.

Consensus generation statistics.

Target

Consensus from an alignment of Forward and Reverse reads

Consensus from either the Forward or Reverse read; whichever has higher quality

Consensus failed: both Forward and Reverse reads have low quality

ITS

1,572 (66.8%)

413 (17.6%)

368 (15.6%)

ITS2

1,756 (74.6%)

453 (19.3%)

144 (6.1%)

rbcL

1,660 (70.5%)

292 (12.4%)

401 (17.0%)

Taxonomic classification results

To be classified, a sample had to exceed the user-defined match length (default = 50 bp) and coverage thresholds (default of 0.3 for scov and qcov), meet or exceed the user-specified percentage identity threshold (default = 97% for species and 94% for genus), and show taxonomic consensus among all BLAST hits within a percetage identity differential (default = 0.5%) of the top match. For each target region, ca. 17% of samples (19.6% ITS, 15.4% ITS2, 17.7% rbcL) were not classified to any taxonomic rank due to poor sequencing quality. Of those that had some classification with the initial BLAST, 62% (fungal ITS), 54% (plant ITS2) and 47% (plant rbcL) achieved classification to the species level and 79% (ITS), 65% (ITS2) and 73% (rbcL) were classified at the genus level (Fig. 3). These taxonomic classifications are strongly dependent on the database completeness (i.e. the proportion of the species present in the study which have suitable reference sequences in the database).

Figure 3.  

Taxonomic classification success. (A) Fungal ITS with UNITE (Abarenkov et al. 2023); (B) plant ITS2 with BOLD (Jones et al. 2021); (C) rbcL with BOLD (Jones et al. 2021). The max. possible for each bar in the plot is based on the number of successful consensus sequences: 1,985 for ITS, 2,209 for ITS2 and 1,952 for rbcL. Default percentage identity thresholds were used: Kingdom: > 80%, Phylum: > 80%, Class: > 80%, Order: > 85%, Family: > 90%, Genus: > 94%, Species: > 97%.

Operational Taxonomic Units

Operational taxonomic units were defined as the combination of: (1) the species names of samples with species-level classifications (or SH numbers) and (2) the cluster centroids. For fungi, OTUs are a combination of species-level classifications from the BLASTn (i.e. SH numbers) and the results of clustering the remaining high-quality sequences at 97% identity. The clustering step always occurs for fungal ITS, as many fungal species are yet undescribed and do not appear in the databases, but it is optional for plants and left to the users’ discretion to include or not. The pipeline identified 677 fungal OTUs (samples = 1,796, mean size = 2.6, max. size = 117, singletons = 467), 19 plant OTUs, based on ITS2 (samples = 1,077, mean size = 56.7, max. size = 753, singletons = 8) and 15 plant OTUs based on rbcL (samples = 919, mean size = 61.2, max. size = 637, singletons = 5).

Salvaging performance

Our salvaging workflow attempts to rescue low-quality sequences by using a BLASTn search against existing OTUs with a lenient use of the highest bitscore to decide the best hit and then a stringent filter for whether another sample in the same salvage group has already been assigned to that OTU. The highest bitscore is used to allow tolerance for poor-quality sequences that may contain sequencing errors or ambiguities. The strict already-present filter is then used to keep low-quality sequences from increasing the alpha diversity of the site; low-quality sequences should not be the only instance of an OTU at a site. The number of successful salvages is, thus, mainly constrained by two factors: (1) the sequence quality impacting BLAST’s ability to identify a potential hit and (2) the size of the dataset at each site (i.e. the number and size of salvaging groups specified in the metadata). Having a finer-scale grouping structure (i.e. using study sites as groups) may result in fewer successful salvages than a coarser-scale grouping structure (i.e. using countries as groups). When using individual sites for salvage groups (n = 63 sites), 58 of the attempted 257 fungal samples were salvaged, whereas when using the country as a group (n = 1 country; all sites are in the UK), then 122 of 257 samples were successfully salvaged. The decision how fine to set the salvage grouping is an important consideration for those using the pipeline, as it will influence the balance between treating rare (or singleton) sequences as novel taxa or discarding them as low-quality sequencing attempts. Indeed, low-frequency and singleton sequences in any ecological dataset are always worth special consideration, as they are likely to be enriched for sequencing errors, but rare and undescribed species (particularly for microbes) exist and removing all singletons may result in underestimated diversity. In our study dataset, each sample is an individual ectomycorrhiza whose morphology was confirmed by microscopy, so high-quality singletons assigned as ectomycorrhizal fungi are not removed from the results.

Comparison with other existing pipelines

Sanger sequencing has been used for decades and pipelines are designed with a focus on Sanger data. Table 4 presents a comparison between MycorrhizaTracer and other pipelines with similar functionality. Most similar is SangerFlow (Prodhan et al. 2025), a nextflow-based programme designed and optimised for high-throughput pest and pathogen screening which differs from MycorrhizaTracer in that it takes in FASTA files (necessitating chromatogram processing elsewhere), does not cluster the samples and does no functional annotation of fungal samples. Another similar to MycorrhizaTracer is SCATA (Durling et al. 2011), which is also optimised for fungal ITS barcoding. SCATA is only available as a web-interface and so may be more accessible in the absence of bioinformatic expertise, but it does not accept chromatograms necessitating the major bioinformatic hurdle of sequence editing and consensus building. Neither does SCATA interface with FUNGuild for functional annotation. PipeBar (Oliveira et al. 2018) and SangerAnalyzeR (Chao et al. 2021) are both designed for processing Sanger chromatograms at scale, but both stop at the consensus generation stage and, thus, classification and clustering are left to the user. Another alternative is Geneious (www.geneious.com) which has much of the same functionality (large-batch chromatogram processing, consensus generation, sequence classification with BLAST or similar, but not native clustering nor functional annotation), but is expensive and requires the user to build the pipeline steps themselves. To our knowledge, MycorrhizaTracer is the only pipeline that takes raw chromatograms through to the functional annotation (of fungal taxonomic assignments) stage. In summary, these tools fill distinct niche roles across the Sanger processing workflow rather than serving as direct functional equivalents.

Table 4.

Similar programmes developed to process Sanger DNA sequences.

Pipeline

GUI or CLI

Language

Input filetype

Consensus Generation

Classification

Clustering

Functional Annotation

Optimised use-case

Citation

MycorrhizaTracer

CLI

Python

chromatogram or fastq

Yes

BLASTn

Yes

Yes

fungal and plant ITS and rbcL barcoding

this paper

SangerFlow

CLI

Nextflow

fasta

Yes

BLASTn

No

No

pathogen and pest barcoding

Prodhan et al. 2025

SCATA

GUI

n/a

fastq

Yes

BLASTn

Yes

No

fungal ITS barcoding

Durling et al. 2011

PipeBAR

CLI

Python

chromatogram

Yes

No

No

No

Generate consensus sequences from chromatograms

Oliveira et al. 2018

SangerAnalyzeR

Both

R

chromatogram

Yes

No

No

No

Generate consensus sequences from chromatograms

Chao et al. 2021

Limitations and considerations

Despite its strengths, MycorrhizaTracer has some limitations that warrant consideration.

Notably, many of the failures to assemble a consensus or achieve species-level classification stem from poor-quality input sequences. This underscores the importance of generating high-quality chromatograms at the sequencing stage, as downstream performance is tightly coupled to input data quality. Occasionally, using a different base-caller may improve sequence quality and could be considered in the case of low-quality sequences, but is not implemented in the current version of the pipeline.

Clustering to identify OTUs is implemented with a tunable input parameter, but only one threshold may be chosen which is applied to all taxa. It is well established that different fungal taxa diversify at different rates and so the default of 97% may not be applicable to all taxa (Nilsson et al. 2008). Cases where taxon-specific thresholds are important may require running the pipeline multiple times using different clustering values.

Taxonomic classification accuracy remains limited by the breadth and curation of underlying reference databases. Unknown or misannotated taxa can lead to ambiguous or incorrect matches (for examples, see Suppl. materials 1, 2).

The pipeline’s command-line interface, while flexible, may be less accessible to users without prior bioinformatics experience. While many parameters have default values, these are provided only for convenience and not as an endorsement that any specific default value is 'correct' for any given dataset. The reason the command-line parameters exist is so that the pipeline can be fine-tuned to accommodate the large amount of variation in real-world datasets. We encourage users to think critically about what value for each parameter is best suited for each specific use-case.

The salvage workflow, though designed to prevent overinflated diversity estimates, also depends on the completeness and correctness of sample metadata for salvage grouping and may affect relative abundance, occupancy and community structure estimates if used incautiously.

Finally, functional annotation is limited to fungal taxa interpretable by FUNGuild and confidence in guild assignment can vary widely depending on taxonomic resolution and coverage.

Critical thinking, expert opinion, visual inspection of the samples, a thorough understanding of the literature and a detailed understanding of the focal ecology are all important additions to this and any pipeline.

Implications and future directions

MycorrhizaTracer is an efficient and scalable tool for processing and classifying large numbers of DNA chromatograms. It delivers an end-to-end automated workflow, taking raw chromatograms through to functionally annotated classified taxa, while reducing the need for manual inspection of trace files. This allows for consistent, unbiased processing across large datasets. All critical thresholds (quality, coverage, identity cutoffs, taxonomic filters) are exposed as command-line arguments, allowing users to tune the pipeline for different barcoding regions, target taxa and sample quality levels without modifying the code. The optional inclusion of user-supplied species lists for regional taxa ensures that classification results are ecologically plausible and aligned with expert expectations, though such lists should be used with caution as they can inadvertently exclude unexpected, introduced, poorly documented or species whose ranges are expanding. This is particularly useful for localised biodiversity assessments. The inclusion of FUNGuild (Nguyen et al. 2016) allows ecological interpretation of the taxonomic output for fungi. This helps bridge taxonomy and function, streamlining downstream ecological analyses when sequences can be assigned taxonomy at least at genus level. The pipeline generates detailed output files, including intermediate FASTA/FASTQ, raw BLAST results, clustering summaries and full FUNGuild outputs. This transparency supports reproducibility and provides users with checkpoints for quality assurance or custom downstream workflows. In benchmark tests, 2,357 samples (14,134 chromatograms) were processed through the core programme with optional clustering and salvaging in under 20 minutes on a consumer-grade laptop (MacBook Air, Apple M3, 16 GB RAM) utilising six CPU cores, demonstrating high efficiency compared to processing chromatograms by hand, even without access to a high-performance computer.

Acknowledgements

This manuscript is led by The Mycorrhiza Lab at RBG Kew and funded by the UK Government through Defra’s Natural Capital and Ecosystem Assessment programme. We would like to thank the lab team who processed the samples that we used for a test-data set, including R. Jarvis, O. Lindsay, G. Meadows, M. Rickards, E. Serpell and B. Underwood. We would also like to thank Eric Janke for supplying chromatograms for the validation dataset.

The Natural Capital and Ecosystem Assessment (NCEA) programme is Defra’s largest Research and Development (R&D) programme and the most ambitious assessment of the state of nature ever undertaken in the UK. NCEA is assessing England's land, freshwater and coastal ecosystems to produce a baseline of our natural assets by 2029, enabling a natural capital approach to policy and investment.

We also thank the Nature Returns programme (funded by HM Treasury's Shared Outcomes Fund), whose ectomycorrhizal data from Wakehurst were used to test and refine the pipeline.

Author contributions

T.D.B. developed the code and wrote the manuscript. T.W., R.B., I.T. and R.Go. beta-tested, error-checked and troubleshot the code. R.Ga., G.D. and L.M.S. contributed to planning the codes’ organisational structure and development strategy. C.A., J.K., M.B. and L.M.S. provided subject-matter expertise and valuable input on the codes’ structure and function.

References

Supplementary materials

Suppl. material 1: Benchmarking Analysis  
Authors:  Thomas D. Brekke, Thomas Weeks, Robert A. Barber, Isabelle Thomson, Rose Gooda, Roberta Gargiulo, Guillaume Delhaye, Carrie Andrew, Jill Kowal, Martin I. Bidartondo, Laura M. Suz
Data type:  Analysis of known samples to benchmark the pipeline
Brief description: 

Analysis using known samples (chromatograms obtained from morphologically identified fungal fruit-bodies) to validate the trimming, alignment, consensus calling, BLAST-parsing and salvaging algorithms

Suppl. material 2: Benchmarking dataset 
Authors:  Thomas D. Brekke, Thomas Weeks, Robert A. Barber, Isabelle Thomson, Rose Gooda, Roberta Gargiulo, Guillaume Delhaye, Carrie Andrew, Jill Kowal, Martin I. Bidartondo, Laura M. Suz
Data type:  ab1 chromatograms, csv metadata, excel spreadsheet
Brief description: 

benchmark_data.zip is the dataset used to benchmark the pipeline as described in Supplement 1. It includes the ab1 files and metadata that were used and a spreadsheet comparing the output of the pipeline with the known sample taxonomies.

Suppl. material 3: Pipeline demonstration data 
Authors:  Thomas D. Brekke, Thomas Weeks, Robert A. Barber, Isabelle Thomson, Rose Gooda, Roberta Gargiulo, Guillaume Delhaye, Carrie Andrew, Jill Kowal, Martin I. Bidartondo, Laura M. Suz
Data type:  ab1 chromatograms and csv metadata sheets
Brief description: 

test_data.zip is the dataset used to demonstrate the pipeline presented in the manuscript. It contains a README describing how to recreate the analysis presented, the ab1 files and two versions of the metadata (using one or many salvage groups). It can be found at Zenodo using the doi: 10.5281/zenodo.19707646

login to comment