tseemann / prokka

:zap: :aquarius: Rapid prokaryotic genome annotation
839 stars 226 forks source link

Issue calling Hmmer when running Prokka #614

Open skbrimer opened 2 years ago

skbrimer commented 2 years ago

Hello Prokka Team,

I am trying to run prokka on an Ubuntu 20.04 LTS laptop using a fresh install (installed 20FEB2022) of Prokka via conda (minconda3) and I'm not sure how to troubleshoot this issue. This error is repeatable and hoappens when I use a snakemake pipeline or when I try running one sample via the command line. According to the conda env hmmr is there.

I installed prokka via conda in its own environment and then activated the environment in order to do the analysis.

Any help in resolving this error will be greatly appreciated.

Cheers, Sean

[17:50:50] Will use hmmer3 to search against /home/sean/miniconda3/envs/prokka/db/hmm/HAMAP.hmm with 4 CPUs
[17:50:50] Running: cat 3\-P2131619\-Ery_prokka\/3\-P2131619\-Ery\.HAMAP\.hmm\.tmp\.27952\.faa | parallel --gnu --plain -j 4 --block 30247 --recstart '>' --pipe hmmscan --noali --notextw --acc -E 1e-09 --cpu 1 /home/sean/miniconda3/envs/prokka/db/hmm/HAMAP.hmm /dev/stdin > 3\-P2131619\-Ery_prokka\/3\-P2131619\-Ery\.HAMAP\.hmm\.tmp\.27952\.hmmer3 2> /dev/null
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/sean/miniconda3/envs/prokka/lib/perl5/5.32/site_perl /home/sean/miniconda3/envs/prokka/lib/perl5/site_perl /home/sean/miniconda3/envs/prokka/lib/perl5/5.32/vendor_perl /home/sean/miniconda3/envs/prokka/lib/perl5/vendor_perl /home/sean/miniconda3/envs/prokka/lib/perl5/5.32/core_perl /home/sean/miniconda3/envs/prokka/lib/perl5/core_perl .) at /home/sean/miniconda3/envs/prokka/lib/perl5/site_perl/Bio/Root/Root.pm line 520.

