Statistical methods using ANCOM

Hello,

I’m trying to run the differential abundance script on my data and have run into some issues. I am trying to use one of the statistical methods other than f_oneway and I receive errors for the others:

mannwhitneyu: Plugin error from composition:
alternative should be None, ‘less’, ‘greater’ or ‘two-sided’

wilcoxon: Plugin error from composition:
Zero method should be either ‘wilcox’ or ‘pratt’ or ‘zsplit’

kruskal: Plugin error from composition:
All numbers are identical in kruskal

I’m unsure how to fix the parameters (alternative and Zero method) and I looked at the frequency table and all the numbers are not identical, so I’m unsure why kruskal is having problems. I did notice that there is a cmd-config option in the help of the script. Is this file similar to the parameters file from QIIME 1? If so, could I get an example file to base mine off of?

Thanks,
Samantha

1 Like

Hi @saatkinson, can you please provide an example of how you are attempting to run this step? Copy-and paste from your terminal is fine. Also, please note we are planning on releasing QIIME 2 2017.7 this week, which drops q2-composition, in favor of q2-gneiss, which uses the gneiss software package. Thanks!

1 Like

Hi @thermokarst, here is an example for the kruskal and wilcoxon:

qiime composition ancom \
  --i-table proj_1/comp-table.qza \
  --m-metadata-file valery_mapping.txt \
  --m-metadata-category Description \
  --p-statistical-test kruskal \
  --o-visualization proj_1/ancom-kruskal-treat_day.qzv
qiime composition ancom \
  --i-table proj_1/comp-table.qza \
  --m-metadata-file valery_mapping.txt \
  --m-metadata-category Description \
  --p-statistical-test wilcoxon \
  --o-visualization proj_1/ancom-wilcoxon-treat_day.qzv 

I’ll look forward to the new method of analyzing differential abundances!

Thanks,
Samantha

Hi @saatkinson! It looks like you identified some bugs here (it appears that some of the non-default stats aren’t wired up correctly in q2-composition, I was able to independently reproduce your reported errors). At this point we aren’t going to worry about fixing this, because as I mentioned earlier, QIIME 2 2017.7 will drop q2-composition in favor of q2-gneiss. Thank you so much for reporting this, I am sorry the outcome isn’t more satisfying, but we are really excited about q2-gneiss!

1 Like

QIIME 2 2017.7 is now live and includes the changes @thermokarst mentioned above :tada:

2 Likes

Will ANCOM still be available in q2-gneiss? I don’t see it in the documentation

ANCOM isn’t included in q2-gneiss; q2-gneiss provides its own methods for differential abundance analysis. There will be a q2-gneiss tutorial posted on the forum soon, and the tutorial will be integrated into the QIIME 2 docs during the next release cycle. Stay tuned!

1 Like

So ANCOM will not be implemented in qiime 2 then? Any plans for other differential abundance methods?

Hi @vrbana: at this time we aren’t planning on continuing to support ANCOM in the officially distributed plugins. Pinging @mortonjt to comment on the benefits of utilizing the differential abundance methods available in the new q2-gneiss plugin. I also recommend looking at the gneiss docs, to learn more about the differential abundance methods implemented there (q2-gneiss is a wrapper plugin around gneiss). Please let us know if you have any questions!

Since QIIME 2 is decentralized, a plugin developer that is interested in developing their own plugin that implements ANCOM is a real possibility — this is actually one of the main reasons that QIIME 2 is decentralized! We have left the deprecated plugin code up and available if anyone is interested in forking it. Thanks!

1 Like

No worries, I actually work with Jaime and have heard about the benefits of balances :slight_smile: I was just curious as they have a bit of a learning curve for interpretation

2 Likes

Concerning the benefits of using balances, I’d take a look at the original paper: http://msystems.asm.org/content/2/1/e00162-16

There are multiple benefits – namely

  1. It doesn’t make the assumption that few species are changing
  2. Standard statistics can be applied directly to balances, since balances can follow proper normality assumptions
  3. It can counter issues with both sparsity and compositionality by averaging together groups of features

We already have put together a number of tutorials here
https://biocore.github.io/gneiss/docs/v0.4.0/index.html

And there will be another tutorial that posted on the qiime2 forums shortly.

3 Likes

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.

The QIIME 2 2017.8 release is live and includes an updated ANCOM tutorial and a new q2-gneiss tutorial! :tada:

2 Likes

Just following up on the initial problem here, we have filed a bug report to track development here. Thanks!

As of the QIIME 2 2017.9 release the original issue referenced by @thermokarst has been resolved! :tada: