BioPerl и CPAN - Проблемы при установке и ошибка Не удается найти Bio / EnsEMBL / Registry.pm в @INC

Я отправляю это сообщение из чистого отчаяния, потому что действительно не знаю, что еще попробовать. Я новичок в BioPERL и работаю над сценарием, чтобы проанализировать некоторые результаты, полученные от MolQuest fgenesh. Результаты представлены в формате .txt, и я хочу проанализировать их в файл GFF и fasta на наличие последовательностей мРНК и белков, чтобы облегчить сравнение с другими имеющимися у нас результатами. Итак, я нашел модуль Bio :: Tools :: Fgenesh и работаю с ним над сценарием. Проблема в том, что BioPerl не работает на моем компьютере с Ubuntu

Я выполнил инструкции здесь 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»

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

Спасибо за помощь Мерче


person user1192137    schedule 23.04.2012    source источник


Ответы (2)


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

person andeyatz    schedule 25.04.2012

Я столкнулся с той же ошибкой, что и вы, работая на 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 я снова получил то же сообщение об ошибке, что и указано выше.

Согласно справке PERL API для Windows, мне нужно запустить "set PERL5LIB = C: \ src \ bioperl-1.2.3; C: \ src \ ensembl \ modules; C: \ src \ ensembl-compare \ modules; C: \ src \ ensembl -iversity \ modules; C: \ src \ ensembl-funcgen \ modules "из поля cmd. Сделал это, но ошибка осталась прежней.

Теперь я включил эти пути (C: \ src \ bioperl-1.2.3; C: \ src \ ensembl \ modules; C: \ src \ ensembl-compare \ modules; C: \ src \ ensembl-вариация \ модули; C: \ src \ ensembl-funcgen \ modules) прямо в моем сценарии perl, и это, похоже, работает. Наверное, это не способ делать это, но пока это работает, я счастлив. См. Пример сценария (на основе упражнений, предоставленных Бертом Овердуином) ниже:

#! / usr / bin / perl -w

используйте lib "C: / src / ensembl / modules";

используйте lib "C: / src / ensembl / modules / Bio / EnsEMBL";

используйте lib "C: / src / ensembl-compara / modules / Bio / EnsEMBL / Compara";

используйте lib "C: / src / ensembl-functgenomics / modules / Bio / EnsEMBL / Funcgen";

используйте lib "C: / src / ensembl -character / modules / Bio / EnsEMBL / Variation";

используйте строгий;

используйте Bio :: EnsEMBL :: Registry;

мой $ Registry = 'Bio :: EnsEMBL :: Registry';

$ registry-> load_registry_from_db (

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

-user => 'анонимный',

-verbose => '1'

);

мой $ slice_adaptor = Bio :: EnsEMBL :: Registry-> get_adaptor ("человек", "ядро", "фрагмент");

получить срез всей хромосомы X

мой $ chr_slice = $ slice_adaptor-> fetch_by_region ('хромосома', '13', 32_889_000,> 32_891_000);

Распечатать "################################################ ####### \ n ";

напечатать $ chr_slice-> seq;

Или альтернативно:

#! / usr / bin / perl -w

НАЧАТЬ {push @ INC, 'C: / src / bioperl-live', 'C: / src / ensembl / modules', 'C: / src / ensembl-compara / modules', 'C: / src / ensembl -iversity / модули ',' C: / src / ensembl-functgenomics / modules ';};

используйте строгий;

используйте Bio :: EnsEMBL :: Registry;

мой $ Registry = 'Bio :: EnsEMBL :: Registry';

$ registry-> load_registry_from_db (

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

-user => 'анонимный',

-verbose => '1'

);

мой $ slice_adaptor = Bio :: EnsEMBL :: Registry-> get_adaptor ("человек", "ядро", "фрагмент");

получить срез всей хромосомы X

мой $ chr_slice = $ slice_adaptor-> fetch_by_region ('хромосома', '13', 32_889_000,> 32_891_000);

Распечатать "################################################ ####### \ n ";

напечатать $ chr_slice-> seq;

person Pietsnot    schedule 25.10.2014