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

Clicks: 13
ID: 332193
2026
Article Quality & Performance Metrics
Overall Quality
Not rated
Combines reader engagement with the AI quality analysis. This article has not been analysed, so there is no overall score — reader engagement is measured and shown alongside.
AI Quality Assessment
Not analyzed
Readership in this journal
Emerging

Ranked #959 of 983 articles by views in BMC Bioinformatics

Most read Least read

Bar heights use a square-root scale. Only the 120 most-read articles are drawn; the journal has 983 in total.

Mint this article as an NFT
Not yet minted

Create a permanent, verifiable on-chain record of this article on the Scimatic Network. The NFT is held in your Journament account, and you can withdraw it to your own wallet at any time.

5 SUSD one-off · no wallet required
Abstract
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 multi-omics 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 Supplementary information N/A
Reference Key
openalex_W7221620843 Use this key to autocite in the manuscript while using SciMatic Manuscript Manager or Thesis Manager
Authors
Journal BMC Bioinformatics
Year 2026
DOI
10.1093/bioinformatics/btag767
URL
Keywords Keywords not found

Citations

No citations found. To add a citation, contact the admin at info@scimatic.org

No comments yet. Be the first to comment on this article.