The dada2 package infers exact amplicon sequence variants (ASVs) from high-throughput amplicon sequencing data, replacing the coarser and less accurate OTU clustering approach. The dada2 pipeline takes as input demultiplexed fastq files, an
Start a fresh conversation. Replace the highlighted placeholders.
Use bioconductor-dada2 to infer ASVs from [demultiplexed FASTQ files], after primers have been removed; provide quality-informed filtering and trimming settings, error learning, merging where applicable, and chimera removal.
Required inputs
[demultiplexed FASTQ files]
User-approved starter prompt based on a pinned source version; check current skill requirements before running. Task evidence ↗
SKILL.md
name: bioconductor-dada2description: The dada2 package infers exact amplicon sequence variants (ASVs) from high-throughput amplicon sequencing data, replacing the coarser and less accurate OTU clustering approach. The dada2 pipeline takes as input demultiplexed fastq files, anwhen_to_use: "Use when: Resolving exact Amplicon Sequence Variants (ASVs) from high-throughput amplicon sequencing data using the dada algorithm.; Filtering and trimming raw paired-end or single-end FASTQ files using filterAndTrim.; Modeling and learning sequencing error rates directly from the data using learnErrors.; Removing chimeric sequences from merged sequence tables using removeBimeraDenovo.. Not for: For shotgun metagenomic sequencing data (use MetaPhlAn or HUMAnN instead).; For clustering sequences based on a fixed 97% identity threshold (use vsearch or UCLUST instead).; For downstream ecological statistics and visualization of ASV tables (use p"user-invocable: false
dada2
Dependencies & Environment
Package-intrinsic requirements from the Bioconductor landing page — reproduce in any R environment.
Resolving exact Amplicon Sequence Variants (ASVs) from high-throughput amplicon sequencing data using the dada algorithm.
Filtering and trimming raw paired-end or single-end FASTQ files using filterAndTrim.
Modeling and learning sequencing error rates directly from the data using learnErrors.
Removing chimeric sequences from merged sequence tables using removeBimeraDenovo.
When NOT to Use
For shotgun metagenomic sequencing data (use MetaPhlAn or HUMAnN instead).
For clustering sequences based on a fixed 97% identity threshold (use vsearch or UCLUST instead).
For downstream ecological statistics and visualization of ASV tables (use phyloseq instead).
Data Requirements
Input Format: Demultiplexed FASTQ files (unzipped or gzipped). One file per sample for single-end, or two files per sample for paired-end.
Quality Scores: Raw reads must contain quality scores.
Primers: Sequences must have non-biological bases (like PCR primers) removed prior to ASV inference.
Key Parameters
truncLen: Truncate reads after this many bases. Reads shorter than this are discarded. Crucial for removing low-quality tails.
maxEE: After truncation, reads with higher than this number of expected errors are discarded (e.g., maxEE=2).
trimLeft: The number of nucleotides to remove from the start of each read (useful for removing primers).
maxN: Maximum number of ambiguous nucleotides allowed. DADA2 requires maxN=0.
multithread: If TRUE, enables parallel processing to speed up computation.
err: The error model generated by learnErrors, passed into the dada function.
Best Practices
Inspect the quality profiles of forward and reverse reads using plotQualityProfile before setting truncLen parameters.
Learn error rates using learnErrors on at least a subset of your data to ensure accurate sample inference.
Maintain a suitable overlap (>20nts) between forward and reverse reads after trimming to ensure mergePairs succeeds.
Perform chimera removal using removeBimeraDenovo on the combined sequence table created by makeSequenceTable.
Common Pitfalls
Failing to merge paired reads: Truncating reverse reads too aggressively can prevent them from overlapping with forward reads, causing mergePairs to fail. Fix this by ensuring truncLen leaves enough sequence for a >20nt overlap.
Leaving primers in the sequences: Non-biological nucleotides distort the error model. Fix this by using trimLeft in filterAndTrim or an external tool to remove primers.
Reads dropped due to Ns: DADA2 cannot process sequences with ambiguous bases. Fix this by ensuring maxN=0 is set in filterAndTrim.
Alternatives
phyloseq: Used for downstream analysis, visualization, and integration of the ASV tables produced by DADA2.
vsearch: An alternative for traditional OTU clustering based on sequence identity thresholds.
deblur: An alternative sub-operational taxonomic unit (sOTU) algorithm that uses a static error model.
Citations
Callahan BJ, McMurdie PJ, Rosen MJ, Han AW, Johnson AJ, Holmes SP. (2016). "DADA2: High-resolution sample inference from amplicon data." Nature Methods, 13(7), 581-583.
Callahan BJ, McMurdie PJ, Holmes SP. (2017). "Exact sequence variants should replace operational taxonomic units in marker-gene data analysis." ISME Journal, 11(12), 2639-2643.
This skill is the knowledge layer — when, why, and how to use dada2. To run this analysis on your own data with managed compute, automated QC, and reproducible outputs, use BioMate — free to start.