[Bioperl-l] Question about retrieving sequences from swissprot database

cacaucenturion2 cacaucenturion2 at gmail.com
Mon Jul 29 03:35:28 UTC 2013


Hi all,

I met a problem when trying to retrieve sequences from SWISSPROT. I tried the following script

perl -e 'use Bio::Perl; $seq_object = get_sequence('swissprot',"Q197F7");' 

However I was told that 

------------- EXCEPTION: Bio::Root::Exception -------------
MSG: acc Q197F7 does not exist
STACK: Error::throw
STACK: Bio::Root::Root::throw /usr/local/share/perl5/Bio/Root/Root.pm:368
STACK: Bio::DB::WebDBSeqI::get_Seq_by_acc /usr/local/share/perl5/Bio/DB/WebDBSeqI.pm:195
STACK: Bio::Perl::get_sequence /usr/local/share/perl5/Bio/Perl.pm:520
STACK: -e:1


I have confirmed that Q197F7 does exist (http://www.uniprot.org/uniprot/Q197F7) so this result seems irreasonable.


I tried the example given here http://search.cpan.org/~cjfields/BioPerl-1.6.901/Bio/DB/SwissProt.pm
but it still does not work (similar error: MSG: id does not exist).

 use Bio::DB::SwissProt;

    $sp = Bio::DB::SwissProt->new();

    $seq = $sp->get_Seq_by_id('KPY1_ECOLI'); # SwissProt ID
    # <4-letter-identifier>_<species 5-letter code>
    # or ...
    $seq = $sp->get_Seq_by_acc('P43780'); # SwissProt AC      
    # [OPQ]xxxxx


    # In fact in this implementation 
    # these methods call the same webscript so you can use 
    # then interchangeably

    # choose a different server to query
    $sp = Bio::DB::SwissProt->new('-servertype' => 'expasy',
                                 '-hostlocation' => 'us');

    $seq = $sp->get_Seq_by_id('BOLA_HAEIN'); # SwissProtID
Could any one help me figure it out?  

Thank you so much!


#################################################################################
Cacau Centurion




More information about the Bioperl-l mailing list