Picrust2 Error messages

Hi,
I tried running picrust2 using qiime2.
I have followed the “Full pipline script” tutorial.
After installing all the plugins I ran this command:

picrust2_pipeline.py -i /home/qiime2/Desktop/Netanya_6/feature-table.biom -s /home/qiime2/Desktop/Netanya_6/dna-sequences.fasta -o /home/qiime2/Desktop/Netanya_6/picrust2_out_pipeline_test -p 3 --verbose**

*My machine has 3 cores and 17 GB RAM
After 2 min of processing I get this error:

3364 of 3364 sequence ids overlap between input table and FASTA.

Placing sequences onto reference tree
place_seqs.py --study_fasta /home/qiime2/Desktop/Netanya_6/dna-sequences.fasta --ref_dir /home/qiime2/miniconda/envs/picrust2/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref --out_tree /home/qiime2/Desktop/Netanya_6/picrust2_out_pipeline_test/out.tre --processes 3 --intermediate /home/qiime2/Desktop/Netanya_6/picrust2_out_pipeline_test/intermediate/place_seqs --chunk_size 5000 --print_cmds

Error running this command:
place_seqs.py --study_fasta /home/qiime2/Desktop/Netanya_6/dna-sequences.fasta --ref_dir /home/qiime2/miniconda/envs/picrust2/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref --out_tree /home/qiime2/Desktop/Netanya_6/picrust2_out_pipeline_test/out.tre --processes 3 --intermediate /home/qiime2/Desktop/Netanya_6/picrust2_out_pipeline_test/intermediate/place_seqs --chunk_size 5000 --print_cmds

Standard output of failed command:
“”

Standard error of failed command:
"hmmalign --trim --dna --mapali /home/qiime2/miniconda/envs/picrust2/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref/pro_ref.fna.gz --informat FASTA -o /home/qiime2/Desktop/Netanya_6/picrust2_out_pipeline_test/intermediate/place_seqs/query_align.stockholm /home/qiime2/miniconda/envs/picrust2/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref/pro_ref.hmm /home/qiime2/Desktop/Netanya_6/dna-sequences.fasta
epa-ng --tree /home/qiime2/miniconda/envs/picrust2/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref/pro_ref.tre --ref-msa /home/qiime2/Desktop/Netanya_6/picrust2_out_pipeline_test/intermediate/place_seqs/ref_seqs_hmmalign.fasta --query /home/qiime2/Desktop/Netanya_6/picrust2_out_pipeline_test/intermediate/place_seqs/study_seqs_hmmalign.fasta --chunk-size 5000 -T 3 -m /home/qiime2/miniconda/envs/picrust2/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref/pro_ref.model -w /home/qiime2/Desktop/Netanya_6/picrust2_out_pipeline_test/intermediate/place_seqs/epa_out --filter-acc-lwr 0.99 --filter-max 100

Error running this command:
epa-ng --tree /home/qiime2/miniconda/envs/picrust2/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref/pro_ref.tre --ref-msa /home/qiime2/Desktop/Netanya_6/picrust2_out_pipeline_test/intermediate/place_seqs/ref_seqs_hmmalign.fasta --query /home/qiime2/Desktop/Netanya_6/picrust2_out_pipeline_test/intermediate/place_seqs/study_seqs_hmmalign.fasta --chunk-size 5000 -T 3 -m /home/qiime2/miniconda/envs/picrust2/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref/pro_ref.model -w /home/qiime2/Desktop/Netanya_6/picrust2_out_pipeline_test/intermediate/place_seqs/epa_out --filter-acc-lwr 0.99 --filter-max 100

Standard output of failed command:
"INFO Selected: Output dir: /home/qiime2/Desktop/Netanya_6/picrust2_out_pipeline_test/intermediate/place_seqs/epa_out/
INFO Selected: Query file: /home/qiime2/Desktop/Netanya_6/picrust2_out_pipeline_test/intermediate/place_seqs/study_seqs_hmmalign.fasta
INFO Selected: Tree file: /home/qiime2/miniconda/envs/picrust2/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref/pro_ref.tre
INFO Selected: Reference MSA: /home/qiime2/Desktop/Netanya_6/picrust2_out_pipeline_test/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/qiime2/miniconda/envs/picrust2/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: 3
INFO ______ ____ ___ _ __ ______
/ // __ \ / | / | / // /
/ __/ / /
/ // /| | ______ / |/ // / __
/ /
/ // ___ |/_____// /| // // /
/_____//
/ /
/ |
| /
/ |
/ _
_/ (v0.3.5)
INFO Output file: /home/qiime2/Desktop/Netanya_6/picrust2_out_pipeline_test/intermediate/place_seqs/epa_out/epa_result.jplace
"

Standard error of failed command:
“”
"
WHAT AM I DOING WRONG?
Thanks very much for your help,
Nir

1 Like

Hi @Nir_Friedman,
I am just pinging @gmdouglas to take a look at this error. Thanks @gmdouglas!

1 Like

Hey @Nir_Friedman,

I think you’re likely running out of memory when placing the reads with EPA-ng. If you try running the command with fewer threads it might work, or alternatively you can try following the commands to run SEPP instead.

Best,

Gavin

1 Like

Hi,
Thanks for your prompt reply.
I have tried to rerun the script with -p 1 , and still got this error.
How much RAM do I need? Is 17 not enough?
What is the different between SEPP and EPA-ng and how do I use SEPP in the full pipline script?
Tx
Nir

17 GB RAM is often enough, but I think EPA-ng must be requiring more for your dataset. It’s possible that there is something else going on as well (which would be easier to troubleshoot by running the standalone version of PICRUSt2), but insufficient RAM is the most common problem when running EPA-ng with the default tree.

SEPP is another placement approach that wraps pplacer and uses an iterative approach when placing the reads (see: https://www.ncbi.nlm.nih.gov/pubmed/22174280). In practice both placement approaches result in very similar final PICRUSt2 predictions, at least based on the test datasets I have evaluated so far.

The commands to run SEPP are described as option two of the q2-picrust2 tutorial: https://github.com/picrust/picrust2/wiki/q2-picrust2-Tutorial

Great,
I will try to increase the RAM to 20 GB and also check SEPP.
Thank you very much,
Nir

1 Like