I've been using BioPerl's Bio::DB::EntrezGene module to retrieve Entrez gene names given the numerical ID. This worked fine for months, and as recently as two weeks ago. Recently, though, it only returns an error. The strangest thing (to me) is that this happens even if I just run the sample code from the documentation. For example, if I run this:
#!/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;
I get this:
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
If anyone has any ideas about what might be going on & how to fix it, it'd be much appreciated. Thanks!
Seems like this was answered in the comments at StackOverflow: http://stackoverflow.com/questions/16199037/bioperl-module-biodbentrezgene-no-longer-working.