Hi, I want to use the command line version of ICEFinder software. The software needs Bioperl to work. In our server, we have Perl in the following path : /Usr/bin/perl ; but we don't have Bioperl. I installed the Perl using conda as I don't have root access.
export PATH='/Network/Servers/X/Y/miniconda3/bin:$PATH"
conda install -c bioconda perl-bioperl
Now, which perl command show the path as following:
~/miniconda3/bin/perl
But can't find bioperl in any environment. However, I assume perl is the bioperl which I could use to run ICEfinder.pl script. It is showing the following error message :
Can't locate Linux/Distribution.pm in @INC (@INC contains: /usr/local/bin/Roary/lib /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /Network/Servers/X/Y/software/ICEfinder_linux/ICEfinder_local.pl line 10.
BEGIN failed--compilation aborted at /Network/Servers/X/Y/software/ICEfinder_linux/ICEfinder_local.pl line 10.
I changed the following header of the script #!/usr/bin/perl
to #!~/miniconda3/bin/perl
; still giving the same error. How can I solve the problem?
I've found the conda install of Perl modules to often not work. Install just Perl with conda, and install BioPerl (and possibly other modules too, if needed) with cpan.
Change the shebang from
#!/usr/bin/perl
to#!/usr/bin/env perl
.You need to run
cpanm Bio::Perl
.You will need to make sure the
cpanm
binary relates to your ownPerl
binary and@INC
path, else you may end up using a systemcpanm
binary (if one exists) and installing the module in the wrong place.