Skip to content
DraconiticResearch
Search Sources API
197,768 studies31 sourcesUpdated 29 min ago
Peer-reviewedCC BYBioinformatics (Oxford, England)

Efficient and scalable Python implementation of ANCOM-BC and ANCOM-BC2 for omics differential abundance testing.

4 affiliations
  1. 1Biodesign Center for Fundamental and Applied Microbiomics, Arizona State University, Tempe, AZ 85281, United States.
  2. 2Department of Epidemiology and Biostatistics, School of Public Health, University of Maryland, College Park, MD 20742, United States.
  3. 3Gutz Technologies, Inc., Covina, CA 91723, United States.
  4. 4School of Life Sciences, Arizona State University, Tempe, AZ 85281, United States.

Abstract

Summary

Analysis of Compositions of Microbiomes with Bias Correction (ANCOM-BC) and its successor ANCOM-BC2 are critical algorithms for differential abundance analysis. Designed for handling compositional data, they feature the ability to estimate the unknown sampling fractions and correct the bias induced by their differences. While the original R package implementing the two methods is robust for standard dataset sizes, the increasing magnitude of modern multiomics studies presents computational challenges, often resulting in a runtime bottleneck for high-dimensional data. Here, we present native Python implementations of both ANCOM-BC and ANCOM-BC2 in the scikit-bio package, significantly accelerating the workflow and enabling their application to large-scale datasets. By leveraging vectorization with NumPy and numerical optimization in SciPy, we enhanced the efficiency of both methods without compromising their statistical accuracy. The benchmarking results revealed a dramatic increase in performance in both simulated and real datasets. We demonstrated that our Python implementations generated test results matching the original R code, while achieving 380- and 147-fold faster runtimes and 97.4% and 96.2% lower memory consumption on the largest tested dataset, respectively. The Python implementations allow for the analysis of datasets that are significantly larger than previously possible, and enable applications to alternative omics data types and complex statistical models that vary greatly by the number of samples, features, and covariates.Availability and implementation

https://github.com/scikit-bio/scikit-bio.

Related

  1. Integrated differential transcript usage and transcript abundance analyses reveal isoform-level remodeling in clear cell renal cell carcinoma
    Chinaza F. Nnam, Yiping Li, Minghui Zhang +14
    Scientific ReportsPeer-reviewedCC BY-NC-ND 4.0Full textMolecular biology & gene regulationCrossref
  2. Scalable and cost-efficient custom gene library assembly from oligopools
    Chase R. Freschlin, Kevin K. Yang, Philip A. Romero
    Science AdvancesPeer-reviewedCC BYFull text16 citedMolecular biology & gene regulationOpenAlex
  3. Yeast knockout library allows for efficient testing of genomic mutations for cell-free protein synthesis
    Jennifer Schoborg, Lauren Clark, Alaksh Choudhury +2
    Synthetic and Systems BiotechnologyPeer-reviewedCC BY-NC-NDFull text22 citedMolecular biology & gene regulationHAL
  4. Efficient differential expression analysis of large-scale single-cell transcriptomics data using Dreamlet
    Gabriel E. Hoffman, Donghoon Lee, Jaroslav M. Bendl +12
    Nature CommunicationsPeer-reviewedCC BYFull text75 citedMolecular biology & gene regulationOpenAlex
  5. Intratumoral microbiota heterogeneity and Bifidobacterium abundance are linked to very early recurrence in hepatocellular carcinoma
    Shu-jie Pang, Zhe Sun, Da-peng Xu +4
    BMC MedicinePeer-reviewedCC BY-NC-ND 4.0Molecular biology & gene regulationCrossref
BibTeX
@article{wu2026efficient,
  title = {{Efficient and scalable Python implementation of ANCOM-BC and ANCOM-BC2 for omics differential abundance testing.}},
  author = {Zijun Wu and Huang Lin and James T Morton and Qiyun Zhu},
  journal = {Bioinformatics (Oxford, England)},
  year = {2026},
  month = oct,
  doi = {10.1093/bioinformatics/btag767},
  url = {https://europepmc.org/article/MED/42867151},
  note = {CC BY},
}
RIS
TY  - JOUR
TI  - Efficient and scalable Python implementation of ANCOM-BC and ANCOM-BC2 for omics differential abundance testing.
AU  - Zijun Wu
AU  - Huang Lin
AU  - James T Morton
AU  - Qiyun Zhu
PY  - 2026
DA  - 2026/10/01
JO  - Bioinformatics (Oxford, England)
DO  - 10.1093/bioinformatics/btag767
UR  - https://europepmc.org/article/MED/42867151
AB  - Summary  Analysis of Compositions of Microbiomes with Bias Correction (ANCOM-BC) and its successor ANCOM-BC2 are critical algorithms for differential abundance analysis. Designed for handling compositional data, they feature the ability to estimate the unknown sampling fractions and correct the bias induced by their differences. While the original R package implementing the two methods is robust for standard dataset sizes, the increasing magnitude of modern multiomics studies presents computational challenges, often resulting in a runtime bottleneck for high-dimensional data. Here, we present native Python implementations of both ANCOM-BC and ANCOM-BC2 in the scikit-bio package, significantly accelerating the workflow and enabling their application to large-scale datasets. By leveraging vectorization with NumPy and numerical optimization in SciPy, we enhanced the efficiency of both methods without compromising their statistical accuracy. The benchmarking results revealed a dramatic increase in performance in both simulated and real datasets. We demonstrated that our Python implementations generated test results matching the original R code, while achieving 380- and 147-fold faster runtimes and 97.4% and 96.2% lower memory consumption on the largest tested dataset, respectively. The Python implementations allow for the analysis of datasets that are significantly larger than previously possible, and enable applications to alternative omics data types and complex statistical models that vary greatly by the number of samples, features, and covariates.Availability and implementation  https://github.com/scikit-bio/scikit-bio.
SN  - 1367-4803
SN  - 1367-4811
ER  -