Модуль BioPerl Bio::DB::EntrezGene больше не работает

Я использовал модуль Bio::DB::EntrezGene из BioPerl, чтобы получить имена генов Entrez с числовым идентификатором.

Это работало нормально в течение нескольких месяцев, и совсем недавно, две недели назад. Однако в последнее время он возвращает только ошибку.

Самое странное (для меня) это то, что это происходит, даже если я просто запускаю пример кода из документации. Например, если я запускаю это:

#!/usr/bin/perl

use strict;
use warnings;
use Bio::DB::EntrezGene;

my $db = Bio::DB::EntrezGene->new;

my $seqio = $db->get_Stream_by_id([2, 4693, 3064]); # Gene ids
    while ( my $seq = $seqio->next_seq ) {
            print "id is ", $seq->display_id, "\n";
    }

exit;

Я получаю это:

Replacement list is longer than search list at /Library/Perl/5.12/Bio/Range.pm line 251.
UNIVERSAL->import is deprecated and will be removed in a future perl at /Library/Perl/5.12/Bio/Tree/TreeFunctionsI.pm line 94
Data Error: none conforming data found on line 1 in /var/folders/2f/55z0d46n3l10bq650j6svgw89rmqw1/T/mkguvw1MOO/VR86iPUDSJ!
first 20 (or till end of input) characters including the non-conforming data:
::= {
  {
    track-
 at /Library/Perl/5.12/Bio/SeqIO/entrezgene.pm line 171

Если у кого-то есть какие-либо идеи о том, что может происходить и как это исправить, это было бы очень признательно. Спасибо!


person Matt LaFave    schedule 24.04.2013    source источник


Ответы (1)


Похоже, у вас ошибка в данных, от которых зависит этот модуль. Что находится в этой папке?

/var/folders/2f/55z0d46n3l10bq650j6svgw89rmqw1/T/mkguvw1MOO/VR86iPUDSJ!

И как он генерируется?


Обновить

Возможно, вам будет приятно узнать, что я получаю ту же ошибку. Данные загружаются из Интернета, а источник поврежден. Я не знаю достаточно, чтобы сказать вам, к кому обращаться, но это то, где ошибка.

person Borodin    schedule 24.04.2013
comment
Боюсь, без понятия. Это какой-то временный каталог, и он меняется каждый раз, когда я пытаюсь запустить скрипт. Например, я только что снова запустил его, и рассматриваемый файл стал /var/folders/2f/55z0d46n3l10bq650j6svgw89rmqw1/T/rl0qhu09c1/pXy8RKI7n3. Часть /var/folders/2f/55z0d46n3l10bq650j6svgw89rmqw1/T/ все еще там, но если я проверю этот каталог T, в нем нет ни одного из подкаталогов (ни mkguvw1MOO, ни rl0qhu09c1). - person Matt LaFave; 24.04.2013
comment
О, это хорошая новость - похоже, проблема на стороне сервера. Я связался с NCBI, чтобы узнать, что происходит. Спасибо! - person Matt LaFave; 24.04.2013
comment
@MattLaFave: Если посмотреть дальше, проблема в том, что данные начинаются с Entrezgene-Set ::= и включают три элемента. BioPerl ожидает только Entrezgene ::= и не справится с наборами. Думаю, BioPerl не справится с этим аспектом данных Entrez Gene. - person Borodin; 24.04.2013
comment
@MattLaFave: если вы посмотрите на модуль Bio::ASN1::EntrezGene, подпрограмма next_seq настаивает на Entrezgene ::= в начале данных. BioPerl не будет работать с наборами Entrez Gene. Вам слово :) Вы можете связаться с автором, доктором Мингьи Лю ‹[email protected]›, но я не могу обещать, что вы получите ответ, который вам понравится. Я был бы рад сам обновить модуль, если кто-то захочет меня заинтересовать. - person Borodin; 24.04.2013