我在 Windows XP 中安装了 Active Perl。通过 Perl 包管理器,我安装了 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);
发生以下错误
无法在 C:\Perl\bin\Sequence.pl line1 处的 @INC 中找到 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 的好时机……