This is a test version of Biostars. For the public version, visit https://www.biostars.org.
How to modify the header of a perl script to use bioperl in the environment?

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?

bioperl perlscript

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 own Perl binary and @INC path, else you may end up using a system cpanm binary (if one exists) and installing the module in the wrong place.

0 answers

No answers yet.

Log in to answer this question.