I am trying to work with the software package GUIDANCE which utilizes Perl and BioPerl, but every time I run the intended script I hit the following error*:
Can't locate Bio/Perl.pm in @INC (you may need to install the Bio::Perl module)
(@INC contains: /project/thrash_425/alicecol/phylo/guidance.v2.02/www/Guidance/../Selecton/ /project/thrash_425/alicecol/phylo/guidance.v2.02/www/Guidance/../bioSequence_scripts_and_constants/
I have gcc, perl, bio-perl and ruby all installed as modules, so I’m not sure what I’m missing. Attempts to install the Bio::Perl module using cpanm have also been unsuccessful.
*truncated error message
@alicecol Do you mean you’re using module load gcc/8.3.0 perl perl-bioperl ruby
and then installing Guidance from source? Or you have versions of these installed, for example, in a Conda environment and then installing from source?
The BioContainers group has a Docker container available that you could convert to Singularity format in order to use on CARC systems. This might be easier as the development of Guidance seems to have stopped a few years ago.
You can download the container with the following command:
singularity pull docker://biocontainers/guidance2:v2.02_cv1
See our guide for Singularity here: https://carc.usc.edu/user-information/user-guides/software-and-programming/singularity
Within the container, the main Guidance script can be found at /home/biodocker/guidance/www/Guidance/guidance.pl
. You would need to bind mount at least two directories to the container: the directory where your input sequence files are as well as the output directory you want to use.
I am using module load gcc perl perl-bioperl ruby
and have Guidance installed from source.
The issue seems to be that when I run the guidance.pl
script, perl
is not interacting with perl-bioperl
correctly, i.e. Perl is saying that I don’t have BioPerl installed at all.
Okay, I see. For the perl-bioperl
module, there actually is no Bio/Perl.pm file. There is a BioPerl.pm file though. This seems like a versioning issue. I recommend using the container for now if that works for you, but I will look into these issues more.