Bio AnnotationCollectionI
SummaryIncluded librariesPackage variablesSynopsisDescriptionGeneral documentationMethods
Toolbar
WebCvsRaw content
Summary
Bio::AnnotationCollectionI - Interface for annotation collections
Package variables
No package variables defined.
Included modules
Bio::Root::RootI
Inherit
Bio::Root::RootI
Synopsis
   # get an AnnotationCollectionI somehow, eg
$ac = $seq->annotation(); foreach $key ( $ac->get_all_annotation_keys() ) { @values = $ac->get_Annotations($key); foreach $value ( @values ) { # value is an Bio::AnnotationI, and defines a "as_text" method print "Annotation ",$key," stringified value ",$value->as_text,"\n"; # also defined hash_tree method, which allows data orientated # access into this object $hash = $value->hash_tree(); } }
Description
Annotation Collections are a way of storing a series of "interesting
facts" about something. We call an "interesting fact" in Bioperl an
Annotation (this differs from a Sequence Feature, which is called
a Sequence Feature and may or may not have an Annotation Collection).
The trouble about this is we are not that sure what "interesting
facts" someone might want to store: the possibility is endless.
Bioperl's approach is that the "interesting facts" are represented by
Bio::AnnotationI objects. The interface Bio::AnnotationI guarentees
two methods
   $obj->as_text(); # string formated to display to users
and
   $obj->hash_tree(); # hash with defined rules for data-orientated discovery
The hash_tree method is designed to play well with XML output and
other "nested-tag-of-data-values" think BoulderIO and/or Ace stuff. For more
info read Bio::AnnotationI docs
Annotations are stored in AnnotationCollections, each Annotation under a
different "tag". The tags allow simple discovery of the available annotations,
and in some cases (like the tag "gene_name") indicate how to interpret the
data underneath the tag. The tag is only one tag deep and each tag can have an
array of values.
In addition, AnnotationCollectionI's are guarentee to maintain a consistent
set object values under each tag - at least that each object complies to one
interface. The "standard" AnnotationCollection insists the following rules
are set up
  Tag         Object
--- ------
reference Bio::Annotation::Reference
comment Bio::Annotation::Comment
dblink Bio::Annotation::DBLink
gene_name Bio::Annotation::SimpleValue
description Bio::Annotation::SimpleValue
These tags are the implict tags that the SeqIO system needs to round-trip
GenBank/EMBL/Swissprot.
However, you as a user and us collectively as a community can grow the
"standard" tag mapping over time and specifically for a particular
area.
Methods
get_AnnotationsDescriptionCode
get_all_annotation_keysDescriptionCode
get_num_of_annotationsDescriptionCode
Methods description
get_Annotationscode    nextTop
 Title   : get_Annotations
Usage : my @annotations = $collection->get_Annotations('key')
Function: Retrieves all the Bio::AnnotationI objects for a specific key
Returns : list of Bio::AnnotationI - empty if no objects stored for a key
Args : string which is key for annotations
get_all_annotation_keyscodeprevnextTop
 Title   : get_all_annotation_keys
Usage : $ac->get_all_annotation_keys()
Function: gives back a list of annotation keys, which are simple text strings
Returns : list of strings
Args : none
get_num_of_annotationscodeprevnextTop
 Title   : get_num_of_annotations
Usage : my $count = $collection->get_num_of_annotations()
Function: Returns the count of all annotations stored in this collection
Returns : integer
Args : none
Methods code
get_AnnotationsdescriptionprevnextTop
sub get_Annotations {
    shift->throw_not_implemented();
}
get_all_annotation_keysdescriptionprevnextTop
sub get_all_annotation_keys {
    shift->throw_not_implemented();
}
get_num_of_annotationsdescriptionprevnextTop
sub get_num_of_annotations {
    shift->throw_not_implemented();
}

1;
}
General documentation
FEEDBACKTop
Mailing ListsTop
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@bio.perl.org
Reporting BugsTop
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://bugzilla.bioperl.org/
AUTHOR - Ewan BirneyTop
Email birney@ebi.ac.uk
Describe contact details here
APPENDIXTop
The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _