use Bio::Annotation::OntologyTerm;
use Bio::Annotation::Collection;
use Bio::Ontology::Term;
my $coll = Bio::Annotation::Collection->new();
# this also implements a tag/value pair, where tag _and_ value are treated
# as ontology terms
my $annterm = Bio::Annotation::OntologyTerm->new(-label => 'ABC1',
-tagname => 'Gene Name');
# ontology terms can be added directly - they implicitly have a tag
$coll->add_Annotation($annterm);
# implementation is by composition - you can get/set the term object
# e.g.
my $term = $annterm->term(); # term is-a Bio::Ontology::TermI
print "ontology term ",$term->name()," (ID ",$term->identifier(),
"), ontology ",$term->ontology()->name(),"\n";
$term = Bio::Ontology::Term->new(-name => 'ABC2',
-ontology => 'Gene Name');
$annterm->term($term);
Title : as_text
Usage : my $text = $obj->as_text
Function: Returns a textual representation of the annotation that
this object holds. Presently, it is tag name, name of the
term, and the is_obsolete attribute concatenated togather
with a delimiter (|).
Returns : string
Args : none
Title : display_text
Usage : my $str = $ann->display_text();
Function: returns a string. Unlike as_text(), this method returns a string
formatted as would be expected for te specific implementation.
One can pass a callback as an argument which allows custom text
generation; the callback is passed the current instance and any text
returned
Example :
Returns : a string
Args : [optional] callback
Title : hash_tree
Usage : my $hashtree = $value->hash_tree
Function: For supporting the AnnotationI interface just returns the value
as a hashref with the key 'value' pointing to the value
Returns : hashrf
Args : none
Title : tagname
Usage : $obj->tagname($newval)
Function: Get/set the tagname for this annotation value.
Setting this is optional. If set, it obviates the need to provide
a tag to AnnotationCollection when adding this object.
This is aliased to ontology() here.
Example :
Returns : value of tagname (a scalar)
Args : new value (a scalar, optional)
Title : term
Usage : $obj->term($newval)
Function: Get/set the Bio::Ontology::TermI implementing object.
We implement TermI by composition, and this method sets/gets the
object we delegate to.
Example :
Returns : value of term (a Bio::Ontology::TermI compliant object)
Args : new value (a Bio::Ontology::TermI compliant object, optional)
Title : identifier
Usage : $term->identifier( "0003947" );
or
print $term->identifier();
Function: Set/get for the identifier of this Term.
Returns : The identifier [scalar].
Args : The identifier [scalar] (optional).
Title : name
Usage : $term->name( "N-acetylgalactosaminyltransferase" );
or
print $term->name();
Function: Set/get for the name of this Term.
Returns : The name [scalar].
Args : The name [scalar] (optional).
Title : definition
Usage : $term->definition( "Catalysis of ..." );
or
print $term->definition();
Function: Set/get for the definition of this Term.
Returns : The definition [scalar].
Args : The definition [scalar] (optional).
Title : ontology
Usage : $term->ontology( $top );
or
$top = $term->ontology();
Function: Set/get for a relationship between this Term and
another Term (e.g. the top level of the ontology).
Returns : The ontology of this Term [TermI].
Args : The ontology of this Term [TermI or scalar -- which
becomes the name of the category term] (optional).
Title : is_obsolete
Usage : $term->is_obsolete( 1 );
or
if ( $term->is_obsolete() )
Function: Set/get for the obsoleteness of this Term.
Returns : the obsoleteness [0 or 1].
Args : the obsoleteness [0 or 1] (optional).
Title : comment
Usage : $term->comment( "Consider the term ..." );
or
print $term->comment();
Function: Set/get for an arbitrary comment about this Term.
Returns : A comment.
Args : A comment (optional).
Title : get_synonyms()
Usage : @aliases = $term->get_synonyms();
Function: Returns a list of aliases of this Term.
Returns : A list of aliases [array of [scalar]].
Args :
Title : add_synonym
Usage : $term->add_synonym( @asynonyms );
or
$term->add_synonym( $synonym );
Function: Pushes one or more synonyms into the list of synonyms.
Returns :
Args : One synonym [scalar] or a list of synonyms [array of [scalar]].
Title : remove_synonyms()
Usage : $term->remove_synonyms();
Function: Deletes (and returns) the synonyms of this Term.
Returns : A list of synonyms [array of [scalar]].
Args :
Title : get_dblinks()
Usage : @ds = $term->get_dblinks();
Function: Returns a list of each dblinks of this GO term.
Returns : A list of dblinks [array of [scalars]].
Args :
Note : this is deprecated in favor of get_dbxrefs(), which works with strings
or L<Bio::Annotation::DBLink> instances
Title : get_dbxrefs()
Usage : @ds = $term->get_dbxrefs();
Function: Returns a list of each dblinks of this GO term.
Returns : A list of dblinks [array of [scalars] or Bio::Annotation::DBLink instances].
Args :
Title : add_dblink
Usage : $term->add_dblink( @dbls );
or
$term->add_dblink( $dbl );
Function: Pushes one or more dblinks
into the list of dblinks.
Returns :
Args : One dblink [scalar] or a list of
dblinks [array of [scalars]].
Note : this is deprecated in favor of add_dbxref(), which works with strings
or L<Bio::Annotation::DBLink> instances
Title : add_dbxref
Usage : $term->add_dbxref( @dbls );
or
$term->add_dbxref( $dbl );
Function: Pushes one or more dblinks
into the list of dblinks.
Returns :
Args :
Title : remove_dblinks()
Usage : $term->remove_dblinks();
Function: Deletes (and returns) the definition references of this GO term.
Returns : A list of definition references [array of [scalars]].
Args :
Note : this is deprecated in favor of remove_dbxrefs(), which works with strings
or L<Bio::Annotation::DBLink> instances
Title : remove_dbxrefs()
Usage : $term->remove_dbxrefs();
Function: Deletes (and returns) the definition references of this GO term.
Returns : A list of definition references [array of [scalars]].
Args :
Title : get_secondary_ids
Usage : @ids = $term->get_secondary_ids();
Function: Returns a list of secondary identifiers of this Term.
Secondary identifiers mostly originate from merging terms,
or possibly also from splitting terms.
Returns : A list of secondary identifiers [array of [scalar]]
Args :
Title : add_secondary_id
Usage : $term->add_secondary_id( @ids );
or
$term->add_secondary_id( $id );
Function: Adds one or more secondary identifiers to this term.
Returns :
Args : One or more secondary identifiers [scalars]
Title : remove_secondary_ids
Usage : $term->remove_secondary_ids();
Function: Deletes (and returns) the secondary identifiers of this Term.
Returns : The previous list of secondary identifiers [array of [scalars]]
Args :