Differential abundance (DA) testing identifies which individual taxa differ between groups on an amplicon ASV/feature table while respecting the compositional, relative nature of the counts. The headline workflow is a CONSENSUS of two or more compositionally-aware tools: which taxa come out "significant" depends more on the DA tool than on the biology (Nearing 2022, across 38 datasets), so a single tool's hit list is not a defensible deliverable. Run at least two of ALDEx2, ANCOM-BC2, MaAsLin2/3, LinDA, or ZicoSeq, report the intersection as high-confidence and the union as exploratory, name every tool, and disclose disagreement. A relative-abundance increase is also not an absolute increase without an external load anchor (spike-in / flow cytometry / qPCR).
This skill owns per-taxon DA on an amplicon table. Whole-community alpha/beta diversity and PERMANOVA live in diversity-analysis; the same DA math on shotgun profiler tables lives in metagenomics/metagenome-visualization; the shared compositional/closure/CLR/zero theory lives in metagenomics/abundance-estimation.
BiocManager::install(c('ALDEx2', 'ANCOMBC', 'Maaslin2'))
install.packages(c('MicrobiomeStat', 'GUniFrac')) # LinDA, ZicoSeq
Conceptual prerequisites: - A feature table of integer COUNTS (ASVs or taxa collapsed to genus/species), plus sample metadata - typically a phyloseq object. ALDEx2, ANCOM-BC2, LinDA, and ZicoSeq expect counts; MaAsLin2 TSS-normalizes internally and expects features in COLUMNS. - Answer the whole-community question first (diversity-analysis): knowing whether the communities differ at all frames the per-taxon hits. - Decide the DA-tool panel (>=2 tools) a priori, before seeing any result, to avoid cherry-picking. - Decide and declare a prevalence filter; it is a modeling knob that reshapes the FDR landscape. - Know whether the design has repeated/paired samples; if so, a random effect is required. - Remove host organelle (Mitochondria/Chloroplast) features and, for low-biomass samples, reagent contaminants upstream (taxonomy-assignment / amplicon-processing) before testing - they otherwise surface as spurious hits or skew the closure.
Tell your AI agent what you want to do: - "Find differentially abundant taxa between treatment and control with two methods and give me the consensus" - "Run ALDEx2 and report effect sizes with BH-adjusted q-values" - "Run ANCOM-BC2 with age and sex as covariates and only keep hits that pass the sensitivity analysis" - "Analyze a longitudinal study with a subject random effect using LinDA or MaAsLin2" - "Filter taxa present in fewer than 10% of samples before testing and check the result is not sensitive to that cutoff"
"I have an ASV table and metadata with two treatment groups. Run at least two compositionally-aware DA methods, report the intersection as high-confidence and the union as exploratory, and tell me which tools found each taxon."
"Run ALDEx2 to compare taxon abundance between healthy and diseased samples, gate on both BH-adjusted q below 0.05 and an effect-size floor, and explain the effect-size metric."
"Run ANCOM-BC2 with age and sex as covariates, set the p-adjust method to BH, and only report hits that pass the pseudo-count sensitivity analysis (passed_ss)."
"My samples are repeated within subjects over time. Use a DA method with a subject random effect so I do not pseudo-replicate, and cross-check the mixed-model hits across tools."
"Is this taxon's increase relative or absolute? I do not have load data - explain what I can and cannot claim, and what a spike-in or qPCR anchor would add."