NBChub / bgcflow

Snakemake workflow for the analysis of biosynthetic gene clusters across large collections of genomes (pangenomes)
https://github.com/NBChub/bgcflow/wiki
MIT License
35 stars 9 forks source link

Error in prokka can't find hmmer3 #108

Closed robertosanchezn closed 2 years ago

robertosanchezn commented 2 years ago

It only happens with prokka 1.14.6

https://github.com/tseemann/prokka/issues/598

Bio::SearchIO: hmmer3 cannot be found Exception ------------- EXCEPTION ------------- MSG: Failed to load module Bio::SearchIO::hmmer3. Can't locate Bio/SearchIO/hmmer3.pm in @INC (you may need to install the Bio::SearchIO::hmmer3 module) (@INC contains: /home/roberto/bgcflow/.snakemake/conda/8c98b60261522d9ab5dd3fca4507ea80/lib/perl5/5.32/site_perl /home/roberto/bgcflow/.snakemake/conda/8c98b60261522d9ab5dd3fca4507ea80/lib/perl5/site_perl /home/roberto/bgcflow/.snakemake/conda/8c98b60261522d9ab5dd3fca4507ea80/lib/perl5/5.32/vendor_perl /home/roberto/bgcflow/.snakemake/conda/8c98b60261522d9ab5dd3fca4507ea80/lib/perl5/vendor_perl /home/roberto/bgcflow/.snakemake/conda/8c98b60261522d9ab5dd3fca4507ea80/lib/perl5/5.32/core_perl /home/roberto/bgcflow/.snakemake/conda/8c98b60261522d9ab5dd3fca4507ea80/lib/perl5/core_perl .) at /home/roberto/bgcflow/.snakemake/conda/8c98b60261522d9ab5dd3fca4507ea80/lib/perl5/site_perl/Bio/Root/Root.pm line 520. STACK Bio::Root::Root::_load_module /home/roberto/bgcflow/.snakemake/conda/8c98b60261522d9ab5dd3fca4507ea80/lib/perl5/site_perl/Bio/Root/Root.pm:522 STACK (eval) /home/roberto/bgcflow/.snakemake/conda/8c98b60261522d9ab5dd3fca4507ea80/lib/perl5/site_perl/Bio/SearchIO.pm:620 STACK Bio::SearchIO::_load_format_module /home/roberto/bgcflow/.snakemake/conda/8c98b60261522d9ab5dd3fca4507ea80/lib/perl5/site_perl/Bio/SearchIO.pm:619 STACK Bio::SearchIO::new /home/roberto/bgcflow/.snakemake/conda/8c98b60261522d9ab5dd3fca4507ea80/lib/perl5/site_perl/Bio/SearchIO.pm:217 STACK toplevel /home/roberto/bgcflow/.snakemake/conda/8c98b60261522d9ab5dd3fca4507ea80/bin/prokka:1113 ------------------------------------- For more information about the SearchIO system please see the SearchIO docs. This includes ways of checking for formats at compile time, not run time Can't call method "next_result" on an undefined value at /home/roberto/bgcflow/.snakemake/conda/8c98b60261522d9ab5dd3fca4507ea80/bin/prokka line 1114.

matinnuhamunada commented 2 years ago

This issue seems to be quite recent?

Maybe we should explicitly install hmmer3 in the environment file? https://bioconda.github.io/recipes/hmmer/README.html

https://github.com/NBChub/bgcflow/blob/d0a561d60ea9b0d816aab69c82d22db9d077d881/workflow/envs/prokka.yaml#L1-L10

Try changing it to:

name: prokka_env 
 channels: 
   - conda-forge 
   - bioconda 
   - defaults 
 dependencies: 
   - prokka=1.14.6 
   - ncbi-genome-download=0.3.1
   - hmmer >=3.1b2
   - pandas 
   - biopython 

Or you can also explicitly install all prokka's requirement as mentioned in bioconda: https://bioconda.github.io/recipes/prokka/README.html

Depends aragorn >=1.2barrnap >=0.7blast >=2.7.1hmmer >=3.1b2infernal >=1.1.2minced >=0.3parallel >=20180522perl >=5.32.1,<6.0a0 *_perl5perl-bioperl >=1.7.2perl-xml-simpleprodigal >=2.6tbl2asn-forever >=25.7

matinnuhamunada commented 2 years ago

Found the issue @robertosanchezn , apparently prokka broke on the latest bioperl (1.7.8). Should stick with 1.7.2.

name: prokka_env 
 channels: 
   - conda-forge 
   - bioconda 
   - defaults 
 dependencies: 
   - prokka=1.14.6 
   - perl-bioperl=1.7.2
   - ncbi-genome-download=0.3.1
   - pandas 
   - biopython 
robertosanchezn commented 2 years ago

It works fine with bioperl 1.7.2. Thanks