[Bioperl-l] default Bio::DB::SwissProt server broken?

Chris Fields cjfields at illinois.edu
Wed Oct 27 12:20:48 EDT 2010


Hamish,

Ah, missed those!  That's what I get for relying on tests alone.  Thanks for pointing them out; I'll double-check the various distributions for more, just in case.

chris

On Oct 27, 2010, at 10:34 AM, Hamish McWilliam wrote:

> Hi Chris,
> 
> Although they handle the redirect, the other modules which use dbfetch
> should probably have the URLs updated too:
> 
> Bio::DB::Biblio::biofetch
> Bio::DB::EMBL
> Bio::DB::RefSeq
> 
> Hamish
> 
> On 27 October 2010 15:51, Chris Fields <cjfields at illinois.edu> wrote:
>> Hamish,
>> 
>> Thanks, but I already caught that and fixed it in main trunk where appropriate yesterday (specifically, both Bio::DB::SwissProt and Bio::DB::BioFetch).
>> 
>> chris
>> 
>> On Oct 27, 2010, at 5:32 AM, Hamish McWilliam wrote:
>> 
>>> Hi Chris,
>>> 
>>> The dbfetch service at EBI has changed, see
>>> http://www.ebi.ac.uk/Tools/webservices/about/news#st_october_2010. On
>>> of the effects of this is the main endpoint used for dbfetch has
>>> changed from http://www.ebi.ac.uk/cgi-bin/dbfetch to
>>> http://www.ebi.ac.uk/Tools/dbfetch/dbfetch. With the old endpoints
>>> being supported via a HTTP redirect. It looks like the
>>> Bio::DB::SwissProt module does not support redirects and is thus
>>> getting an empty document back from the service. Looks like the URL
>>> used in the code needs to be updated.
>>> 
>>> All the best,
>>> 
>>> Hamish
>>> 
>>> On 26 October 2010 23:02, Chris Fields <cjfields at illinois.edu> wrote:
>>>> The default was changed recently in github to 'expasy'.  My guess is something changed on the EBI DBFetch end that isn't accepting certain identifiers anymore.
>>>> 
>>>> chris
>>>> 
>>>> On Oct 26, 2010, at 1:25 PM, Matthew Conte wrote:
>>>> 
>>>>> Hello,
>>>>> 
>>>>> I have a custom script for parsing out UniProt accessions from a GFF3 file
>>>>> and fetching the description of the UniProt entry using Bio::DB::SwissProt
>>>>> and *get_Seq_by_acc*.  This script has been working for months without any
>>>>> problems until now.  The script and the format of the input files has not
>>>>> changed at all.
>>>>> 
>>>>> I now get an error like this:
>>>>> 
>>>>> *------------- EXCEPTION: Bio::Root::Exception -------------*
>>>>> *MSG: acc O95342 does not exist*
>>>>> *STACK: Error::throw*
>>>>> *STACK: Bio::Root::Root::throw /Library/Perl/5.10.0/Bio/Root/Root.pm:368*
>>>>> *STACK: Bio::DB::WebDBSeqI::get_Seq_by_acc
>>>>> /Library/Perl/5.10.0/Bio/DB/WebDBSeqI.pm:195*
>>>>> *STACK: /Users/Matt/scripts/get_uniprot_names.pl:35*
>>>>> *-----------------------------------------------------------*
>>>>> 
>>>>> The relevant portion of my original code looks something like this:
>>>>> 
>>>>> *#!/usr/bin/perl*
>>>>> *use strict;*
>>>>> *use Bio::DB::SwissProt;*
>>>>> *#parse out accession number*
>>>>> *..*
>>>>> *my $acc_num = "**O95342";*
>>>>> *my $db_obj = Bio::DB::SwissProt->new;*
>>>>> *my $seq_obj = $db_obj->get_Seq_by_acc($acc_num);*
>>>>> *
>>>>> *
>>>>> Looking at the documentation for Bio::DB::SwissProt, I noticed you can
>>>>> specify -servertype and -hostlocation.  So I changed my code to look
>>>>> something like this:
>>>>> 
>>>>> *
>>>>> #!/usr/bin/perl
>>>>> use strict;
>>>>> use Bio::DB::SwissProt;
>>>>> #parse out accession number
>>>>> ..
>>>>> my $acc_num = "O95342";
>>>>> my $db_obj = Bio::DB::SwissProt->new('-servertype' => 'expasy',
>>>>>                                                           '-hostlocation'
>>>>> => 'us');
>>>>> my $seq_obj = $db_obj->get_Seq_by_acc($acc_num);
>>>>> *
>>>>> 
>>>>> This fixes my problem and my script works again.
>>>>> 
>>>>> The default *hostlocation *is http://www.ebi.ac.uk/cgi-bin/dbfetch and the
>>>>> 'us' *hostlocation *is http://us.expasy.org/cgi-bin/sprot-retrieve-list.pl.
>>>>>  Both of these urls work in a browser, though the default throws the error
>>>>> in my script. Interestingly, the 'us' url has a notice that says
>>>>> "*Notice:* This
>>>>> page will be replaced with www.uniprot.org. Please send us your
>>>>> feedback<http://www.uniprot.org/contact>
>>>>> !", so hopefully it doesn't break soon as well.  Perhaps the default ebi url
>>>>> was recently changed in some way?  Anyway, I figured I'd post here in case
>>>>> anyone else ran into this problem.
>>>>> 
>>>>> cheers,
>>>>> Matt
>>>>> _______________________________________________
>>>>> 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
>>>> 
>>> 
>>> 
>>> 
>>> --
>>> ----
>>> "Saying the internet has changed dramatically over the last five years
>>> is cliché – the internet is always changing dramatically" - Craig
>>> Labovitz, Arbor Networks.
>>> 
>>> _______________________________________________
>>> Bioperl-l mailing list
>>> Bioperl-l at lists.open-bio.org
>>> http://lists.open-bio.org/mailman/listinfo/bioperl-l
>> 
> 
> 
> 
> -- 
> ----
> "Saying the internet has changed dramatically over the last five years
> is cliché – the internet is always changing dramatically" - Craig
> Labovitz, Arbor Networks.
> 
> _______________________________________________
> 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