3

我出于纯粹的绝望而发布此消息,因为我真的不知道还能尝试什么。我是 bioperl 的初学者,我正在编写一个脚本来解析我从 MolQuest fgenesh 获得的一些结果。结果以 .txt 格式输出,我想将它们解析为 GFF 和 fasta 文件以获取 mRNA 和蛋白质序列,以便与我们拥有的其他结果进行比较。所以我找到了Bio::Tools::Fgenesh模块,我正在用它编写一个脚本。问题是,BioPerl 似乎无法在我的 ubuntu 电脑上运行

我按照这里的说明http://www.bioperl.org/wiki/Installing_Bioperl_for_Unix。我设法以 root 模式安装 CPAN(否则它将无法工作)并通过 CPAN 安装 BioPerl。所有测试都很好,但是当我运行这个脚本来测试安装时

 use strict;
 use warnings;

 use Getopt::Long;
 use Bio::EnsEMBL::Registry;

 my $reg = "Bio::EnsEMBL::Registry";
 $reg->load_registry_from_db(
              -host => "ensembldb.ensembl.org",
              -user => "anonymous"
 );
 my $db_list=$reg->get_all_adaptors();
 my @line;

foreach my $db (@$db_list){
    @line = split ('=',$db);
    print $line[0]."\n";
 }

我收到错误消息:“无法在 @INC 中找到 Bio/EnsEMBL/Registry.pm”

我尝试通过 Build.PL 再次安装 BioPerl,以 root 身份运行,但仍然得到相同的结果。

感谢您的帮助

4

2 回答 2

3

您似乎正在尝试使用 Ensembl API。这不是 BioPerl 发行版的一部分。有关如何安装它的更多信息,请参阅http://www.ensembl.org/info/docs/api/api_installation.html 。我们不建议您将它安装在任何默认 Perl 库位置,因为该 API 与同一版本中生成的数据密切相关。Ensembl 每年提供 4-5 个版本,因此维护这一点可能很困难。

如果您有任何问题,那么您可以联系开发人员。我们有一个活跃的开发者邮件列表和一个帮助台。有关更多信息,请参见http://www.ensembl.org/info/about/contact/index.html

于 2012-04-25T19:55:46.520 回答
0

我遇到了和你一样的错误,在 Windows 64x 上工作。似乎 Bio::EnsEMBL::Registry 在我的 Windows 计算机上无法识别。按照所有 ENSEMBL-API 说明,我终于看到了一个调试页面(http://www.ensembl.org/info/docs/api/debug_installation_guide.html)。运行 C:\src\ensembl/misc-scripts/ping_ensembl.pl 后,我再次收到与上面列出的相同的错误消息。

根据 Windows 的 PERL API 帮助,我需要运行“set PERL5LIB=C:\src\bioperl-1.2.3;C:\src\ensembl\modules;C:\src\ensembl-compara\modules;C: \src\ensembl-variation\modules;C:\src\ensembl-funcgen\modules”来自 cmd 框。这样做了,但错误保持不变。

现在我包含了这些路径(C:\src\bioperl-1.2.3;C:\src\ensembl\modules;C:\src\ensembl-compara\modules;C:\src\ensembl-variation\modules;C: \src\ensembl-funcgen\modules) 直接在我的 perl 脚本中,这似乎有效。可能这不是这样做的方法,但只要它有效,我就很高兴。请参阅下面的示例脚本(基于 Bert Overduin 提供的练习):

#!/usr/bin/perl -w

使用库“C:/src/ensembl/modules”;

使用库“C:/src/ensembl/modules/Bio/EnsEMBL”;

使用库“C:/src/ensembl-compara/modules/Bio/EnsEMBL/Compara”;

使用库“C:/src/ensembl-functgenomics/modules/Bio/EnsEMBL/Funcgen”;

使用库“C:/src/ensembl-variation/modules/Bio/EnsEMBL/Variation”;

使用严格;

使用 Bio::EnsEMBL::Registry;

我的 $registry = 'Bio::EnsEMBL::Registry';

$registry->load_registry_from_db(

-host => 'ensembldb.ensembl.org',

-user => '匿名',

-详细 => '1'

);

我的 $slice_adaptor = Bio::EnsEMBL::Registry->get_adaptor("human", "core", "slice");

在整个 X 染色体上切片

我的 $chr_slice = $slice_adaptor->fetch_by_region( '染色体', '13', 32_889_000, >32_891_000 );

打印 ”################################################ #######\n";

打印 $chr_slice->seq;

或者:

#!/usr/bin/perl -w

BEGIN{ push @INC,'C:/src/bioperl-live','C:/src/ensembl/modules','C:/src/ensembl-compara/modules','C:/src/ensembl-variation /modules','C:/src/ensembl-functgenomics/modules';};

使用严格;

使用 Bio::EnsEMBL::Registry;

我的 $registry = 'Bio::EnsEMBL::Registry';

$registry->load_registry_from_db(

-host => 'ensembldb.ensembl.org',

-user => '匿名',

-详细 => '1'

);

我的 $slice_adaptor = Bio::EnsEMBL::Registry->get_adaptor("human", "core", "slice");

在整个 X 染色体上切片

我的 $chr_slice = $slice_adaptor->fetch_by_region( '染色体', '13', 32_889_000, >32_891_000 );

打印 ”################################################ #######\n";

打印 $chr_slice->seq;

于 2014-10-25T07:17:44.880 回答