Provided by: libbio-perl-perl_1.7.8-1_all bug

NAME

       Bio::Tree::AnnotatableNode - A Tree Node with support for annotation

SYNOPSIS

           use Bio::Tree::AnnotatableNode;
           my $nodeA = Bio::Tree::AnnotatableNode->new();
           my $nodeL = Bio::Tree::AnnotatableNode->new();
           my $nodeR = Bio::Tree::AnnotatableNode->new();

           my $node = Bio::Tree::AnnotatableNode->new();
           $node->add_Descendents($nodeL);
           $node->add_Descendents($nodeR);

           print "node is not a leaf \n" if( $node->is_leaf);

           # $node is-a Bio::AnnotatableI, hence:
           my $ann_coll = $node->annotation();
           # $ann_coll is-a Bio::AnnotationCollectionI, hence:
           my @all_anns = $ann_coll->get_Annotations();
           # do something with the annotation objects

DESCRIPTION

       Makes a Tree Node with Annotations, suitable for building a Tree.  See Bio::Tree::Node for
       a full list of functionality.

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 the Bioperl mailing list.  Your participation
       is much appreciated.

         bioperl-l@bioperl.org                  - General discussion
         http://bioperl.org/wiki/Mailing_lists  - About the mailing lists

   Support
       Please direct usage questions or support issues to the mailing list:

       bioperl-l@bioperl.org

       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:

         https://github.com/bioperl/bioperl-live/issues

AUTHOR - Mira Han

       Email mirhan@indiana.edu

APPENDIX

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

   new
        Title   : new
        Usage   : my $obj = Bio::Tree::AnnotatableNode->new();
        Function: Builds a new Bio::Tree::AnnotatableNode object
        Returns : Bio::Tree::AnnotatableNode
        Args    : -tostring => code reference to the tostring callback function (optional)

Methods for implementing Bio::AnnotatableI

   annotation
        Title   : annotation
        Usage   : $ann = $node->annotation or
                  $node->annotation($ann)
        Function: Gets or sets the annotation
        Returns : Bio::AnnotationCollectionI object
        Args    : None or Bio::AnnotationCollectionI object
       See L<Bio::AnnotationCollectionI> and L<Bio::Annotation::Collection>
       for more information

Methods for implementing tag access through Annotation::SimpleValue

   add_tag_value
        Title   : add_tag_value
        Usage   : $node->add_tag_value($tag,$value)
        Function: Adds a tag value to a node
        Returns : number of values stored for this tag
        Args    : $tag   - tag name
                  $value - value to store for the tag

   remove_tag
        Title   : remove_tag
        Usage   : $node->remove_tag($tag)
        Function: Remove the tag and all values for this tag
        Returns : boolean representing success (0 if tag does not exist)
        Args    : $tag - tagname to remove

   remove_all_tags
        Title   : remove_all_tags
        Usage   : $node->remove_all_tags()
        Function: Removes all tags
        Returns : None
        Args    : None

   get_all_tags
        Title   : get_all_tags
        Usage   : my @tags = $node->get_all_tags()
        Function: Gets all the tag names for this Node
        Returns : Array of tagnames
        Args    : None

   get_tag_values
        Title   : get_tag_values
        Usage   : my @values = $node->get_tag_value($tag)
        Function: Gets the values for given tag ($tag)
        Returns : Array of values or empty list if tag does not exist
        Args    : $tag - tag name

   has_tag
        Title   : has_tag
        Usage   : $node->has_tag($tag)
        Function: Boolean test if tag exists in the Node
        Returns : Boolean
        Args    : $tag - tagname

Methods for implementing to_string

   to_string_callback
        Title   : to_string_callback
        Usage   : $node->to_string_callback(\&func)
        Function: get/set callback for to_string
        Returns : code reference for the to_string callback function
        Args    : \&func - code reference to be set as the callback function

Methods for accessing Bio::Seq

   sequence
        Title   : sequence
        Usage   : $ann = $node->sequence or
                  $node->sequence($seq)
        Function: Gets or sets the sequence
        Returns : array reference of Bio::SeqI objects
        Args    : None or Bio::SeqI object
       See L<Bio::SeqI> and L<Bio::Seq>
       for more information

   has_sequence
        Title   : has_sequence
        Usage   : if( $node->has_sequence) { # do something }
        Function: tells if node has sequence attached
        Returns : Boolean for whether or not node has Bio::SeqI attached.
        Args    : None