2012-04-23 2 views
2

Я отправляю это сообщение из чистого отчаяния, потому что я действительно не знаю, что еще попробовать , Я новичок в bioperl, и я работаю над скриптом, чтобы разобрать некоторые результаты, полученные от MolQuest fgenesh. Результаты выводятся в формате .txt, и я хочу проанализировать их в GFF и файле fasta для мРНК и последовательности белка, чтобы облегчить сравнение с другими результатами, которые у нас есть. Поэтому я нашел модуль Bio :: Tools :: Fgenesh, и я работаю над его скриптом. Проблема в том, что BioPerl, похоже, не работает на моем компьютере ubuntuBioPerl & CPAN - Проблемы с установкой и ошибкой «Невозможно найти Bio/EnsEMBL/Registry.pm в @INC»

Я выполнил следующие инструкции здесь http://www.bioperl.org/wiki/Installing_Bioperl_for_Unix. Мне удалось установить 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"; 
} 

я получил ошибку: "Не удается найти Bio/Ensembl/Registry.pm в @INC"

I попытался установить BioPerl снова через Build.PL, работающий под управлением root, но все же пришел к одному и тому же результату.

Спасибо за вашу помощь Merche

ответ

0

Вы пробовали:

» cpan 

cpan shell -- CPAN exploration and modules installation (v1.960001) 
Enter 'h' for help. 

cpan[1]> install Bio::EnsEMBL::Registry 

Я заметил, что это не на странице вы связаны, подразумевая, что должно было быть сделано автоматически, как требование чего-то другого , но, возможно, стоит попробовать.

3

Возможно, вы пытаетесь использовать API Ensembl. Это не является частью дистрибутива 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 для получения дополнительной информации.

0

Я исправил ту же ошибку, что и вы, работая над окнами 64x. Кажется Bio :: EnsEMBL :: Реестр не распознается на моем компьютере с Windows. Следуя инструкциям ENSEMBL-API, я, наконец, наткнулся на страницу отладки (http://www.ensembl.org/info/docs/api/debug_installation_guide.html). После запуска C: \ src \ ensembl/misc-scripts/ping_ensembl.pl, я снова получил такое же сообщение об ошибке, как указано выше.

В соответствии с API-интерфейсом PERL для окон мне нужно запустить «установить PERL5LIB = C: \ src \ bioperl-1.2.3; C: \ src \ ensembl \ modules; C: \ src \ ensembl-compara \ модули, C: \ src \ ensembl-variant \ 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-variant \ модулей; C: \ src \ ensembl-funcgen \ modules) непосредственно в моем скрипте perl, и это, похоже, работает. Наверное, это не способ сделать это, но пока это работает, я счастлив. См пример сценария (на основе упражнений, предоставляемых Bert Overduin) ниже:

#!/usr/bin/perl -w

use lib "C:/src/ensembl/modules";

use lib "C:/src/ensembl/modules/Bio/EnsEMBL";

use lib "C:/src/ensembl-compara/modules/Bio/EnsEMBL/Compara";

use lib "C:/src/ensembl-functgenomics/modules/Bio/EnsEMBL/Funcgen";

use lib "C:/src/ensembl-variation/modules/Bio/EnsEMBL/Variation";

use strict;

use Bio::EnsEMBL::Registry;

my $registry = 'Bio::EnsEMBL::Registry';

$registry->load_registry_from_db(

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

-user => 'anonymous',

-verbose => '1'

);

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

get a slice on the entire chromosome X

my $chr_slice = $slice_adaptor->fetch_by_region('chromosome', '13', 32_889_000, >32_891_000);

print "#######################################################\n";

print $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';};

use strict;

use Bio::EnsEMBL::Registry;

my $registry = 'Bio::EnsEMBL::Registry';

$registry->load_registry_from_db(

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

-user => 'anonymous',

-verbose => '1'

);

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

get a slice on the entire chromosome X

my $chr_slice = $slice_adaptor->fetch_by_region('chromosome', '13', 32_889_000, >32_891_000);

print "#######################################################\n";

print $chr_slice->seq;