- AUTHOR - Ewan Birney
Bio::SeqI - Abstract Interface of Sequence (with features)
# get a Bio::SeqI somehow, eg, via SeqIO. See SeqIO info # for more information $seqio = Bio::SeqIO->new ( '-format' => 'Fasta' , -file => 'myfile.fasta'); $seqobj = $seqio->next_seq(); # features must implement Bio::SeqFeatureI @features = $seqobj->top_SeqFeatures(); # just top level @features = $seqobj->all_SeqFeatures(); # descend into sub features $seq = $seqobj->seq(); # actual sequence as a string $seqstr = $seqobj->subseq(10,50); $ann = $seqobj->annotation(); # annotation object
SeqI is the abstract interface of annotated Sequence. These methods are those which you can be guarenteed to get for any annseq. There aren't many here, because too many complicated functions here prevent implementations which are just wrappers around a database or similar delayed mechanisms.
Most of the clever stuff happens inside the SeqFeatureI system.
A good reference implementation is Bio::Seq which is a pure perl implementation of this class with alot of extra pieces for extra manipulation. However, if you want to be able to use any sequence object in your analysis, if you can do it just using these methods, then you know you will be future proof and compatible with other implementations of Seq.
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.
firstname.lastname@example.org - General discussion http://bio.perl.org/MailList.html - About the mailing lists
Report bugs to the Bioperl bug tracking system to help us keep track the bugs and their resolution. Bug reports can be submitted via email or the web:
The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _
Title : top_SeqFeatures Usage : my @features = $seq->top_SeqFeatures(); Function: (may be deprecated in the future) Returns : An array of top level sequence features, features which contain features are NOT flattened Args : none
Title : all_SeqFeatures Usage : @features = $annseq->all_SeqFeatures() Function: returns all SeqFeatures, included sub SeqFeatures Returns : an array Args : none
Title : seq Usage : my $sequence = $seq->seq(); Function: Get/Set the sequence as a string Returns : string Args : (optional) sequence string to set (if permitted by the implementation)
Title : write_GFF Usage : $seq->write_GFF(\*OUTPUTHANDLE); Function: Utility methods which creates GFF output Returns : none Args : (optional) filehandle to write to (default is STDOUT)
Title : annotation Usage : $obj->annotation($seq_obj) Function: Get/Set Annotation object associated with the sequence. This is where features with no explicit location are aggregated. Returns : Bio::AnnotationCollectionI object Args : None or Bio::Annotation object
Title : feature_count Usage : $seq->feature_count() Function: Return the number of SeqFeatures attached to a sequence Returns : number of SeqFeatures Args : none
Title : species Usage : $species = $self->species(); Function: Gets or sets the species Returns : Bio::Species object Args : Bio::Species object or none;
Title : primary_seq Usage : $obj->primary_seq($newval) Function: Get/Set the underlying primary sequence for a SeqI. This cannot always be assumed some implementations may not provide a primary sequence underneath. Returns : value of primary_seq Args : newvalue (optional)