[Bioperl-l] GI to taxonomy

Bernd W bernd.web at gmail.com
Mon Sep 16 14:58:19 UTC 2013


Hi Chris, Brian,

Indeed, according to NCBI docs
(http://www.ncbi.nlm.nih.gov/books/NBK25500/), the base URL should be:

http://eutils.ncbi.nlm.nih.gov/entrez/eutils/


Example seach:
http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pubmed&term=science[journal]+AND+breast+cancer+AND+2008[pdat]


Kind regards,
Bernd

On Mon, Sep 16, 2013 at 4:39 PM, Fields, Christopher J
<cjfields at illinois.edu> wrote:
> That's possible; there are various eutils interfaces scattered throughout bioperl, so it's possible some haven't been updated to the most recent URL.  Brian, does a modified URL work?
>
> chris
>
> On Sep 16, 2013, at 8:08 AM, Brian Osborne <bosborne11 at verizon.net> wrote:
>
>> Chris,
>>
>> Bio::DB::Taxonomy::entrez uses this URL by default:
>>
>> http://www.ncbi.nih.gov/entrez/eutils/
>>
>> Should it be using this one?
>>
>> http://eutils.ncbi.nlm.nih.gov/entrez/eutils/
>>
>> Brian O.
>>
>> On Sep 13, 2013, at 4:06 AM, Alexey Morozov <alexeymorozov1991 at gmail.com> wrote:
>>
>>> Dear colleagues,
>>> I have a bunch of fasta genomes annotated only by their GI numbers, and
>>> need to get a taxonomy for all of them. So I rewrote get_tree method from
>>> Bio::DB::Taxonomy:
>>>
>>> 12 open GIS, GI_FILE;
>>> 13 my $tax_db=Bio::DB::Taxonomy->new(source=>'entrez');
>>> 14 my $tree;
>>> 15 while (<GIS>)
>>> 16         {
>>> 17         print "Requesting data for GI $_\n";
>>> 18         my $taxon=$tax_db->get_taxon(-gi=>"$_",-db=>'nucleotide');
>>> 19         if ($@){die $@;}#Catch exception and die, just in case
>>> 20                 # or die "Cannot get taxonomy data for GI$_:$!\n";
>>> 21         if ($tree)
>>> 22                 {
>>> 23                 $tree->merge_lineage($taxon);
>>> 24                 }else
>>> 25                 {
>>> 26                 $tree=Bio::Tree::Tree->new(-node=>$taxon);
>>> 27                 }
>>> 28         }
>>>
>>> This (line 18) way to invoke Bio::DB::Taxonomy->get_taxon is documented and
>>> I expect to get taxon objects. Yet all I get is
>>>
>>>
>>> --------------------- WARNING ---------------------
>>> MSG: Must have provided a valid HASHref for -params
>>> ---------------------------------------------------
>>> Requesting data for GI 15604717
>>>
>>>
>>> ------------- EXCEPTION: Bio::Root::Exception -------------
>>> MSG: Can't query website: 400 URL must be absolute
>>> STACK: Error::throw
>>> STACK: Bio::Root::Root::throw /usr/share/perl5/Bio/Root/Root.pm:472
>>> STACK: Bio::DB::Taxonomy::entrez::get_taxon
>>> /usr/share/perl5/Bio/DB/Taxonomy/entrez.pm:247
>>> STACK: ./get_tax:18
>>> -----------------------------------------------------------
>>>
>>> Directly using Bio::DB::Taxonomy::entrez doesn't help, GI numbers load OK,
>>> so I have no clue what happened.
>>> Need help.
>>> --
>>> Alexey Morozov,
>>> LIN SB RAS, bioinformatics group.
>>> Irkutsk, Russia.
>>> _______________________________________________
>>> Bioperl-l mailing list
>>> Bioperl-l at lists.open-bio.org
>>> http://lists.open-bio.org/mailman/listinfo/bioperl-l
>>
>>
>> _______________________________________________
>> Bioperl-l mailing list
>> Bioperl-l at lists.open-bio.org
>> http://lists.open-bio.org/mailman/listinfo/bioperl-l
>
>
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioperl-l



More information about the Bioperl-l mailing list