Eu instalei o Active Perl no Windows XP. Através do Perl Package Manager instalei repositórios BioPerl. Mas ao tentar executar 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);
O seguinte erro está ocorrendo
Não é possível localizar Bio/Seq.pm em @INC em C:\Perl\bin\Sequence.pl linha1. BEGIN falhou - compilação abortada em C:\Perl\bin\Sequence.pl linha1.
Qual é o problema aqui? Como posso identificar se o BioPerl está instalado ou não?
Responder1
para descobrir quais módulos você instalou, abra um terminal e digite:
ppm query
Esta é uma ferramenta que vem com o Active Perl (veja oPerguntas frequentes sobre CPAN).
Além disso, tenha em mente que o "Shebang"( #!/usr/bin/env perl
) que você está usando não funcionará em um sistema Windows. Não tenho certeza, pois nunca usei o Windows para codificação, mas isso é uma coisa do mundo UNIX, a menos que o perl ativo ativamente (desculpe) o traduza para qualquer coisa que o Windows possa lidar com.
Portanto, ou o bioperl não está instalado ou o seu Perl não está configurado corretamente. Perl irá procurar módulos e similares nos diretórios definidos pela variável @INC. Uma maneira simples de verificar se o diretório relevante está na lista é executar este pequeno liner:
perl -e "do{print \"$_\n\"}for(@INC)"
Ele imprimirá todos os diretórios onde o Perl irá procurar por seus módulos.
PS. Este pode ser um bom momento para verificar o Linux ...