Alternative way to compare the KOs from PICRUSt2 result

Dear All,

I followed the PICRUSt2 pipeline and obtained the ko_metagenome.qza, which contained more than 8000 KOs in with absolute abundance (I think is absolute). When I ran the ANCOM test:

qiime composition add-pseudocount \
  --i-table picrust2_output/ko_metagenome.qza \
  --o-composition-table ko_metagenome-added.qza

qiime composition ancom \
  --i-table ko_metagenome-added.qza \
  --p-transform-function log \
  --m-metadata-file metadata.tsv \
  --m-metadata-column Group \
  --o-visualization ANCOM.qzv

The work was stuck because I think my mac (16G memories) is not able to run it (8000 KOs, 40 samples in the table). My first question: is there an alternative way severing similar function as ANCOM but require less resource of the computer?

I also tried another way myself, I scale the table by total sum scaling, which is: the sum of all KOs in a sample is 1. After that, I calculated the Fold change of every KOs and tested the significant by T-test with adjust p-value. The distint KOs were visualised by a volcano plot.
It’s a very simple way to compare distinct KOs as well as OTUs in a compositional table. However, I am not sure whether it is appropriate to calculate Fold changed and do the testing from the relative abundance of the KOs.

My second question is: Is it ok to calculate the Fold change of the features and do the testing by their relative abundance? Any better scaling or normalisation of the data table should I do?

Thanks for all the advices

1 Like

Hi @Lennon_Lee,

That’s a lot of comparisons! My suggestion might be to think about filtering or collapsing. I’m not sure current PICRUSt2 annotation lets you do that, buty ou might look into doing it manually. (Yes, Ugh). You could also try filtering your data to remove KOs that are infrequent or low abundance which might decrease your table size, although I think of KOs as more dense than ASVs or OTUs so this may not work.

You could also try looking at AlDex2. Again, Ive not benchmarked this verses ANCOM in terms of memory, but it might work for you.


Thank you very much @jwdebelius

Do you think the way I calculating the Fold change of KOs relative abundance is appropriate?

Sorry I missed this!

No, this is not appropriate! Your data is compositional and you need to use a compositionally aware method. It’s also not normal AFAIK, and while it may be less sparse than OTU/ASV level, it may also be too sparse for most normality assumptions. (Although full disclosure I haven’t spent enough time looking at the abundance/prevelence distribution of KOs.)

You need to use one of the compositionally aware methods I mentioned above.


1 Like

GOT IT! Thanks again for your explanation! @jwdebelius

1 Like

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