STACK Bio::Root::Root::_load_module /home/sean/miniconda3/envs/prokka/lib/perl5/site_perl/Bio/Root/Root.pm:522
STACK (eval) /home/sean/miniconda3/envs/prokka/lib/perl5/site_perl/Bio/SearchIO.pm:620
STACK Bio::SearchIO::_load_format_module /home/sean/miniconda3/envs/prokka/lib/perl5/site_perl/Bio/SearchIO.pm:619
STACK Bio::SearchIO::new /home/sean/miniconda3/envs/prokka/lib/perl5/site_perl/Bio/SearchIO.pm:217
STACK toplevel /home/sean/miniconda3/envs/prokka/bin/prokka:1113
-------------------------------------
# packages in environment at /home/sean/miniconda3/envs/prokka:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       1_gnu    conda-forge
aragorn                   1.2.38               h779adbc_4    bioconda
barrnap                   0.9                  hdfd78af_4    bioconda
bedtools                  2.30.0               h7d7f7ad_2    bioconda
blast                     2.12.0               h3289130_3    bioconda
bzip2                     1.0.8                h7f98852_4    conda-forge
c-ares                    1.18.1               h7f98852_0    conda-forge
ca-certificates           2021.10.8            ha878542_0    conda-forge
clustalw                  2.1                  h7d875b9_6    bioconda
curl                      7.81.0               h2574ce0_0    conda-forge
entrez-direct             16.2                 he881be0_0    bioconda
expat                     2.4.4                h9c3ff4c_0    conda-forge
hmmer                     3.3.2                h1b792b2_1    bioconda
infernal                  1.1.4                h779adbc_0    bioconda
krb5                      1.19.2               hcc1bbae_3    conda-forge
ld_impl_linux-64          2.36.1               hea4e1c9_2    conda-forge
libcurl                   7.81.0               h2574ce0_0    conda-forge
libedit                   3.1.20191231         he28a2e2_2    conda-forge
libev                     4.33                 h516909a_1    conda-forge
libffi                    3.4.2                h7f98852_5    conda-forge
libgcc-ng                 11.2.0              h1d223b6_12    conda-forge
libgomp                   11.2.0              h1d223b6_12    conda-forge
libiconv                  1.16                 h516909a_0    conda-forge
libidn11                  1.34                 h1cef754_0    conda-forge
libnghttp2                1.46.0               h812cca2_0    conda-forge
libnsl                    2.0.0                h7f98852_0    conda-forge
libssh2                   1.10.0               ha56f1ee_2    conda-forge
libstdcxx-ng              11.2.0              he4da1e4_12    conda-forge
libzlib                   1.2.11            h36c2ea0_1013    conda-forge
minced                    0.4.2                hdfd78af_1    bioconda
ncurses                   6.3                  h9c3ff4c_0    conda-forge
openjdk                   11.0.1            h516909a_1016    conda-forge
openssl                   1.1.1l               h7f98852_0    conda-forge
paml                      4.9                  h779adbc_6    bioconda
parallel                  20211222             ha770c72_0    conda-forge
pcre                      8.45                 h9c3ff4c_0    conda-forge
perl                      5.32.1          2_h7f98852_perl5    conda-forge
perl-algorithm-diff       1.201           pl5321hd8ed1ab_0    conda-forge
perl-archive-tar          2.40            pl5321hdfd78af_0    bioconda
perl-base                 2.23            pl5321hdfd78af_2    bioconda
perl-bio-asn1-entrezgene  1.73            pl5321hdfd78af_3    bioconda
perl-bio-coordinate       1.007001        pl5321hdfd78af_3    bioconda
perl-bio-featureio        1.6.905         pl5321hdfd78af_4    bioconda
perl-bio-samtools         1.43            pl5321h5bf99c6_2    bioconda
perl-bio-tools-phylo-paml 1.7.3           pl5321hdfd78af_3    bioconda
perl-bio-tools-run-alignment-clustalw 1.7.4           pl5321hdfd78af_3    bioconda
perl-bio-tools-run-alignment-tcoffee 1.7.4           pl5321hdfd78af_4    bioconda
perl-bioperl              1.7.8                hdfd78af_0    bioconda
perl-bioperl-core         1.7.8           pl5321h9ee0642_0    bioconda
perl-bioperl-run          1.007003        pl5321hdfd78af_0    bioconda
perl-business-isbn        3.007           pl5321hdfd78af_0    bioconda
perl-business-isbn-data   20210112.006    pl5321hdfd78af_0    bioconda
perl-capture-tiny         0.48            pl5321ha770c72_1    conda-forge
perl-carp                 1.50            pl5321hd8ed1ab_0    conda-forge
perl-class-data-inheritable 0.09            pl5321hdfd78af_0    bioconda
perl-common-sense         3.75            pl5321hdfd78af_0    bioconda
perl-compress-raw-bzip2   2.101           pl5321h1b792b2_0    bioconda
perl-compress-raw-zlib    2.101           pl5321h1b792b2_1    bioconda
perl-constant             1.33            pl5321hd8ed1ab_0    conda-forge
perl-data-dumper          2.183           pl5321h779adbc_0    bioconda
perl-devel-stacktrace     2.04            pl5321hdfd78af_1    bioconda
perl-digest-hmac          1.04            pl5321hdfd78af_0    bioconda
perl-digest-md5           2.58            pl5321h779adbc_0    bioconda
perl-encode               3.16            pl5321h779adbc_0    bioconda
perl-encode-locale        1.05            pl5321hdfd78af_7    bioconda
perl-exception-class      1.45            pl5321hdfd78af_0    bioconda
perl-exporter             5.74            pl5321hd8ed1ab_0    conda-forge
perl-exporter-tiny        1.002002        pl5321hdfd78af_0    bioconda
perl-extutils-makemaker   7.64            pl5321hd8ed1ab_0    conda-forge
perl-file-listing         6.14            pl5321hdfd78af_0    bioconda
perl-file-path            2.18            pl5321hd8ed1ab_0    conda-forge
perl-file-slurp-tiny      0.004           pl5321hdfd78af_2    bioconda
perl-file-sort            1.01            pl5321hdfd78af_3    bioconda
perl-file-spec            3.48_01         pl5321hdfd78af_2    bioconda
perl-file-temp            0.2304          pl5321hd8ed1ab_0    conda-forge
perl-getopt-long          2.52            pl5321hdfd78af_0    bioconda
perl-html-parser          3.72            pl5321h7d875b9_7    bioconda
perl-html-tagset          3.20            pl5321hdfd78af_4    bioconda
perl-http-cookies         6.10            pl5321hdfd78af_0    bioconda
perl-http-daemon          6.13            pl5321hdfd78af_0    bioconda
perl-http-date            6.05            pl5321hdfd78af_0    bioconda
perl-http-message         6.36            pl5321hdfd78af_0    bioconda
perl-http-negotiate       6.01            pl5321hdfd78af_4    bioconda
perl-io-compress          2.102           pl5321h1b792b2_0    bioconda
perl-io-html              1.004           pl5321hdfd78af_0    bioconda
perl-io-socket-ssl        2.074           pl5321hdfd78af_0    bioconda
perl-io-string            1.08            pl5321hdfd78af_4    bioconda
perl-io-tty               1.16            pl5321h779adbc_0    bioconda
perl-io-zlib              1.11            pl5321hdfd78af_0    bioconda
perl-ipc-run              20200505.0      pl5321hdfd78af_0    bioconda
perl-json                 4.05            pl5321hdfd78af_0    bioconda
perl-json-xs              2.34            pl5321h7d875b9_4    bioconda
perl-libwww-perl          6.61            pl5321hdfd78af_0    bioconda
perl-libxml-perl          0.08            pl5321hdfd78af_3    bioconda
perl-list-moreutils       0.430           pl5321hdfd78af_0    bioconda
perl-list-moreutils-xs    0.430           pl5321h779adbc_0    bioconda
perl-lwp-mediatypes       6.04            pl5321hdfd78af_1    bioconda
perl-mime-base64          3.16            pl5321h779adbc_1    bioconda
perl-net-http             6.22            pl5321hdfd78af_0    bioconda
perl-net-ssleay           1.92            pl5321he7163dc_0    bioconda
perl-ntlm                 1.09            pl5321hdfd78af_5    bioconda
perl-parent               0.238           pl5321hd8ed1ab_0    conda-forge
perl-pathtools            3.75            pl5321h779adbc_2    bioconda
perl-scalar-list-utils    1.61            pl5321h779adbc_0    bioconda
perl-socket               2.027           pl5321h779adbc_2    bioconda
perl-sub-uplevel          0.2800          pl5321h779adbc_3    bioconda
perl-test-deep            1.130           pl5321hdfd78af_0    bioconda
perl-test-differences     0.69            pl5321hdfd78af_0    bioconda
perl-test-exception       0.43            pl5321hdfd78af_3    bioconda
perl-test-most            0.37            pl5321hdfd78af_0    bioconda
perl-test-warn            0.36            pl5321hdfd78af_2    bioconda
perl-text-diff            1.45            pl5321hdfd78af_1    bioconda
perl-time-local           1.30            pl5321hdfd78af_0    bioconda
perl-timedate             2.33            pl5321hdfd78af_2    bioconda
perl-tree-dag_node        1.32            pl5321hdfd78af_0    bioconda
perl-try-tiny             0.31            pl5321hdfd78af_0    bioconda
perl-types-serialiser     1.01            pl5321hdfd78af_0    bioconda
perl-uri                  5.10            pl5321hdfd78af_0    bioconda
perl-url-encode           0.03            pl5321h9ee0642_0    bioconda
perl-www-robotrules       6.02            pl5321hdfd78af_4    bioconda
perl-xml-dom              1.46            pl5321hdfd78af_1    bioconda
perl-xml-dom-xpath        0.14            pl5321hdfd78af_2    bioconda
perl-xml-namespacesupport 1.12            pl5321hdfd78af_1    bioconda
perl-xml-parser           2.44_01         pl5321hc3e0081_1003    conda-forge
perl-xml-regexp           0.04            pl5321hdfd78af_3    bioconda
perl-xml-sax              1.02            pl5321hdfd78af_1    bioconda
perl-xml-sax-base         1.09            pl5321hdfd78af_1    bioconda
perl-xml-sax-expat        0.51            pl5321hdfd78af_4    bioconda
perl-xml-simple           2.25            pl5321hdfd78af_2    bioconda
perl-xml-xpathengine      0.14            pl5321hdfd78af_3    bioconda
pip                       22.0.3             pyhd8ed1ab_0    conda-forge
prodigal                  2.6.3                h779adbc_3    bioconda
prokka                    1.14.6          pl5321hdfd78af_2    bioconda
python                    3.7.12          hb7a2778_100_cpython    conda-forge
python_abi                3.7                     2_cp37m    conda-forge
readline                  8.1                  h46c0cb4_0    conda-forge
setuptools                60.9.3           py37h89c1867_0    conda-forge
sqlite                    3.37.0               h9cd32fc_0    conda-forge
t_coffee                  11.0.8           py37hea885bf_8    bioconda
tbl2asn-forever           25.7.2f              h779adbc_1    bioconda
tk                        8.6.12               h27826a3_0    conda-forge
wheel                     0.37.1             pyhd8ed1ab_0    conda-forge
xz                        5.2.5                h516909a_1    conda-forge
zlib                      1.2.11            h36c2ea0_1013    conda-forge
skbrimer commented 2 years ago

I did figure out a work around that appears to be helping.

First I tried the advice in this post https://github.com/tseemann/prokka/issues/598 by simply installing the missing module with the following command. sudo cpan Bio::SearchIO::hmmer3

This seemed to install the module, no errors, however when I the workflow again it failed at the same spot. This made me think that I installed the module into the system's perl instance and not the environment. So I googled how to install perl modules install a specific conda environment and found this blog post.

In that post he says to install this package conda install perl-app-cpanminus and then use cpanm <package> to install in that environment. So I did cpanm Bio::SearchIO::hmmer3 and it failed, but it said I could force the install so I did.

cpanm Bio::SearchIO::hmmer3 --force

The install was successful and now the analysis is working.

I am posting this here for other people who may run into this problem until a permanent fix can be made.

0xaf1f commented 2 years ago

This became a problem since the Bioperl team decided to take Bio::SearchIO::hmmer3 (and a bunch of other things) out of the core distribution in v1.7.3 (https://metacpan.org/dist/BioPerl/changes).

Suffering from this problem myself, I decided to shave the yak and got this module added to bioconda. Now you can conda install perl-bio-searchio-hmmer.

This problem should go away in the future since future conda installations of bioperl will pull this in automatically.