Russel88/DAtest

Addition of ANCOM and ANCOM-BC

benyoung93 opened this issue · 4 comments

Good afternoon :)

First of all this is a really useful package. Its a bit overwhelming trying to identify which "package" to use for differential abundance analysis and everything I read/people I talk to have different opinions on what is the best.

The list you have is amazing, and the addition of ANCOM and ANCOM-BC (for 16s data) would be really great.
https://github.com/FrederickHuangLin/ANCOMBC

If this is not feasible/has already been excluded for a reason I apologise.

Ben

+Name/description of method
(FROM ABSTRACT IF PAPER) estimates the unknown sampling fractions and corrects the bias induced by their differences among samples. The absolute abundance data are modeled using a linear regression framework. This formulation makes a fundamental advancement in the field because, unlike the existing methods, it (a) provides statistically valid test with appropriate p-values, (b) provides confidence intervals for differential abundance of each taxon, (c) controls the False Discovery Rate (FDR), (d) maintains adequate power, and (e) is computationally simple to implement.

+Link to publication if it exists -
ANCOM-BC = https://www.nature.com/articles/s41467-020-17041-7
ANCOM = https://www.tandfonline.com/doi/full/10.3402/mehd.v26.27663

+Is the method already implemented in R? - yes

+Link to code repository if relevant (GitHub, Bitbucket or similar)
ANCOMBC = https://github.com/FrederickHuangLin/ANCOMBC
ANCOM = https://github.com/FrederickHuangLin/ANCOM

Hi benyoung93

Thank you for suggesting this, I had not heard of ANCOM-BC, but I will add it ASAP.
As for ANCOM, this was previously part of DAtest, but since it is not in any package repository (CRAN or bioconductor), it was a hassle to ensure that installation would be smooth for the user and I therefore removed it (it also performed poorly and slowly in all my tests, but as you say, there are many opinions on this). If it is ever put on CRAN I will add it.

  • Jakob

Hi Jakob 😊
Thats amazing thankyou so much.

Re ANCOM that makes complete sense. Reading the paper on ANCOM-BC they benchmark against ANCOM and for x amount of ASVS (blanking on actual number apologies will correct later) ANCOM-BC is around 2 minutes and ANCOM ~60 minutes. It shouldn't make DAtest substantially longer 😊.

Ben

Hi Jakob, thanks for the great package.

I second the enhancement request for adding ANCOM-BC. I have been e been trying to include it through the DA.zzz() implementation, but it has been a struggle so far. Having it "baked in" would mean that it would be ideal.

ANCOM-BC is now included in version 2.8.0.