Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
Bio::AnnotationCollectUser(Contributed Perl DocumBio::AnnotationCollectionI(3)

       Bio::AnnotationCollectionI - Interface for annotation collections

	  # 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();

       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).

       A benefit of this approach is that all sorts of simple, interesting
       observations can	be collected, the possibility is endless.

       The Bioperl approach is that the	"interesting facts" are	represented by
       Bio::AnnotationI	objects. The interface Bio::AnnotationI	guarantees two

	  $obj->as_text(); # string formatted to display to users


	  $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
       information see Bio::AnnotationI.

       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, AnnotationCollections are guaranteed to maintain
       consistent types	of objects under each tag - at least that each object
       complies	to one interface. The "standard" AnnotationCollection insists
       the following rules are set up:

	 Tag		Object
	 ---		------
	 comment	Bio::Annotation::Comment
	 dblink		Bio::Annotation::DBLink
	 description	Bio::Annotation::SimpleValue
	 gene_name	Bio::Annotation::SimpleValue
	 ontology_term	Bio::Annotation::OntologyTerm
	 reference	Bio::Annotation::Reference

       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

   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.

       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
       the bugs	and their resolution.  Bug reports can be submitted via	the

AUTHOR - Ewan Birney

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

       Use these for Bio::AnnotationI object access.

	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

	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

	Usage	: $self->add_Annotation('reference',$object);
	Function: Adds an annotation for a specific key.

		  If the key is	omitted, the object to be added	must provide a value
		  via its tagname().

		  If the archetype is provided,	this and future	objects	added under
		  that tag have	to comply with the archetype and will be rejected

	Returns	: none
	Args	: annotation key ('disease', 'dblink', ...)
		  object to store (must	be Bio::AnnotationI compliant)
		  [optional] object archetype to map future storage of object
		  of these types to

	Usage	:
	Function: Remove the annotations for the specified key from this collection.
	Returns	: an list of Bio::AnnotationI compliant	objects	which were stored
		  under	the given key(s)
	Args	: the key(s) (tag name(s), one or more strings)	for which to
		  remove annotations (optional;	if none	given, flushes all

	Usage	: my $count = $collection->get_num_of_annotations()
	Function: Returns the count of all annotations stored in this collection
	Returns	: integer
	Args	: none

perl v5.32.0			  2019-12-07	 Bio::AnnotationCollectionI(3)


Want to link to this manual page? Use this URL:

home | help