ncbi / vadr

Viral Annotation DefineR: classification and annotation of viral sequences based on RefSeq annotation
Other
99 stars 23 forks source link

conda/mamba installation improvement #59

Closed FTouzain closed 7 months ago

FTouzain commented 2 years ago

Hello. Many thanks for vadr tool. Installation with dedicated sh scripts work well for me but I need automatic hardware independant installation process.

I saw this conda/mamba installation procedure: https://anaconda.org/bioconda/vadr

Unfortunately, here is the error message obtained when running v-annotate.pl:

Use of uninitialized value in subroutine entry at [HOME_PATH]/miniconda3/envs/test_vadr/lib/perl5/5.32/site_perl/Bio/Easel/MSA.pm line 60.
Use of uninitialized value in subroutine entry at [HOME_PATH]/miniconda3/envs/test_vadr/lib/perl5/5.32/site_perl/Bio/Easel/SqFile.pm line 59.
Can't locate vadr.pm in @INC (you may need to install the vadr module)

perl-bio-easel seems to be already installed. Therefore vadr does not find it in miniconda env or does not include vadr intergrated perl lib (vadr.pm).

fixing this would make the vadr software much more portable and usable in pipelines (snakemake, galaxy). Thanks again. Best regards.

rpetit3 commented 2 years ago

Hi @FTouzain,

Looks like the issue is Perl 5.32.1. When I build it with Perl 5.26.2 it runs fine.

mamba create -n vadr-test2 -c conda-forge -c bioconda vadr
conda activate vadr-test

perl --version | grep version
This is perl 5, version 32, subversion 1 (v5.32.1) built for x86_64-linux-thread-multi

v-annotate.pl
Can't locate Encode/Locale.pm in @INC (you may need to install the Encode::Locale module) (@INC contains: /home/rpetit3/miniconda3/envs/vadr-test/share/vadr-1.4.1/vadr /home/rpetit3/miniconda3/envs/vadr-test/share/sequip-0.09/lib /home/rpetit3/miniconda3/envs/vadr-test/lib/perl5/5.32/site_perl /home/rpetit3/miniconda3/envs/vadr-test/lib/perl5/site_perl /home/rpetit3/miniconda3/envs/vadr-test/lib/perl5/5.32/vendor_perl /home/rpetit3/miniconda3/envs/vadr-test/lib/perl5/vendor_perl /home/rpetit3/miniconda3/envs/vadr-test/lib/perl5/5.32/core_perl /home/rpetit3/miniconda3/envs/vadr-test/lib/perl5/core_perl .) at /home/rpetit3/miniconda3/envs/vadr-test/lib/perl5/site_perl/LWP/UserAgent.pm line 1074.
Compilation failed in require at /home/rpetit3/miniconda3/envs/vadr-test/share/vadr-1.4.1/vadr/vadr.pm line 44.
BEGIN failed--compilation aborted at /home/rpetit3/miniconda3/envs/vadr-test/share/vadr-1.4.1/vadr/vadr.pm line 44.
Compilation failed in require at /home/rpetit3/miniconda3/envs/vadr-test/bin/v-annotate.pl line 13.
mamba create -n vadr-test2 -c conda-forge -c bioconda vadr 'perl<5.32'
conda activate vadr-test2

perl --version | grep version
This is perl 5, version 26, subversion 2 (v5.26.2) built for x86_64-linux-thread-multi

v-annotate.pl
Incorrect number of command line arguments.
Usage: v-annotate.pl [-options] <fasta file to annotate> <output directory to create>

To see more help on available options, do v-annotate.pl -h

I've seen this on a few other bioconda recipes (v5.26 works, v5.31 does not). I'm going to update the VADR recipe and pin the Bioconda recipe to v5.26.

Will update soon, Robert

FTouzain commented 2 years ago

Many thanks. I will try as soon as the proposed perl version is be 5.26 (I gave a try, it is not yet merged). I will keep you informed. Great reactivity.

dpryan79 commented 2 years ago

Can you post the environment contents (conda list)? This is an issue with perl-encode-locale that I can't reproduce locally.

FTouzain commented 2 years ago

Your are right, current conda recipe works on ubuntu 20.04 LTS, but not on Solus.

Here is the conda list:

# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       2_gnu    conda-forge
binutils_impl_linux-64    2.36.1               h193b22a_2    conda-forge
binutils_linux-64         2.36                 hf3e587d_9    conda-forge
blast                     2.12.0               hf3cf87c_4    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
curl                      7.83.0               h7bff187_0    conda-forge
easel                     0.48                 hec16e2b_1    bioconda
entrez-direct             16.2                 he881be0_0    bioconda
fasta3                    36.3.8               hec16e2b_7    bioconda
gcc_impl_linux-64         10.3.0              hf2f2afa_16    conda-forge
gcc_linux-64              10.3.0               hc39de41_9    conda-forge
gettext                   0.19.8.1          h73d1719_1008    conda-forge
hmmer                     3.3.2                h87f3376_2    bioconda
infernal                  1.1.4           pl5321hec16e2b_1    bioconda
kernel-headers_linux-64   2.6.32              he073ed8_15    conda-forge
keyutils                  1.6.1                h166bdaf_0    conda-forge
krb5                      1.19.3               h3790be6_0    conda-forge
ld_impl_linux-64          2.36.1               hea4e1c9_2    conda-forge
libcurl                   7.83.0               h7bff187_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                    7.2.0                h69d50b8_2    conda-forge
libgcc-devel_linux-64     10.3.0              he6cfe16_16    conda-forge
libgcc-ng                 11.2.0              h1d223b6_16    conda-forge
libgomp                   11.2.0              h1d223b6_16    conda-forge
libidn2                   2.3.2                h7f98852_0    conda-forge
libnghttp2                1.47.0               h727a467_0    conda-forge
libnsl                    2.0.0                h7f98852_0    conda-forge
libsanitizer              10.3.0              h26c7422_16    conda-forge
libssh2                   1.10.0               ha56f1ee_2    conda-forge
libstdcxx-ng              11.2.0              he4da1e4_16    conda-forge
libunistring              0.9.10               h7f98852_0    conda-forge
libzlib                   1.2.11            h166bdaf_1014    conda-forge
make                      4.3                  hd18ef5c_1    conda-forge
ncurses                   6.3                  h27087fc_1    conda-forge
openssl                   1.1.1o               h166bdaf_0    conda-forge
pcre                      8.45                 h9c3ff4c_0    conda-forge
perl                      5.32.1          2_h7f98852_perl5    conda-forge
perl-archive-tar          2.40            pl5321hdfd78af_0    bioconda
perl-base                 2.23            pl5321hdfd78af_2    bioconda
perl-bio-easel            0.15            pl5321hec16e2b_2    bioconda
perl-business-isbn        3.007           pl5321hdfd78af_0    bioconda
perl-business-isbn-data   20210112.006    pl5321hdfd78af_0    bioconda
perl-carp                 1.38            pl5321hdfd78af_4    bioconda
perl-common-sense         3.75            pl5321hdfd78af_0    bioconda
perl-compress-raw-bzip2   2.103           pl5321h87f3376_0    bioconda
perl-compress-raw-zlib    2.103           pl5321h87f3376_0    bioconda
perl-constant             1.33            pl5321hdfd78af_2    bioconda
perl-data-dumper          2.183           pl5321hec16e2b_1    bioconda
perl-digest-hmac          1.04            pl5321hdfd78af_0    bioconda
perl-digest-md5           2.58            pl5321hec16e2b_1    bioconda
perl-encode               3.17            pl5321hec16e2b_0    bioconda
perl-encode-locale        1.05                          3    bioconda
perl-exporter             5.72            pl5321hdfd78af_2    bioconda
perl-exporter-tiny        1.002002        pl5321hdfd78af_0    bioconda
perl-extutils-makemaker   6.66                          0    bioconda
perl-file-listing         6.15            pl5321hdfd78af_0    bioconda
perl-file-sharedir-install 0.13            pl5321hdfd78af_1    bioconda
perl-file-spec            3.48_01         pl5321hdfd78af_2    bioconda
perl-html-parser          3.78            pl5321h9f5acd7_0    bioconda
perl-html-tagset          3.20                          0    bioconda
perl-http-cookies         6.10            pl5321hdfd78af_0    bioconda
perl-http-daemon          6.14            pl5321hdfd78af_0    bioconda
perl-http-date            6.05            pl5321hdfd78af_0    bioconda
perl-http-message         6.36            pl5321hdfd78af_0    bioconda
perl-http-negotiate       6.01                          0    bioconda
perl-inline               0.86            pl5321hdfd78af_0    bioconda
perl-inline-c             0.81            pl5321hec16e2b_1    bioconda
perl-io-compress          2.106           pl5321h87f3376_0    bioconda
perl-io-html              1.004           pl5321hdfd78af_0    bioconda
perl-io-socket-ssl        2.074           pl5321hdfd78af_0    bioconda
perl-io-zlib              1.11            pl5321hdfd78af_0    bioconda
perl-json                 4.05            pl5321hdfd78af_0    bioconda
perl-json-xs              2.34            pl5321h9f5acd7_5    bioconda
perl-libwww-perl          6.39            pl5321hdfd78af_1    bioconda
perl-list-moreutils       0.430           pl5321hdfd78af_0    bioconda
perl-list-moreutils-xs    0.430           pl5321hec16e2b_1    bioconda
perl-lwp-mediatypes       6.04            pl5321hdfd78af_1    bioconda
perl-lwp-protocol-https   6.10            pl5321hdfd78af_0    bioconda
perl-lwp-simple           6.39            pl5321h9ee0642_5    bioconda
perl-mime-base64          3.16            pl5321hec16e2b_2    bioconda
perl-mozilla-ca           20211001        pl5321hdfd78af_0    bioconda
perl-net-http             6.22            pl5321hdfd78af_0    bioconda
perl-net-ssleay           1.92            pl5321h0e0aaa8_1    bioconda
perl-ntlm                 1.09                          1    bioconda
perl-parent               0.236           pl5321hdfd78af_2    bioconda
perl-parse-recdescent     1.967015        pl5321hdfd78af_1    bioconda
perl-pathtools            3.75            pl5321hec16e2b_3    bioconda
perl-pegex                0.61                          0    bioconda
perl-scalar-list-utils    1.62            pl5321hec16e2b_0    bioconda
perl-socket               2.027           pl5321hec16e2b_3    bioconda
perl-test-requiresinternet 0.05            pl5321hdfd78af_1    bioconda
perl-threaded             5.32.1               hdfd78af_1    bioconda
perl-time-hires           1.9764          pl5321hec16e2b_2    bioconda
perl-time-local           1.30            pl5321hdfd78af_0    bioconda
perl-timedate             2.33            pl5321hdfd78af_2    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                          0    bioconda
perl-yaml-libyaml         0.66            pl5321hec16e2b_3    bioconda
sequip                    0.09                 hdfd78af_0    bioconda
sysroot_linux-64          2.12                he073ed8_15    conda-forge
vadr                      1.4.1           pl5321hdfd78af_1    bioconda
wget                      1.20.3               ha56f1ee_1    conda-forge
zlib                      1.2.11            h166bdaf_1014    conda-forge
FTouzain commented 7 months ago

I tried to:

Nevertheless, the message of v-annotate.pl -h is slightly different:

Can't locate sqp_opts.pm in @INC (you may need to install the sqp_opts module)

I saw this is this module: https://github.com/nawrockie/sequip

Then I did in the new vadr mamba environment:

export PERL5LIB=$PERL5LIB:${CONDA_PREFIX}/share/sequip-0.10/lib/

like pointed by @jowodo in #76 (I have not seen the link directly between my error message and this solution).

It seems ok. Thank you for a solus user.