Comments (36)
Turns out this time there wasn't a autogenerated pull request to bioconda-recipes! I manually made the pull request here: bioconda/bioconda-recipes#13850
it should come through soonish I think, once it's in you should be able to update epa-ng
from picrust2.
We now fixed the issue: Pbdas/epa-ng#24
So, now it should work with bfast
files as well - although (as @Pbdas suggested) for your use case in picrust, normal fasta
files are better suited.
from picrust2.
Hello @gavinmdouglas & @Pbdas!
I was able to run the q2 plugin on a more powerful machine and it worked nicely.
Thanks for your input and advice.
Bests :)
from picrust2.
If you run that command by hand do you get a more informative error message? It's possible that the high thread setting could be causing a problem, possibly related to memory usage.
from picrust2.
When I tried to run the EPA-ng command outside of the PICRUSt pipeline I got the following error:
Segmentation fault (core dumped)
So I suspect the problem is not in the PICRUSt side.
from picrust2.
Using version 0.2.1-beta solved the issue.
Update: I created an issue in the EPA-ng repository (Pbdas/epa-ng#24).
from picrust2.
@apcamargo
After refer to Pbdas/epa-ng#24, I solved the issue by editing picrust2/picrust2/place_seqs.py line 152
before editing
ref_msa_fastafile + " --query " + study_msa_bfast +
after editing
ref_msa_fastafile + " --query " + study_msa_fastafile +
from picrust2.
Thanks @heuklang and @apcamargo , this was also fixed in #58, which I made a new release for.
from picrust2.
Hello,
I am still getting the same error and I'm using EPA-ng version 0.3.4.
I was wondering if anyone can help me with that.
Error running this command: epa-ng --tree picrust2/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref/pro_ref.tre --ref-msa picrust2_out_pipeline9/intermediate/place_seqs/ref_seqs_hmmalign.fasta --query picrust2_out_pipeline9/intermediate/place_seqs/study_seqs_hmmalign.fasta --chunk-size 5000 -T 1 -m picrust2/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref/pro_ref.model -w picrust2_out_pipeline9/intermediate/place_seqs/epa_out --filter-acc-lwr 0.5 --filter-max 20
from picrust2.
Hi,
the issue should be fixed in EPA-ng v0.3.5! Update either EPA-ng or picrust directly
Pierre
from picrust2.
Both EPA-ng[3.4] and picrust2[2.1.0-b] are the most recent version in Conda.
How can I update to EPA-ng v0.3.5?
Thanks for your help.
from picrust2.
Thanks @Pbdas - I've made a PR for the gappa recipe here by the way: bioconda/bioconda-recipes#13851
from picrust2.
Thanks a lot, @Pbdas .
from picrust2.
Hi again,
Even with the update, I am still getting the same error. the only difference is that now I get an empty epa_result.jplace in my output directory!
from picrust2.
you might be having a different issue then... can you post more detailed error logs (for example the epa_info file)?
from picrust2.
This the log file.
Thanks.
INFO Selected: Output dir: /mnt/c/microbiome/Microbiome/temp/picrust2_out_pipeline/intermediate/place_seqs/epa_out/
INFO Selected: Query file: /mnt/c/microbiome/Microbiome/temp/picrust2_out_pipeline/intermediate/place_seqs/study_seqs_hmmalign.fasta
INFO Selected: Tree file: /home/nasimlinux/picrust2/picrust2/default_files/prokaryotic/pro_ref/pro_ref.tre
INFO Selected: Reference MSA: /mnt/c/microbiome/Microbiome/temp/picrust2_out_pipeline/intermediate/place_seqs/ref_seqs_hmmalign.fasta
INFO Selected: Filtering by accumulated threshold: 0.5
INFO Selected: Maximum number of placements per query: 20
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/nasimlinux/picrust2/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)
INFO Output file: /mnt/c/microbiome/Microbiome/temp/picrust2_out_pipeline/intermediate/place_seqs/epa_out/epa_result.jplace
from picrust2.
ok so it fails silently... would it be possible for you to send me your data directly? My address is pierre.barberaath-its.org
from picrust2.
Hi!
I'm experiencing this same error, trying to use the place_seqs.py function of pircust2. Did you manage to solve this error somehow?
I just installed the latest version of PICRUSt2 yesterday from conda channels, so I should be using the latest version of everything and I cannot figure out where the error could be.
I'm pasting the log file below.
Thanks in advance!
Marc
Error running this command:
epa-ng --tree /home/marc/miniconda3/envs/picrust2/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref/pro_ref.tre --ref-msa placement_working/ref_seqs_hmmalign.fasta --query placement_working/study_seqs_hmmalign.fasta --chunk-size 5000 -T 0 -m /home/marc/miniconda3/envs/picrust2/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref/pro_ref.model -w placement_working/epa_out --filter-acc-lwr 0.5 --filter-max 20
STDOUT of failed command:
INFO Selected: Output dir: placement_working/epa_out/
INFO Selected: Query file: placement_working/study_seqs_hmmalign.fasta
INFO Selected: Tree file: /home/marc/miniconda3/envs/picrust2/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref/pro_ref.tre
INFO Selected: Reference MSA: placement_working/ref_seqs_hmmalign.fasta
INFO Selected: Filtering by accumulated threshold: 0.5
INFO Selected: Maximum number of placements per query: 20
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/marc/miniconda3/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: 0
INFO ______ ____ ___ _ __ ______
/ // __ \ / | / | / // /
/ __/ / // // /| | ______ / |/ // / __
/ / / // ___ |/_____// /| // // /
/_____/// // || // |/ __/ (v0.3.5)
INFO Output file: placement_working/epa_out/epa_result.jplace
STDERR of failed command:
from picrust2.
Hi @pxtm , would you mind sending me your input files privately at gavinmdouglas[AT]gmail[DOT]com ?
It will be difficult to troubleshoot this problem otherwise.
from picrust2.
sure, I'll send it to you.
from picrust2.
Hi @pxtm, you can also send me the files that were passed to EPA-ng and I'll have a look
from picrust2.
Hey @pxtm , thanks for sending me the input files. I think the issue is that you ran out of memory. It took 18.6 GB of RAM for me to run EPA-NG with that input FASTA.
You have ~17,000 input ASVs so the easiest thing to do would be to discard rare sequences. You probably want to do this anyway - I took a quick look at your input files and noticed most of the ASVs are extremely rare, for instance:
- 10,992 ASVs are found in only 1 sample
- 7,558 ASVs sum to < 0.1% of the relative abundance across all samples
You can filter out these rare ASVs (although you may want to use different cut-offs) with the filtering commands in QIIME2.
from picrust2.
If ASVs are query sequences, then reducing them will not affect the memory footprint in any significant way, as the architecture of EPA-ng is such that query sequences are streamed through. The number of queries in the core at any time is solely dependent on the --chunk-size
, but even limiting that will not help much, as the data needed for the tree causes by far the biggest part of the memory footprint.
The easiest solution would be to run it on a machine with more memory available, or to do placement on a smaller tree. Unfortunately we don't have any memory management strategies in place yet.
from picrust2.
Hi @gavinmdouglas and @Pbdas!
Thanks for your inputs!
I'll try both approaches and see if I can solve this somehow.
I'll let you know.
Thanks again :)
from picrust2.
Ah thanks for clarifying @Pbdas.
In this case one possible solution would be to use the QIIME2 plugin instead, which currently uses the SEPP plugin for the placement step (that requires less RAM): https://github.com/picrust/picrust2/wiki/q2-picrust2-Tutorial
from picrust2.
Hello,
I got this error when I ran
qiime picrust2 full-pipeline
--i-table table.qza
--i-seq rep-seq.qza
--output-dir q2-picrust2_output
--p-threads 3
--p-hsp-method pic
--p-max-nsti 2
--verbose
Standard output of failed command:
""
Standard error of failed command:
"hmmalign --trim --dna --mapali /home/eman/anaconda3/envs/qiime2-2019.10/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref/pro_ref.fna.gz --informat FASTA -o /tmp/tmpt6__he17/picrust2_out/intermediate/place_seqs/query_align.stockholm /home/eman/anaconda3/envs/qiime2-2019.10/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref/pro_ref.hmm /tmp/tmpt6__he17/seqs.fna
epa-ng --tree /home/eman/anaconda3/envs/qiime2-2019.10/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref/pro_ref.tre --ref-msa /tmp/tmpt6__he17/picrust2_out/intermediate/place_seqs/ref_seqs_hmmalign.fasta --query /tmp/tmpt6__he17/picrust2_out/intermediate/place_seqs/study_seqs_hmmalign.fasta --chunk-size 5000 -T 3 -m /home/eman/anaconda3/envs/qiime2-2019.10/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref/pro_ref.model -w /tmp/tmpt6__he17/picrust2_out/intermediate/place_seqs/epa_out --filter-acc-lwr 0.99 --filter-max 100
Error running this command:
epa-ng --tree /home/eman/anaconda3/envs/qiime2-2019.10/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref/pro_ref.tre --ref-msa /tmp/tmpt6__he17/picrust2_out/intermediate/place_seqs/ref_seqs_hmmalign.fasta --query /tmp/tmpt6__he17/picrust2_out/intermediate/place_seqs/study_seqs_hmmalign.fasta --chunk-size 5000 -T 3 -m /home/eman/anaconda3/envs/qiime2-2019.10/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref/pro_ref.model -w /tmp/tmpt6__he17/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/tmpt6__he17/picrust2_out/intermediate/place_seqs/epa_out/
INFO Selected: Query file: /tmp/tmpt6__he17/picrust2_out/intermediate/place_seqs/study_seqs_hmmalign.fasta
INFO Selected: Tree file: /home/eman/anaconda3/envs/qiime2-2019.10/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref/pro_ref.tre
INFO Selected: Reference MSA: /tmp/tmpt6__he17/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/eman/anaconda3/envs/qiime2-2019.10/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: /tmp/tmpt6__he17/picrust2_out/intermediate/place_seqs/epa_out/epa_result.jplace
"
Standard error of failed command:
""
"
I did it on a smaller number of samples and it was okay?
Is my machine run out of memory??
Thanks
Eman
from picrust2.
Hi @emankhalaf,
If the same command worked with fewer input samples then I would guess that you ran out of memory. You could also try to run the same command with fewer threads to see if that solves the issue.
Best,
Gavin
from picrust2.
Yes, it works when I reduced threads to 1, but it tripled the time!
Thanks
Eman
from picrust2.
I also meet the same problems with EPA-ng 0.3.6and Picrust2.3.b
Error running this command:
place_seqs.py --study_fasta seqs.fna --ref_dir /home/z/miniconda3/envs/picrust2/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref --out_tree picrust2_out/out.tre --processes 1 --intermediate picrust2_out/intermediate/place_seqs --min_align 0.8 --chunk_size 5000
Standard error of the above failed command:
Error running this command:
epa-ng --tree /home/z/miniconda3/envs/picrust2/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref/pro_ref.tre --ref-msa picrust2_out/intermediate/place_seqs/ref_seqs_hmmalign.fasta --query picrust2_out/intermediate/place_seqs/study_seqs_hmmalign.fasta --chunk-size 5000 -T 1 -m /home/z/miniconda3/envs/picrust2/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref/pro_ref.model -w picrust2_out/intermediate/place_seqs/epa_out --filter-acc-lwr 0.99 --filter-max 100
Standard output of the above failed command:
INFO Selected: Output dir: picrust2_out/intermediate/place_seqs/epa_out/
INFO Selected: Query file: picrust2_out/intermediate/place_seqs/study_seqs_hmmalign.fasta
INFO Selected: Tree file: /home/z/miniconda3/envs/picrust2/lib/python3.6/site-packages/picrust2/default_files/prokaryotic/pro_ref/pro_ref.tre
INFO Selected: Reference MSA: 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/z/miniconda3/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: 1
INFO ______ ____ ___ _ __ ______
/ // __ \ / | / | / // /
/ __/ / // // /| | ______ / |/ // / __
/ / / // ___ |/_____// /| // // /
/_____/// // || // |/ __/ (v0.3.6)
INFO Output file: picrust2_out/intermediate/place_seqs/epa_out/epa_result.jplace
from picrust2.
Hi @zlabx, how much RAM do you have? If you have < 16 GB of RAM then EPA-ng often will run into issues like this.
Best,
Gavin
from picrust2.
Hi @zlabx, how much RAM do you have? If you have < 16 GB of RAM then EPA-ng often will run into issues like this.
Best,
Gavin
Any other solutions for this problem?
from picrust2.
Yes - you can use SEPP to place your ASVs instead, see: https://github.com/picrust/picrust2/wiki/Swapping-in-SEPP-for-read-placement-with-q2-picrust2
from picrust2.
Yes - you can use SEPP to place your ASVs instead, see: https://github.com/picrust/picrust2/wiki/Swapping-in-SEPP-for-read-placement-with-q2-picrust2
well, thanks, We hope this limitation may be solved in Picrust3, haha, Thank you again for your help!
from picrust2.
@zlabx sorry for the incovenience, this is an issue with epa-ng, which can be pretty memory hungry. I am working on a memory saver mode which will probably lower the required amount by orders of magnitude (at the expense of runtime, not sure how much yet), but its still a few months away
from picrust2.
Hi @emankhalaf,
If the same command worked with fewer input samples then I would guess that you ran out of memory. You could also try to run the same command with fewer threads to see if that solves the issue.
Best,
Gavin
I got the same problem and it indeed is because ran out of memory.
Thanks Gavin!
from picrust2.
@zlabx sorry for the incovenience, this is an issue with epa-ng, which can be pretty memory hungry. I am working on a memory saver mode which will probably lower the required amount by orders of magnitude (at the expense of runtime, not sure how much yet), but its still a few months away
We found that Picrust2 do not support the running on Virtual Machine with 16G RAM,We finally solved the problem by using Windows S Linux, WSL,and it works correctly now. thank you for your help
from picrust2.
Related Issues (20)
- Error in predicting functions using fungal ITS data HOT 4
- Generating a KEGG module table from the KO table HOT 1
- place_seqs.py --ref_dir questions HOT 2
- FutureWarning / deprecation warnings HOT 1
- Error in runing picrust 2 HOT 2
- COG3512 was eliminated in the latest COG database (2020) HOT 1
- Retrieving more Fungi genomes for ITS and 18S predictions HOT 3
- Error picrust2 picrust2_pipeline.py HOT 3
- i get "1 failed, 60 passed" when i run the tests to verify the installation after installed picrust2-2.5.0 from source HOT 12
- Invalid model name error HOT 3
- PICRUSt2 with other database(e.g. cowpi) HOT 2
- warning line 341 "metagenome_pipeline.py" HOT 1
- Unable to install v2.5.1 on MackBook M1 with Monterey HOT 11
- Running PICRUSt on ITS sequences HOT 1
- Calling in ITS reference HOT 5
- Getting Reverse Complementary Seqs HOT 1
- q2-picrust2 Tutorial error_ "pro_ref.raxml_info" could not be found. HOT 1
- "Stopping - no ASV ids overlap between input FASTA and sequence abundance table" despite having exact ASV id matching. HOT 3
- PICRUSt2 Data and STAMP HOT 1
- use --per_sequence_contrib but find some functions have empty 'norm_taxon_function_contrib' HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from picrust2.