NAME

FAST::Bio::SeqI - Abstract Interface of Sequence (with features)

SYNOPSIS

# get a FAST::Bio::SeqI somehow, eg, via SeqIO. See SeqIO info
# for more information

$seqio  = FAST::Bio::SeqIO->new ( '-format' => 'Fasta' , -file => 'myfile.fasta');
$seqobj = $seqio->next_seq();

# features must implement FAST::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

DESCRIPTION

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 FAST::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.

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://bio.perl.org/MailList.html             - About the mailing lists

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 email or the web:

bioperl-bugs@bio.perl.org
http://bio.perl.org/bioperl-bugs/

AUTHOR - Ewan Birney

Email birney@sanger.ac.uk

APPENDIX

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

top_SeqFeatures

Title   : top_SeqFeatures
Usage   : 
Function:
Example :
Returns : 
Args    :

all_SeqFeatures

Title   : all_SeqFeatures
Usage   : @features = $annseq->all_SeqFeatures()
Function: returns all SeqFeatures, included sub SeqFeatures
Returns : an array
Args    : none

seq

Title   : seq
Usage   :
Function:
Example :
Returns : 
Args    :

write_GFF

Title   : write_GFF
Usage   :
Function:
Example :
Returns : 
Args    :

annotation

Title   : annotation
Usage   : $obj->annotation($seq_obj)
Function: 
Example : 
Returns : value of annotation
Args    : newvalue (optional)

primary_seq

Title   : primary_seq
Usage   : $obj->primary_seq($newval)
Function: 
Example : 
Returns : value of primary_seq
Args    : newvalue (optional)

feature_count

Title   : feature_count
Usage   : $seq->feature_count()
Function: Return the number of SeqFeatures attached to a sequence
Example : 
Returns : number of SeqFeatures
Args    : none

species

Title   : species
Usage   : 
Function: Gets or sets the species
Example : $species = $self->species();
Returns : FAST::Bio::Species object
Args    : FAST::Bio::Species object or none;