Chapter 3: Taxonomic Classification & QIIME 2 Architecture
Tested Stacks:
GATK 4.6.1
Samtools 1.21
Nextflow 24.10
Seurat v5.1
Python 3.12
Prerequisites: Basic Linux CLI & Sequencing Formats
📚 Chapter 3 of 13
0% Course Completed
Chapter 3: Taxonomic Classification & QIIME 2 Architecture
Assigning biological taxonomy to ASVs links anonymous DNA sequences to known bacterial phyla, families, and species. QIIME 2 (Quantitative Insights Into Microbial Ecology 2) is the standard microbiome platform, providing decentralized artifact packaging and cryptographic provenance tracking.
QIIME 2 Artifacts: .qza and .qzv
.qza(QIIME Zipped Artifact): Contains data matrices, tree topologies, or sequences along with a cryptographic YAML ledger recording every upstream command, tool version, and parameter used..qzv(QIIME Zipped Visualization): Interactive visual reports viewable on view.qiime2.org without installing software.
1. Assigning Taxonomy with Naive Bayes Classifiers
# Assign taxonomy using pre-trained SILVA 138 Naive Bayes classifier
qiime feature-classifier classify-sklearn \\
--i-classifier silva-138-99-515-806-nb-classifier.qza \\
--i-reads rep-seqs.qza \\
--o-classification taxonomy.qza \\
--p-n-jobs 8
# Generate interactive taxonomic barplot visualization
qiime taxa barplot \\
--i-table table.qza \\
--i-taxonomy taxonomy.qza \\
--m-metadata-file sample-metadata.tsv \\
--o-visualization taxa-bar-plots.qzv2. Major Taxonomic Databases
- SILVA (v138.1): High-quality curated database for small (16S/18S) and large (23S/28S) subunit rRNA across all three biological domains.
- Greengenes2: Phylogeny-first database unifying 16S rRNA sequences with full genome trees from the Genome Taxonomy Database (GTDB).
- UNITE: Curated reference database for fungal nuclear ribosomal Internal Transcribed Spacer (ITS) region.
⚠️
Common Pitfalls & Troubleshooting Checklist
- Java Heap Exhaustion (GATK / Picard): If processes terminate with
java.lang.OutOfMemoryError, set your environment variable explicitly:export _JAVA_OPTIONS="-Xmx16g -Djava.io.tmpdir=/tmp". - Index Timestamp Mismatch: If tools complain that a BAM index is missing or out of date, regenerate with
samtools index -@ 4 sample.bam. - Conda Channel Conflicts: Avoid ABI incompatibilities between bioconda and conda-forge by setting strict priority:
conda config --set channel_priority strict. - Chromosome Naming Contamination: Always verify whether reference FASTA headers use
chr1or1; divergent naming causes silent alignment drops.
Was this guide helpful to your research?
Help us maintain 100% accurate, peer-reviewed bioinformatics standards.