Bio::DB::UpdateableSeqI.3pm

Langue: en

Version: 2008-01-11 (mandriva - 01/05/08)

Section: 3 (Bibliothèques de fonctions)

NAME

Bio::DB::UpdateableSeqI - An interface for writing to a database of sequences.

SYNOPSIS

     # get a Bio::DB::UpdateableSeqI somehow
     eval {
         my ( @updatedseqs, @newseqs, @deadseqs);
         my $seq = $db->get_Seq_by_id('ROA1_HUMAN');
         $seq->desc('a new description');
 
 
         push @updatedseqs, $seq;
 
 
         $db->write_seq(\@updatedseqs, \@newseqs, \@deadseqs);
     };
     if( $@ ) {
         print STDERR "an error when trying to write seq : $@\n";
     }
 
 

DESCRIPTION

This module seeks to provide a simple method for pushing sequence changes back to a Sequence Database - which can be an SQL compliant database, a file based database, AceDB, etc.

AUTHOR

Jason Stajich <jason@bioperl.org>

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/
 
 

APPENDIX

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

write_seq

   Title   : write_seq
   Usage   : write_seq(\@updatedseqs, \@addedseqs, \@deadseqs)
   Function: updates sequences in first array,
             adds sequences in the second array,
             and removes sequences in the third array.
   Example :
   Returns :
   Args    : arrays of sequence objects that must be obtained from
             Bio::DB::UpdateableSeqI.
 
 

_add_seq

  Title   : _add_seq
  Usage   : _add_seq($seq)
  Function: Adds a new sequence
  Example : 
  Returns : will throw an exception if
            sequences accession number already exists
  Args    : a new seq object - should have an accession number
 
 

_remove_seq

  Title   : _remove_seq
  Usage   : _remove_seq($seq)
  Function: Removes an existing sequence
  Example : 
  Returns : will throw an exception if
            sequence does not exists for the primary_id
  Args    : a seq object that was retrieved from Bio::DB::UpdateableSeqI
 
 

_update_seq

  Title   : _update_seq
  Usage   : _update_seq($seq)
  Function: Updates a sequence
  Example : 
  Returns : will throw an exception if
            sequence is out of sync from expected val.
  Args    : a seq object that was retrieved from Bio::DB::UpdateableSeqI
 
 

Methods inherieted 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
 
 

Methods inheirited from Bio::DB::SeqI


get_PrimarySeq_stream

  Title   : get_PrimarySeq_stream
  Usage   : $stream = get_PrimarySeq_stream
  Function: Makes a Bio::DB::SeqStreamI compliant object
            which provides a single method, next_primary_seq
  Returns : Bio::DB::SeqStreamI
  Args    : none
 
 

get_all_primary_ids

  Title   : get_all_ids
  Usage   : @ids = $seqdb->get_all_primary_ids()
  Function: gives an array of all the primary_ids of the 
            sequence objects in the database. These
            maybe ids (display style) or accession numbers
            or something else completely different - they
            *are not* meaningful outside of this database
            implementation.
  Example :
  Returns : an array of strings
  Args    : none
 
 

get_Seq_by_primary_id

  Title   : get_Seq_by_primary_id
  Usage   : $seq = $db->get_Seq_by_primary_id($primary_id_string);
  Function: Gets a Bio::Seq object by the primary id. The primary
            id in these cases has to come from $db->get_all_primary_ids.
            There is no other way to get (or guess) the primary_ids
            in a database.
 
 
            The other possibility is to get Bio::PrimarySeqI objects
            via the get_PrimarySeq_stream and the primary_id field
            on these objects are specified as the ids to use here.
  Returns : A Bio::Seq object
  Args    : accession number (as a string)
  Throws  : "acc does not exist" exception