Low W taxa identified as significant - troubles with workaround

Dear community. I started working with Qiime2 (2023.2) recently and i am facing some issues with ANCOM/ANCOM-BC. I have read multiple posts in the forum and done the tutorials, but still not sure how to proceed. Originally, i was just running Alpha Diversity, Adonis and PERMANOVA test to analyze my samples (only the PERMANOVA test for the Treatments resulted significant (p=0.035)).

However i found this paper QIIME 2 Enables Comprehensive End-to-End Analysis of Diverse Microbiome Data and Comparative Studies with Publicly Available Data, where it was suggested to run additional analysis due to the nature of the sample (fecal samples from same animals on 3 different dates). Therefore i used it as a guide to continue my analysis.

When running ANCOM to determine which features differ in relative abundance, the volcano plot identified every feature as significant, even with low or 0 W. Here is my script


Filter features less than in 10% of Samples and 20 counts

!qiime feature-table filter-features
--i-table Run1/tableRun1.qza
--p-min-samples 2
--p-min-frequency 20
--o-filtered-table Run1/filtered-table-Run1v2.qza

Add pseudocount to the filtered feature table

!qiime composition add-pseudocount
--i-table Run1/filtered-table-Run1v2.qza
--o-composition-table Run1/comp-table-Run1v2.qza

Run ANCOM to determine which features differ in relative abundance across the Treatments

!qiime composition ancom
--i-table Run1/comp-table-Run1v2.qza
--m-metadata-file metadata.tsv
--m-metadata-column Treatment
--o-visualization Run1/ANCOM/ancom-Run1-Treatmentv2.qzv

I read here this problem could be work around using ANCOM 2 in R. I have no background in R. Then, i learned you could use ANCOM-BC on the last version of Qiime2 (2023.2 which i am currently using). At this moment is where i find new difficulties

(1) From this website, i tried to run ANCOM-BC on Qiime2, but failed as it says there is no ancom-bc command.

(2) Later i found in qiime the correct script. But when trying to run it with the filtered table with added pseudocount i get the following error message

!qiime composition ancombc
--i-table Run1/comp-table-Run1.qza
--m-metadata-file metadata.tsv
--p-formula Treatment
--o-differentials Run1/ANCOM/dataloaf.qza

(1/1) Invalid value for '--i-table': Expected an artifact of at least type
** FeatureTable[Frequency]. An artifact of type FeatureTable[Composition] was**
** provided.**
(3) Here is where i have a few doubts, when running ANCOM-BC i dont need to filter and add pseudocounts, or filtering is still necessary?

Therefore i tried with just the filtered table from above and were succesful

!qiime composition ancombc
--i-table Run1/filtered-table-Run1.qza
--m-metadata-file metadata.tsv
--p-formula Treatment
--o-differentials Run1/ANCOM/dataloaf.qza

(4) However i cant find the script to generate a volcano plot from this artifact. I tried the next scrip as shown and got the following error message

!qiime metadata tabulate
--m-input-file Run1/ANCOM/dataloaf.qza
--m-input-file Data/Taxonomy.qza
--o-visualization differentials.qzv

There was an issue with viewing the artifact 'Run1/ANCOM/dataloaf.qza' as QIIME 2 Metadata:

** Artifacts with type FeatureData[DifferentialAbundance] cannot be viewed as QIIME 2 metadata.**

I found the script to tabulate the p-values and W. From what i see in the table, situation has not changed(recognizes all features as significant independently of W value).

!qiime composition tabulate
--i-data Run1/ANCOM/dataloaf.qza
--o-visualization Run1/ANCOM/dataloaf.qzv

My biggest concerns are in point (3) and (4).
Hope i explained my situation clearly, i apologize if i used the wrong term, as i am still familiarizing myself with the pipeline.

Hi @Boris_Martin_Tangoa,

Welcome to the :qiime2: forum! Happy to address your questions below.

ANCOM-BC requires a FeatureTable[Frequency], which means you will need to run your data through one of the quality control methods (i.e. DADA2, Deblur) prior to running ANCOM-BC.

We did not create a volcano plot visualizer for ANCOM-BC results - the only visualizer that these differentials can currently be used on is the tabulate method within q2-composition. If you would like to create a volcano plot from these results, it would have to be done outside of QIIME 2.

This most likely means that you are seeing actual significance (after running them through both ANCOM and ANCOM-BC and receiving similar results). If this is not what you were expecting, you may want to double check your data and filtering steps to make sure that you're not receiving these results in error.

Hope this helps! Cheers :lizard:

Hi @lizgehret
Thanks for your inputs, they were very helpful. I just have a couple more questions:

(1) I read in the Tutorial that

"ANCOM assumes that few (less than about 25%) of the features are changing between groups. If you expect that more features are changing between your groups, you should not use ANCOM as it will be more error-prone (an increase in both Type I and Type II errors is possible)."

Is this the same case for ANCOM-BC?

(2) When running the VOLCANO plot, one can tell which feature is significantly by looking at graph and by the table below.

When running ANCOM-BC. How can you tell from the tabulate method which feature is significantly different among treatments?
I must admit i dont know how to interpret the results from the tabulate.

It is not - ANCOM and ANCOM-BC are actually quite different in their functionality. If you're interested in learning more about how ANCOM-BC works, I'd recommend reading Huang's paper:

Whether or not features are significant is entirely subjective. You can set a significance threshold using the --p-alpha parameter, and examine your q-Values with respect to that threshold. Here's a slightly unrelated but potentially helpful reference that you might find to be useful:

Cheers :lizard:

1 Like

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