我在 Windows XP 中安裝了 Active Perl。透過 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);
發生以下錯誤
在 @INC 的 C:\Perl\bin\Sequence.pl line1 中無法找到 Bio/Seq.pm。 BEGIN 失敗 - 編譯在 C:\Perl\bin\Sequence.pl line1 處中止。
這裡有什麼問題?如何判斷是否安裝了BioPerl?
答案1
若要了解您安裝了哪些模組,請開啟終端並輸入:
ppm query
這是 Active Perl 隨附的一個工具(請參閱CPAN常見問題解答)。
另外,請記住“舍邦「 ( #!/usr/bin/env perl
) 你使用的不會在Windows 系統上運作。不能確定,因為我從未使用過Windows 進行編碼,但這是UNIX 世界的事情,除非主動Perl 主動(抱歉)將其轉換為Windows 可以處理的任何內容和。
因此,要么未安裝 bioperl,要么您的 Perl 設定不正確。 Perl 將在 @INC 變數定義的目錄中搜尋模組等。檢查相關目錄是否在列表中的簡單方法是運行這個小襯墊:
perl -e "do{print \"$_\n\"}for(@INC)"
它將列印 Perl 將在其中搜尋其模組的所有目錄。
附言。這可能是檢查 linux 的好時機...