我发布这条消息纯粹绝望,因为我真的不知道还有什么可以尝试。我是bioperl的初学者,我正在编写一个脚本来解析我从MolQuest fgenesh得到的一些结果。结果以.txt格式输出,我想将它们解析为GFF和fasta文件中的mRNA和蛋白质序列,以便于与我们的其他结果进行比较。所以我找到了 Bio :: Tools :: Fgenesh 模块,我正在使用它编写脚本。问题是,BioPerl似乎不适用于我的ubuntu pc
我按照http://www.bioperl.org/wiki/Installing_Bioperl_for_Unix的说明进行操作。我设法以root模式安装CPAN(否则它不起作用)和BioPerl通过CPAN安装。所有测试都没问题,但是当我运行此脚本来测试安装时
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身份运行,但仍然得出相同的结果。
感谢您的帮助 Merche
答案 0 :(得分: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。
答案 1 :(得分:0)
你试过了吗?
» cpan
cpan shell -- CPAN exploration and modules installation (v1.960001)
Enter 'h' for help.
cpan[1]> install Bio::EnsEMBL::Registry
我注意到这不在您链接的页面上,暗示它应该是自动完成的,但是可能值得尝试。
答案 2 :(得分: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帮助,我需要运行"设置PERL5LIB = C:\ src \ bioperl-1.2.3; C:\ src \ ensembl \ modules; C:\ src \ ensembl-对比试验\模块; C:\ SRC \ ENSEMBL-变异\模块; C:\ SRC \ ENSEMBL-funcgen \模块"从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
使用lib" C:/ src / ensembl / modules&#34 ;;
使用lib" C:/ src / ensembl / modules / Bio / EnsEMBL&#34 ;;
使用lib" C:/ src / ensembl-compara / modules / Bio / EnsEMBL / Compara&#34 ;;
使用lib" C:/ src / ensembl-functgenomics / modules / Bio / EnsEMBL / Funcgen&#34 ;;
使用lib" C:/ src / ensembl-variation / modules / Bio / EnsEMBL / Variation&#34 ;;
使用严格;
使用Bio :: EnsEMBL :: Registry;
my $ registry =' Bio :: EnsEMBL :: Registry';
$登记处送交> load_registry_from_db(
-host => ' ensembldb.ensembl.org',
-user => '匿名',
-verbose => ' 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);
print" ########################################## ############# \ n&#34 ;;
print $ chr_slice-> seq;
或者:
#!/ usr / bin / perl -w
BEGIN {推@INC,' C:/ src / bioperl-live' C:/ src / ensembl / modules',' C:/ src / ENSEMBL-对比试验/模块'' C:/ SRC / ENSEMBL-变化/模块'' C:/ SRC / ENSEMBL-functgenomics /模块&#39 ;;};
使用严格;
使用Bio :: EnsEMBL :: Registry;
my $ registry =' Bio :: EnsEMBL :: Registry';
$登记处送交> load_registry_from_db(
-host => ' ensembldb.ensembl.org',
-user => '匿名',
-verbose => ' 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);
print" ########################################## ############# \ n&#34 ;;
print $ chr_slice-> seq;