He instalado Active Perl en Windows XP. A través de Perl Package Manager he instalado repositorios de BioPerl. Pero al intentar ejecutar este programa BioPerl:
#!/usr/bin/env perl
use Bio::Seq;
use Bio::SeqIO;
# create a sequence object of some DNA
my $seq = Bio::Seq->new(-id => 'testseq', -seq => 'CATGTAGATAG');
# print out some details about it
print "seq is ", $seq->length, " bases long\n";
print "revcom seq is ", $seq->revcom->seq, "\n";
# write it to a file in Fasta format
my $out = Bio::SeqIO->new(-file => '>testseq.fsa', -format => 'Fasta');
$out->write_seq($seq);
Está ocurriendo el siguiente error
No puedo ubicar Bio/Seq.pm en @INC en C:\Perl\bin\Sequence.pl línea1. BEGIN falló: la compilación se canceló en C:\Perl\bin\Sequence.pl línea1.
¿Cuál es el problema aquí? ¿Cómo puedo identificar si BioPerl está instalado o no?
Respuesta1
Para saber qué módulos ha instalado, abra una terminal y escriba:
ppm query
Esta es una herramienta que viene con Active Perl (consulte laPreguntas frecuentes sobre CPAN).
Además, tenga en cuenta que el "el asunto" ( #!/usr/bin/env perl
) que estás usando no funcionará en un sistema Windows. No puedo estar seguro ya que nunca he usado Windows para codificar, pero eso es una cosa del mundo UNIX a menos que Perl activo lo traduzca activamente (lo siento) a cualquier Windows que pueda manejar. con.
Entonces, bioperl no está instalado o su Perl no está configurado correctamente. Perl buscará módulos y similares en los directorios definidos por la variable @INC. Una forma sencilla de comprobar si el directorio relevante está en la lista es ejecutar este pequeño delineador:
perl -e "do{print \"$_\n\"}for(@INC)"
Imprimirá todos los directorios donde Perl buscará sus módulos.
PD. Este puede ser un buen momento para probar Linux...