Compare Picrust output (KO and KEGG_Pathways) with metagenome output from Humman2 (UniRef90)

745 views
Skip to first unread message

Daniel Medina

unread,
Apr 7, 2019, 11:07:36 AM4/7/19
to picrust-users
Dear Picrust Team,
I have a paper under revision, and reviewer ask me for a comparison between KO picrust1 data and metagenomic data to validate both results. I have 16S seq and metagenomic seq data for the same samples. First, I simulated fuctionality with picrust1 from 16S data to choose interesting samples. Then, I did metagenomic seq and fuctional characterization for samples choosed from Picrust information. 
However, my picrsut output has KO or level 2 pathways but Humann2 has UniRef90 gene families and PWY path_abundances.
Hoy I can contrast picrust and humann2 data? 
Is there a way to transforms KO to Uniref90? I google it, but I didn't find a "working question".
I try to run Humann2 using 16S Picrust output, but the results was in KOs.
I already have the figures and the paper writed under Picrust1 simulation.
Greetings from Chile

Gavin Douglas

unread,
Apr 8, 2019, 3:57:18 AM4/8/19
to picrus...@googlegroups.com
You can’t accurately convert KOs to uniref90, but you can regroup uniref gene families to KOs. See the “humann2_regroup_table” command that is part of humann2. 

To get a table of KOs regrouped to a certain BRITE hierarchy the easiest thing to do would be to use an R function that I wrote recently that performs the identical regrouping as categorize_by_function.py. You can download the R code here: https://www.dropbox.com/s/x3b4996hnxz1dpc/picrust1_categorize_by_func.R?dl=1 and the legacy table of mappings from KOs to BRITE hierarchy here: https://www.dropbox.com/s/1qei0k5z0lpy73m/picrust1_KO_BRITE_map.tsv?dl=1. The function currently regroups a KO table to the third level - you should be able to change this to the 2nd level by changing "pathway <- strsplit(pathway, ";")[[1]][3]” to "pathway <- strsplit(pathway, ";")[[1]][2]”.

If you use this function you should input your KO metagenome file from PICRUSt1 and confirm that you get identical pathway levels regrouped as from the categorize_by_function.py script before running the function with humann2 data to double-check that it’s working as expected. If you’re not comfortable working in R, but you still want to use this function, feel free to let me know about any issues and I can help you out.

Note that the pathway abundances output by humann2 would be very different from PICRUSt1 since the approaches used for estimating which pathways are present and the abundance of these pathways are very different. I think using that function would at least allow you to make a fair comparison (although determining which method for inferring pathway levels is a different question).


Best,

Gavin



--
You received this message because you are subscribed to the Google Groups "picrust-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to picrust-user...@googlegroups.com.
To post to this group, send email to picrus...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Daniel Medina

unread,
Apr 8, 2019, 5:10:06 PM4/8/19
to picrust-users
Thank you Gavin for your kindly help,
I will check everything and soon I will post if everything went fine.
Greetings!!

Daniel Medina

unread,
Apr 16, 2019, 11:32:30 AM4/16/19
to picrust-users
Hi Picrusters!
Just for the record, that is what I did to compare KOs:

PICRUSt functional prediction was validate comparing the KEGG Orthology abundances obtained with the Uniref90 metagenomic abundances from HUMAnN2 output. To this, Uniref90 table was converted to KEGG Orthology using the script humann2_regroup_table from HUMAnN2 (Abubucker et al., 2012). Both KEGG Orthology data set were merged keeping matching rows and normalized using quantile normalization to compare linear dependence between each data sets using Pearson and pairwise Spearman rank correlation under R environment (R Core Team, 2013).

Greetings!

Devin Simpkins

unread,
Jul 8, 2020, 10:15:41 AM7/8/20
to picrust-users
Hello, I found this answer very helpful for some analysis that I am trying to complete, but can't find the the link to your R code. I was wondering if there was a more up to date link at all?

Thanks, 
Devin 
Gavin



To unsubscribe from this group and stop receiving emails from it, send an email to picrus...@googlegroups.com.

Gavin Douglas

unread,
Jul 8, 2020, 11:20:00 AM7/8/20
to picrus...@googlegroups.com
Hi Devin,



Best,

Gavin

To unsubscribe from this group and stop receiving emails from it, send an email to picrust-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/picrust-users/cff22e13-b7ae-46f3-80dc-166be558401co%40googlegroups.com.

Devin Simpkins

unread,
Jul 9, 2020, 4:19:56 AM7/9/20
to picrus...@googlegroups.com
Amazing! Thank you for the quick reply. Excited to test it out :)

Reply all
Reply to author
Forward
0 new messages