1

Я установил Active Perl в Windows XP. Через Perl Package Manager я установил репозитории BioPerl. Но при попытке выполнить эту программу 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);

Происходит следующая ошибка

Не могу найти Bio/Seq.pm в @INC в C:\Perl\bin\Sequence.pl line1. НАЧАЛО сбой - компиляция прервана в C:\Perl\bin\Sequence.pl line1.

В чем здесь проблема? Как я могу определить, установлен ли BioPerl или нет?

1 ответ1

0

чтобы узнать, какие модули вы установили, откройте терминал и введите:

ppm query

Это инструмент, который поставляется с Active Perl (см. FAQ по CPAN).

Также имейте ввиду, что " шебан " (#!/usr/bin/env perl), который вы используете, не будет работать в системе Windows. Не могу быть уверен, так как я никогда не использовал окна для кодирования, но это является частью мира UNIX, если активный perl активно (извините) не преобразует его во все окна, с которыми можно иметь дело.

Таким образом, либо bioperl не установлен, либо ваш Perl настроен неправильно. Perl будет искать модули и тому подобное в каталогах, определенных переменной @INC. Простой способ проверить, находится ли соответствующий каталог в списке, запускает этот маленький вкладыш:

perl -e "do{print \"$_\n\"}for(@INC)"

Он напечатает все каталоги, в которых Perl будет искать свои модули.

PS. Это может быть хорошее время, чтобы проверить Linux ...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .