Help with Predict a microbial community metagenome using PICRUSt with QIIME2

Dear all,

Firstly, Congratulations to the QIIME2 team for your publication!!

I sincerely apologize if my post makes you disturb as it is a bit lengthy. I proceeded with QIIME2 tutorials and now I am trying to work with my data. I am trying to predict a microbial community metagenome using PICRUSt based on 16S data. I tried to run the 1st step of normalization. However, there is an error as follows.

“ -i A1_97_OTU_table.biom -o normalized_A1.biom
Traceback (most recent call last):
File “/home/qiime2/miniconda3/bin/”, line 131, in
File “/home/qiime2/miniconda3/bin/”, line 84, in main
count_table = convert_precalc_to_biom(count_table_fh, ids_to_load)
File “/home/qiime2/miniconda3/lib/python2.7/site-packages/picrust/”, line 100, in convert_precalc_to_biom
raise ValueError,“No OTUs match identifiers in precalculated file. PICRUSt requires an OTU table reference/closed picked against GreenGenes.\nExample of the first 5 OTU ids from your table: {0}”.format(’, '.join(list(ids_to_load)[:5]))
ValueError: No OTUs match identifiers in precalculated file. PICRUSt requires an OTU table reference/closed picked against GreenGenes.
Example of the first 5 OTU ids from your table: denovo889, denovo886, denovo887, denovo884, denovo885”

As the error indicates it requires the OTU table reference picked against Greengenes, I imported the “gg_13_5_otus” as a qza format in QIIME2 to proceed with “qiime vsearch cluster-features-closed-reference”.

Currently, I have preprocessed fasta files and OTU_table.biom files for each study participant. So I imported preprocessed fasta files and OTU_table.biom files as FeatureData[Sequence] and FeatureTable[Frequency] respectively to make QIIME2 format (qza). Then, I tried to do the closed reference OTU picking using QIIME2 “qiime vsearch cluster-features-closed-reference”. However, I had this error:

“qiime vsearch cluster-features-closed-reference \

–i-sequences Sequences_A1.qza
–i-table A1.qza
–i-reference-sequences gg_13_5_otu_97.qza
–p-perc-identity 0.85
–p-threads 0
–output-dir A1_picrust

Plugin error from vsearch:
Some feature ids are present in table, but not in sequences. The set of features in sequences must be identical to the set of features in table. Feature ids present in table but not sequences are: denovo429, denovo399, denovo405, denovo790, denovo719, denovo101, denovo438, denovo780, denovo0, denovo839, denovo108, denovo193, denovo476, denovo315, denovo626, de…….”

I am not sure how could I solve this error.

In the meantime, I tried to apply dereplication step to obtain FeatureTable[Frequency] and FeatureData[Sequence] by using my preprocessed fasta file as follows,

"qiime vsearch dereplicate-sequences \

–i-sequences Sequences_A1.qza
–o-dereplicated-table table_A1.qza
–o-dereplicated-sequences rep-seqs_A1.qza

Plugin error from vsearch:
Parameter ‘sequences’ received an argument of type FeatureData[Sequence]. An argument of subtype SampleData[JoinedSequencesWithQuality] | SampleData[SequencesWithQuality] | SampleData[Sequences] is required."

Based on the error, I tried to import my fasta files as SampleData[Sequences]. However, again I had the following error,

qiime tools import \

–input-path A1.preprocessed.fasta
–output-path A1_new.qza
–type ‘SampleData[Sequences]’

There was a problem importing A1.preprocessed.fasta:
A1.preprocessed.fasta is not a(n) QIIME1DemuxFormat file.

I referred to some posts related to my problem. However, I was unable to figure out it. Currently, I have no idea how could I fix my problem to proceed with my further analysis. I am very much grateful if you could give me your comments or opinions about my problem.

Thank you in advance.!!

Hi @mneranjan31,
Sounds like you are trying to use Qiime2 data into the original PICRUst. My first suggestion is to switch to PIRCRUSt 2, which there is even a qiime2 plugin and tutorial here. This should make your life much easier and with higher accuracy.
If you still want to stick with PICRUSt 1 for some reason then there are some manipulation you need to do before you you can do that. I made a brief tutorial on this elsewhere that might be helpful. That tutorial is meant to be used for BugBase which runs PICRUSt 1 in the background so it should also be compatible with that. Let us know how it goes.


Hi Mehrbod Estaki,
Thank you very much for your kind suggestions regarding my problem. I will try to follow the suggested links with tutorials to learn about PICRUSt 2 as well. I will let you know how it goes.
Thank you in advance!