Can I install q2-picrust2 in qiime2-2023.5?

Hi everyone!
I am trying to install q2-picrust2 but it seems to be available only for 2023.2 version. Is there any way to use this as a plugin in the latest qiime2 version (2023.5)
Thanks!
Melisa

Hi @Melisa_Olivelli,
I just tried and I was able to follow the install instructions for q2-picrust in q2-2023.5 so I think it should work for you!
:turtle:

1 Like

Thanks @cherman2 ! I will try with the manual instructions.
Cheers!
Melisa

Hi again @cherman2 ,
I installed it from source and the installation was succesfull. But when I run the pytest I got one failure:

=============================================== short test summary info
FAILED tests/test_place_seqs.py::place_seqs_tests::test_run_place_seqs_pipeline_sepp - SystemExit: 1
======================================= 1 failed, 60 passed in 67.13s (0:01:07).

I found on github (pytest error in WSL (Windows Subsystem for Linux) · Issue #182 · picrust/picrust2 · GitHub) that they say that should work if SEPP is the only part of the pipeline that is having issues. This is because the default placement tool used is EPA-ng, not SEPP. The downside is that EPA-ng uses much more RAM.

Do you have any other advice?

Thanks again!

Hello!
First, I would start from a more general question: what is the environment you're working on? Usage of PICRUSt is misleading almost everywhere except human gut.

Cheers
V

1 Like

Hi @Melisa_Olivelli, That sounds like it should be fine, as long as you're not planning to use SEPP and it sounds like you're not. Good luck!

1 Like

Hello! I am analyzing an iron reducers consortium and soil microbiome. Is there any other way to do it? I am completely new to metageomes and only know how to use qiime2 (with a lot of effort and mistakes!)
Thanks!
Melisa

Hi again @cherman2 !
I tryied to use PICRUSt and it said the plugin doesn't exist. I tried to install it again following the instructions (Manually install QIIME 2 plugin · picrust/picrust2 Wiki · GitHub) and I got the following:
(base) melisa@DESKTOP-IN0O610:~ conda activate qiime2-2023.5 (qiime2-2023.5) melisa@DESKTOP-IN0O610:~ cd picrust2-2.5.2
(qiime2-2023.5) melisa@DESKTOP-IN0O610:~/picrust2-2.5.2$ pip install -e .
Obtaining file:///home/melisa/picrust2-2.5.2
Preparing metadata (setup.py) ... done
Requirement already satisfied: numpy in /home/melisa/miniconda3/envs/qiime2-2023.5/lib/python3.8/site-packages (from PICRUSt2==2.5.2) (1.23.5)
Requirement already satisfied: h5py in /home/melisa/miniconda3/envs/qiime2-2023.5/lib/python3.8/site-packages (from PICRUSt2==2.5.2) (2.10.0)
Requirement already satisfied: joblib in /home/melisa/miniconda3/envs/qiime2-2023.5/lib/python3.8/site-packages (from PICRUSt2==2.5.2) (1.2.0)
Requirement already satisfied: biom-format in /home/melisa/miniconda3/envs/qiime2-2023.5/lib/python3.8/site-packages (from PICRUSt2==2.5.2) (2.1.12)
Requirement already satisfied: click in /home/melisa/miniconda3/envs/qiime2-2023.5/lib/python3.8/site-packages (from biom-format->PICRUSt2==2.5.2) (8.1.3)
Requirement already satisfied: scipy>=1.3.1 in /home/melisa/miniconda3/envs/qiime2-2023.5/lib/python3.8/site-packages (from biom-format->PICRUSt2==2.5.2) (1.8.1)
Requirement already satisfied: pandas>=0.20.0 in /home/melisa/miniconda3/envs/qiime2-2023.5/lib/python3.8/site-packages (from biom-format->PICRUSt2==2.5.2) (1.5.3)
Requirement already satisfied: cython>=0.29 in /home/melisa/miniconda3/envs/qiime2-2023.5/lib/python3.8/site-packages (from biom-format->PICRUSt2==2.5.2) (0.29.35)
Requirement already satisfied: six in /home/melisa/miniconda3/envs/qiime2-2023.5/lib/python3.8/site-packages (from h5py->PICRUSt2==2.5.2) (1.16.0)
Requirement already satisfied: python-dateutil>=2.8.1 in /home/melisa/miniconda3/envs/qiime2-2023.5/lib/python3.8/site-packages (from pandas>=0.20.0->biom-format->PICRUSt2==2.5.2) (2.8.2)
Requirement already satisfied: pytz>=2020.1 in /home/melisa/miniconda3/envs/qiime2-2023.5/lib/python3.8/site-packages (from pandas>=0.20.0->biom-format->PICRUSt2==2.5.2) (2023.3)
Installing collected packages: PICRUSt2
Running setup.py develop for PICRUSt2
Successfully installed PICRUSt2-2.5.2
(qiime2-2023.5) melisa@DESKTOP-IN0O610:~/picrust2-2.5.2$ qiime dev refresh-cache
QIIME is caching your current deployment for improved performance. This may take a few moments and should only happen once per deployment.
(qiime2-2023.5) melisa@DESKTOP-IN0O610:~/picrust2-2.5.2$ qiime picrust2 --help
Error: QIIME 2 has no plugin/command named 'picrust2'.
(qiime2-2023.5) melisa@DESKTOP-IN0O610:~/picrust2-2.5.2$ qiime PICRUSt2-2.5.2 --help
Error: QIIME 2 has no plugin/command named 'PICRUSt2-2.5.2'.

I don't know why I keep getting the message of error.
Thanks!
Cheers!
Melisa

Hi!
Perhaps I got a more straightforward solution, which is installing PICURST2 in MAMBA, much faster than conda. Worth to try.

Hi! I will try that! But can I use the files normally after installing picrust2 using mamba? Sorry about the silly questions but I am completely new at this.
Thanks!
Regards

Hi @Melisa_Olivelli,

Yes! Mamba is a package manager, just like conda is - it just uses a faster solver, so environment creation is usually much more efficient.

Cheers :lizard:

Hi!
I installed picrust2 with MAMBA. But I guess I am not doing things right to analyze my data. I activated the picrust environment. Put the rep-seqs.qza and the table.qza in the picrust2 folder and used the following commands, with no success. Don´t know what I am doing wrong:

(picrust2) melisa@DESKTOP-IN0O610:~/picrust2-2.5.2$ picrust2_pipeline.py -s PE-rep-seqs.qza -i PE-table.qza -o picrust2_out_pipeline -p 1

/home/melisa/miniconda3/envs/picrust2/bin/picrust2_pipeline.py:4: DeprecationWarning: pkg_resources is deprecated as an API. See Package Discovery and Resource Access using pkg_resources - setuptools 68.1.0.post20230815 documentation
import('pkg_resources').require('PICRUSt2==2.5.2')
Traceback (most recent call last):
File "/home/melisa/miniconda3/envs/picrust2/bin/picrust2_pipeline.py", line 7, in
exec(compile(f.read(), file, 'exec'))
File "/home/melisa/picrust2-2.5.2/scripts/picrust2_pipeline.py", line 277, in
main()
File "/home/melisa/picrust2-2.5.2/scripts/picrust2_pipeline.py", line 239, in main
func_outfiles, pathway_outfiles = full_pipeline(study_fasta=args.study_fasta,
File "/home/melisa/picrust2-2.5.2/picrust2/pipeline.py", line 116, in full_pipeline
check_overlapping_seqs(study_fasta, input_table, verbose)
File "/home/melisa/picrust2-2.5.2/picrust2/pipeline.py", line 361, in check_overlapping_seqs
FASTA_ASVs = set(read_fasta(in_seq).keys())
File "/home/melisa/picrust2-2.5.2/picrust2/util.py", line 37, in read_fasta
for line in fasta_in:
File "/home/melisa/miniconda3/envs/picrust2/lib/python3.8/codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 10-11: invalid continuation byte

Hope you could guide me a little bit further.
Regards,
Melisa

Hi @Melisa_Olivelli,

It looks like this is a different error than you were running into previously. Here's where the issue is coming from:

This is occurring when the FASTA file is being read - it seems like there is a stray character, or something that's been malformed with your FASTA file. You could confirm whether this is an issue with picrust2 or your input file by using a different input as a test - something like data from the Moving Pictures tutorial, since we know there aren't any issues with the formatting of any of those data.

Hope this helps :lizard:

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