Provided by: libbio-perl-perl_1.7.2-2_all bug


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


           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


       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

       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.


   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.
                  - General discussion  - About the mailing lists

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

       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:

AUTHOR - Jason Stajich

       Email Jason Stajich  < <

       Thanks go to Alexandre Gattiker <> of Swiss Institute of Bioinformatics
       for helping point us in the direction of the correct expasy scripts and for swissknife

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


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

   Routines from Bio::DB::RandomAccessI
        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

        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

         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

         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()

         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
         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
        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)

        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

        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
        Title   : servertype
        Usage   : my $servertype = $self->servertype
        Function: Get/Set server type
        Returns : string
        Args    : server type string [optional]

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

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

        Title   : request_format
        Usage   : my ($req_format, $ioformat) = $self->request_format;
        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
        Args    : $format = sequence format

        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

        Title   : id_tracker
        Usage   : my $map = $self->id_mapper( -from => '',
                                              -to   => '',
                                              -ids  => \@ids);
        Function: Retrieve new ID using old ID.
        Returns : hash reference of successfully mapped IDs
        Args    : -from : database mapping from
                  -to   : database mapped to
                  -ids  : a single ID or array ref of IDs to map
        Note    : For a list of valid database IDs, see: