PICRUSt2 installation errors

Hello,

I'm trying to install PICRUSt2 and am using qiime2-2019.1 in VirtualBox.

Apologies if this seems really basic but I have been struggling with this for literally weeks now and have finally admitted defeat and come to ask for help!

First of all I tried to follow the tutorial, which states "These instructions assume you have a conda environment named qiime2-2019.10 installed." I don't - I have 2019.1 and I'm not keen on changing it because then I would need to update VirtualBox and I would have to contact my IT department to get them to do that for me, plus I'm worried about how it might affect my existing VMs. I have seen a thread on this forum where someone used PICRUSt2 in qiime-2019.1 so I assume it's possible? If not then fair enough!

This is what I initially ran:
conda install q2-picrust2=2019.1 -c conda-forge -c bioconda -c gavinmdouglas

In the tutorial it actually has "conda install q2-picrust2=2019.10..." but I changed the version to "2019.1" because the tutorial said "Note that the plugin version for qiime2-2019.10 is specified." I figured, specify it for my qiime2-2019.1 environment. That didn't work and this is the error message I got:

Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.

PackagesNotFoundError: The following packages are not available from current channels:

  - q2-picrust2=2019.1

Current channels:

  - https://conda.anaconda.org/conda-forge/linux-64
  - https://conda.anaconda.org/conda-forge/noarch
  - https://conda.anaconda.org/bioconda/linux-64
  - https://conda.anaconda.org/bioconda/noarch
  - https://conda.anaconda.org/gavinmdouglas/linux-64
  - https://conda.anaconda.org/gavinmdouglas/noarch
  - https://repo.anaconda.com/pkgs/main/linux-64
  - https://repo.anaconda.com/pkgs/main/noarch
  - https://repo.anaconda.com/pkgs/r/linux-64
  - https://repo.anaconda.com/pkgs/r/noarch

To search for alternate channels that may provide the conda package you're
looking for, navigate to

    https://anaconda.org

and use the search bar at the top of the page.

So then I tried again, this time leaving the version as qiime2-2019.10. The output/error message I got from this was so gigantic that it wouldn't all fit in my terminal window, so I can't actually copy and paste the whole thing, but I've attached as much as possible (from the bottom half) in a word document. q2-picrust2 error.txt (590.3 KB)

So then I tried to install from source, as instructed in the tutorial. What an ordeal that was!! It took days and got so messy that I can't even say what I eventually did to get it to work, but I finally got it. However, this didn't work either:

(picrust2) qiime2@qiime2core2019-1:~/Documents/PICRUSt$ picrust2_pipeline.py -s rep-seqs.qza/dna-sequences.fasta -i table-no-23-24-63-64-69-70-minsample5-minfreq50-no-ctrls-no-chloroplasts-BIOM-format/feature-table.biom -o picrust2_out_pipeline -p 1

Error running this command:
place_seqs.py --study_fasta rep-seqs.qza/dna-sequences.fasta --ref_dir /home/qiime2/picrust2-2.3.0-b/picrust2/default_files/prokaryotic/pro_ref --out_tree picrust2_out_pipeline/out.tre --processes 1 --intermediate picrust2_out_pipeline/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/qiime2/picrust2-2.3.0-b/picrust2/default_files/prokaryotic/pro_ref/pro_ref.tre --ref-msa picrust2_out_pipeline/intermediate/place_seqs/ref_seqs_hmmalign.fasta --query picrust2_out_pipeline/intermediate/place_seqs/study_seqs_hmmalign.fasta --chunk-size 5000 -T 1 -m /home/qiime2/picrust2-2.3.0-b/picrust2/default_files/prokaryotic/pro_ref/pro_ref.model -w picrust2_out_pipeline/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_pipeline/intermediate/place_seqs/epa_out/
INFO Selected: Query file: picrust2_out_pipeline/intermediate/place_seqs/study_seqs_hmmalign.fasta
INFO Selected: Tree file: /home/qiime2/picrust2-2.3.0-b/picrust2/default_files/prokaryotic/pro_ref/pro_ref.tre
INFO Selected: Reference MSA: picrust2_out_pipeline/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/picrust2-2.3.0-b/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_pipeline/intermediate/place_seqs/epa_out/epa_result.jplace

From what I've read, I think this is a RAM issue, so I have requested an upgrade but in the meantime, I wanted to use the q2-picrust2 plugin because I know you can use the alternative pipeline to reduce the RAM requirements.

Sorry for the length of this post. If anybody can help me out here I would be really appreciative. :hugs:

Lindsay

(Edited to move file upload text!)

1 Like

Welcome back @xchromosome!

A compatible q2-picrust2 version does not exist for releases earlier than 2019.10. You should be updating anyway to get the latest features!

That means that it should be installed in a QIIME 2 2019.10 environment, not that you should change the number to whatever version of QIIME 2 you are running (because those q2-picrust2 versions do not exist, and that's what the error is telling you).

Basically, this is telling you that q2-picrust2-2019.10 is totally incompatible with QIIME 2 2019.1... you should install the appropriate QIIME 2 release before installing q2-picrust2.

I'd say it's time to bug IT to install the appropriate QIIME 2 release for working with q2-picrust2!

Good luck!

1 Like

Thank you for your help!

That explains it. I actually installed more RAM and ran the standalone version of PICRUSt fine, but I’m struggling with the output as I want to import the .tsv files into QIIME 2 and can’t seem to find how to do this. Anyway, I don’t want to stray too far from the original topic! But I’m thinking it might be easier just to install the newer version of QIIME 2 and use the plugin version. I will need to update VirtualBox in order to do this.

My question is… 1) are all QIIME 2 versions including and above 2019.10 equally compatible with q2-picrust2? Should I just get the most recent one? And 2) if I install the newest version of VirtualBox, will I lose all my previous VMs and if so, is there a foolproof way of getting them back?

Thank you! :hugs:

I'm not sure - @gmdouglas, can you please comment on that?

No, each VM is independent - I often have 2-10 VMs installed on my computer.

Hope that helps!

Hey @xchromosome,

It may not be possible to install it with the latest version of QIIME 2. The latest version of the plugin was written for the 2019.10 version of QIIME 2. QIIME 2 and PICRUSt2 share several dependencies and when incompatible versions are required by either this makes them impossible to install together in the same environment. When I make the next version of PICRUSt2 I’ll make sure all dependency versions are compatible with the latest QIIME 2, but this will keep being an iterative process unfortunately I think.

Best,

Gavin

3 Likes

Thank you! I have installed it in the 2019.10 version. I’ve also just updated to 2020.2 so tried installing it there too just to see if it worked, and can confirm it does not :sweat_smile:

Thanks again everyone for your help!

Lindsay

1 Like

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.