The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.


Bio::SeqFeature::TypedSeqFeatureI - a strongly typed SeqFeature


   # get Sequence Features in some manner, eg
   # from a Sequence object

    foreach $sf ( $seq->get_SeqFeatures() ) {
        # all sequence features must have primary_tag() return a string
        $type_as_string = $sf->primary_tag();
        if( $sf->isa("Bio::SeqFeature::TypedSeqFeatureI") ) {
            $ot = $sf->ontology_term();
            print "Ontology identifier:",$ot->identifier(),
                  " name:",$ot->name(),
                  " Description:",$ot->description(),"\n";

        } else {
            print "Sequence Feature does not have an ontology type\n";



This interface describes the extension of SeqFeatureI to being a strongly typed SeqFeature.

Bio::SeqFeature::TypedSeqFeatureI extends the Bio::SeqFeatureI interface (ie, a TypedSeqFeatureI feature must also implement all the Bio::SeqFeatureI interface as well).

It is suggested that the primary_tag() method of SeqFeatureI return the same as the ontology_term()->name() of the OntologyTypedI (ie, the "string" name of the ontology type is used as the primary tag), but this should not be assumed by client code as they are scenarios where one would like to maintain the difference.


Mailing Lists

User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to the Bioperl mailing list. 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 of the bugs and their resolution. Bug reports can be submitted via the web:

AUTHOR - Ewan Birney

Email - please email the BioPerl mailing list above.


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


  Title   : ontology_term
  Usage   : my $ot = $seqfeature->ontology_term()
  Returns : a Bio::Ontology::TermI compliant object
  Args    : none
  Status  : public

This method returns the ontology term for a strongly typed sequence feature.