Bio::DB::SwissProt.3pm

Langue: en

Version: 2010-05-19 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

Bio::DB::SwissProt - Database object interface to SwissProt retrieval

SYNOPSIS

     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
 
 

DESCRIPTION

SwissProt is a curated database of proteins managed by the Swiss Bioinformatics Institute. Additional tools for parsing and manipulating swissprot files can be found at ftp://ftp.ebi.ac.uk/pub/software/swissprot/Swissknife/.

Allows the dynamic retrieval of Sequence objects (Bio::Seq) from the SwissProt database via an Expasy retrieval.

In order to make changes transparent we have host type (currently only expasy) and location (default to Switzerland) separated out. This allows the user to pick the closest Expasy mirror for running their queries.

FEEDBACK

Mailing Lists

User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to one of the Bioperl mailing lists. Your participation is much appreciated.
   bioperl-l@bioperl.org                  - General discussion
   http://bioperl.org/wiki/Mailing_lists  - About the mailing lists
 
 

Support

Please direct usage questions or support issues to the mailing list:

bioperl-l@bioperl.org

rather than to the module maintainer directly. Many experienced and reponsive experts will be able look at the problem and quickly address it. Please include a thorough description of the problem with code and data examples if at all possible.

Reporting Bugs

Report bugs to the Bioperl bug tracking system to help us keep track the bugs and their resolution. Bug reports can be submitted via the web:
   http://bugzilla.open-bio.org/
 
 

AUTHOR - Jason Stajich

Email Jason Stajich <jason@bioperl.org <

Thanks go to Alexandre Gattiker <gattiker@isb-sib.ch> of Swiss Institute of Bioinformatics for helping point us in the direction of the correct expasy scripts and for swissknife references.

Also thanks to Heikki Lehvaslaiho <heikki-at-bioperl-dot-org> for help with adding EBI swall server.

APPENDIX

The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _

Routines from Bio::DB::RandomAccessI

get_Seq_by_id

  Title   : get_Seq_by_id
  Usage   : $seq = $db->get_Seq_by_id('ROA1_HUMAN')
  Function: Gets a Bio::Seq object by its name
  Returns : a Bio::Seq object
  Args    : the id (as a string) of a sequence
  Throws  : "id does not exist" exception
 
 

get_Seq_by_acc

  Title   : get_Seq_by_acc
  Usage   : $seq = $db->get_Seq_by_acc('X77802');
  Function: Gets a Bio::Seq object by accession number
  Returns : A Bio::Seq object
  Args    : accession number (as a string)
  Throws  : "acc does not exist" exception
 
 

get_Stream_by_id

   Title   : get_Stream_by_id
   Usage   : $stream = $db->get_Stream_by_id( [$uid1, $uid2] );
   Function: Gets a series of Seq objects by unique identifiers
   Returns : a Bio::SeqIO stream object
   Args    : $ref : a reference to an array of unique identifiers for
                    the desired sequence entries
 
 

get_Stream_by_acc

   Title   : get_Stream_by_acc
   Usage   : $seq = $db->get_Seq_by_acc([$acc1, $acc2]);
   Function: Gets a series of Seq objects by accession numbers
   Returns : a Bio::SeqIO stream object
   Args    : $ref : a reference to an array of accession numbers for
                    the desired sequence entries
   Note    : For GenBank, this just calls the same code for get_Stream_by_id()
 
 

get_Stream_by_batch

   Title   : get_Stream_by_batch
   Usage   : $seq = $db->get_Stream_by_batch($ref);
   Function: Retrieves Seq objects from SwissProt 'en masse', rather than one
             at a time.  This is implemented the same way as get_Stream_by_id, 
             but is provided here in keeping with access methods of NCBI 
             modules.
   Example :
   Returns : a Bio::SeqIO stream object
   Args    : $ref : either an array reference, a filename, or a filehandle
             from which to get the list of unique ids/accession numbers.
 
 

NOTE: deprecated API. Use get_Stream_by_id() instead.

Implemented Routines from Bio::DB::WebDBSeqI interface

get_request

  Title   : get_request
  Usage   : my $url = $self->get_request
  Function: returns a HTTP::Request object
  Returns : 
  Args    : %qualifiers = a hash of qualifiers (ids, format, etc)
 
 

postprocess_data

  Title   : postprocess_data
  Usage   : $self->postprocess_data ( 'type' => 'string',
                                      'location' => \$datastr);
  Function: process downloaded data before loading into a Bio::SeqIO
  Returns : void
  Args    : hash with two keys - 'type' can be 'string' or 'file'
                               - 'location' either file location or string 
                                            reference containing data
 
 

default_format

  Title   : default_format
  Usage   : my $format = $self->default_format
  Function: Returns default sequence format for this module
  Returns : string
  Args    : none
 
 

Bio::DB::SwissProt specific routines

servertype

  Title   : servertype
  Usage   : my $servertype = $self->servertype
            $self->servertype($servertype);
  Function: Get/Set server type
  Returns : string
  Args    : server type string [optional]
 
 

hostlocation

  Title   : hostlocation
  Usage   : my $location = $self->hostlocation() 
           $self->hostlocation($location) 
  Function: Set/Get Hostlocation 
  Returns : string representing hostlocation
  Args    : string specifying hostlocation [optional]
 
 

location_url

  Title   : location
  Usage   : my $url = $self->location_url()
  Function: Get host url
  Returns : string representing url
  Args    : none
 
 

request_format

  Title   : request_format
  Usage   : my ($req_format, $ioformat) = $self->request_format;
            $self->request_format("genbank");
            $self->request_format("fasta");
  Function: Get/Set sequence format retrieval. The get-form will normally
            not be used outside of this and derived modules.
  Returns : Array of two strings, the first representing the format for
            retrieval, and the second specifying the corresponding SeqIO 
            format.
  Args    : $format = sequence format
 
 

idtracker

  Title   : idtracker
  Usage   : my ($newid) = $self->idtracker($oldid);
  Function: Retrieve new ID using old ID. 
  Returns : single ID if one is found
  Args    : ID to look for