Giter VIP home page Giter VIP logo

Comments (36)

Pbdas avatar Pbdas commented on July 21, 2024 2

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.

lczech avatar lczech commented on July 21, 2024 1

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.

pxtm avatar pxtm commented on July 21, 2024 1

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.

gavinmdouglas avatar gavinmdouglas commented on July 21, 2024

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.

apcamargo avatar apcamargo commented on July 21, 2024

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.

apcamargo avatar apcamargo commented on July 21, 2024

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.

heuklang avatar heuklang commented on July 21, 2024

@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.

gavinmdouglas avatar gavinmdouglas commented on July 21, 2024

Thanks @heuklang and @apcamargo , this was also fixed in #58, which I made a new release for.

from picrust2.

Nasimst avatar Nasimst commented on July 21, 2024

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.

Pbdas avatar Pbdas commented on July 21, 2024

Hi,

the issue should be fixed in EPA-ng v0.3.5! Update either EPA-ng or picrust directly

Pierre

from picrust2.

Nasimst avatar Nasimst commented on July 21, 2024

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.

gavinmdouglas avatar gavinmdouglas commented on July 21, 2024

Thanks @Pbdas - I've made a PR for the gappa recipe here by the way: bioconda/bioconda-recipes#13851

from picrust2.

Nasimst avatar Nasimst commented on July 21, 2024

Thanks a lot, @Pbdas .

from picrust2.

Nasimst avatar Nasimst commented on July 21, 2024

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.

Pbdas avatar Pbdas commented on July 21, 2024

you might be having a different issue then... can you post more detailed error logs (for example the epa_info file)?

from picrust2.

Nasimst avatar Nasimst commented on July 21, 2024

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.

Pbdas avatar Pbdas commented on July 21, 2024

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.

pxtm avatar pxtm commented on July 21, 2024

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.

gavinmdouglas avatar gavinmdouglas commented on July 21, 2024

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.

pxtm avatar pxtm commented on July 21, 2024

sure, I'll send it to you.

from picrust2.

Pbdas avatar Pbdas commented on July 21, 2024

Hi @pxtm, you can also send me the files that were passed to EPA-ng and I'll have a look

from picrust2.

gavinmdouglas avatar gavinmdouglas commented on July 21, 2024

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.

Pbdas avatar Pbdas commented on July 21, 2024

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.

pxtm avatar pxtm commented on July 21, 2024

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.

gavinmdouglas avatar gavinmdouglas commented on July 21, 2024

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.

emankhalaf avatar emankhalaf commented on July 21, 2024

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.

gavinmdouglas avatar gavinmdouglas commented on July 21, 2024

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.

emankhalaf avatar emankhalaf commented on July 21, 2024

Yes, it works when I reduced threads to 1, but it tripled the time!
Thanks
Eman

from picrust2.

zlabx avatar zlabx commented on July 21, 2024

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.

gavinmdouglas avatar gavinmdouglas commented on July 21, 2024

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.

zlabx avatar zlabx commented on July 21, 2024

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.

gavinmdouglas avatar gavinmdouglas commented on July 21, 2024

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.

zlabx avatar zlabx commented on July 21, 2024

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.

Pbdas avatar Pbdas commented on July 21, 2024

@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.

Sylvia-MtHuang avatar Sylvia-MtHuang commented on July 21, 2024

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 avatar zlabx commented on July 21, 2024

@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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.