Error when running Picrust2

I am running Picrust2 using the following code

qiime picrust2 full-pipeline --i-table sequence_variants.qza --i-seq rep-seqs.qza --output-dir q2-picrust2_output --p-threads 1 --p-hsp-method pic --p-max-nsti 2 --verbose

I get the following message:

1448 of 1448 sequence ids overlap between input table and FASTA.
Placing sequences onto reference tree
place_seqs.py --study_fasta /tmp/tmp_k2jm20p/seqs.fna --ref_dir /home/hharder/ENTER/envs/qiime2-2019.7/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref --out_tree /tmp/tmp_k2jm20p/picrust2_out/out.tre --processes 1 --intermediate /tmp/tmp_k2jm20p/picrust2_out/intermediate/place_seqs --chunk_size 5000 --print_cmds
Error running this command:
place_seqs.py --study_fasta /tmp/tmp_k2jm20p/seqs.fna --ref_dir /home/hharder/ENTER/envs/qiime2-2019.7/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref --out_tree /tmp/tmp_k2jm20p/picrust2_out/out.tre --processes 1 --intermediate /tmp/tmp_k2jm20p/picrust2_out/intermediate/place_seqs --chunk_size 5000 --print_cmds
Standard output of failed command:
""
Standard error of failed command:
"hmmalign --trim --dna --mapali /home/hharder/ENTER/envs/qiime2-2019.7/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref/pro_ref.fna.gz --informat FASTA -o /tmp/tmp_k2jm20p/picrust2_out/intermediate/place_seqs/query_align.stockholm /home/hharder/ENTER/envs/qiime2-2019.7/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref/pro_ref.hmm /tmp/tmp_k2jm20p/seqs.fna
epa-ng --tree /home/hharder/ENTER/envs/qiime2-2019.7/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref/pro_ref.tre --ref-msa /tmp/tmp_k2jm20p/picrust2_out/intermediate/place_seqs/ref_seqs_hmmalign.fasta --query /tmp/tmp_k2jm20p/picrust2_out/intermediate/place_seqs/study_seqs_hmmalign.fasta --chunk-size 5000 -T 1 -m /home/hharder/ENTER/envs/qiime2-2019.7/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref/pro_ref.model -w /tmp/tmp_k2jm20p/picrust2_out/intermediate/place_seqs/epa_out --filter-acc-lwr 0.99 --filter-max 100
Error running this command:
epa-ng --tree /home/hharder/ENTER/envs/qiime2-2019.7/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref/pro_ref.tre --ref-msa /tmp/tmp_k2jm20p/picrust2_out/intermediate/place_seqs/ref_seqs_hmmalign.fasta --query /tmp/tmp_k2jm20p/picrust2_out/intermediate/place_seqs/study_seqs_hmmalign.fasta --chunk-size 5000 -T 1 -m /home/hharder/ENTER/envs/qiime2-2019.7/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref/pro_ref.model -w /tmp/tmp_k2jm20p/picrust2_out/intermediate/place_seqs/epa_out --filter-acc-lwr 0.99 --filter-max 100
Standard output of failed command:
"INFO Selected: Output dir: /tmp/tmp_k2jm20p/picrust2_out/intermediate/place_seqs/epa_out/
INFO Selected: Query file: /tmp/tmp_k2jm20p/picrust2_out/intermediate/place_seqs/study_seqs_hmmalign.fasta
INFO Selected: Tree file: /home/hharder/ENTER/envs/qiime2-2019.7/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref/pro_ref.tre
INFO Selected: Reference MSA: /tmp/tmp_k2jm20p/picrust2_out/intermediate/place_seqs/ref_seqs_hmmalign.fasta
INFO Selected: Filtering by accumulated threshold: 0.99
INFO Selected: Maximum number of placements per query: 100
INFO Selected: Automatic switching of use of per rate scalers
INFO Selected: Preserving the root of the input tree
INFO Selected: Specified model file: /home/hharder/ENTER/envs/qiime2-2019.7/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref/pro_ref.model
INFO Rate heterogeneity: GAMMA (4 cats, mean), alpha: 0.453141 (user), weights&rates: (0.25,0.0250674) (0.25,0.220229) (0.25,0.782933) (0.25,2.97177)
Base frequencies (user): 0.229585 0.22008 0.298596 0.251739
Substitution rates (user): 1.00319 2.79077 1.5301 0.87441 3.83966 1
INFO Selected: Reading queries in chunks of: 5000
INFO Selected: Using threads: 1
INFO ______ ____ ___ _ __ ______
/ // __ \ / | / | / // /
/ __/ / /
/ // /| | ______ / |/ // / __
/ /
/ // ___ |/_____// /| // // /
/_____//
/ /
/ |
| /
/ |
/ _
_/ (v0.3.5)
"
Standard error of failed command:
""
"

My understanding of this error is that I do not have enough RAM, which is pretty likely since I only have 8 GB. I tried to then switch to use the sepp method to decrease that need using this code:

qiime picrust2 full-pipeline --i-table sequence_variants.qza --i-seq rep-seqs.qza --output-dir q2-picrust2_output --p-placement-tool sepp --p-threads 1 --p-hsp-method mp --p-max-nsti 2 --verbose

But I get an error:

(1/1?) no such option: --p-placement-tool

I am using Qiime2-2019.7 and the associated Picrust2 version (2019-7). How can I change over to the sepp placement method?

Hello Hannah,

Yes, this is probably the issue. This may also be an issue with SEPP... do you have access to a computer with more memory?

I think the 2023.2 version of Qiime2 support SEPP, see this section of the PD-mouse tutorial.

I don't have access to anyother machines with more RAM. I will look into the newer version. Do you think sepp will fix the problem or is 8 GB of RAM just not enough?

1 Like

It's worth a try!

Also consider the more traditional method of MSA and maximum likelihood tree building. That's the mafft + fasttree shown in the tutorials.