Provided by: libbio-perl-perl_1.7.6-3_all bug


       Bio::Annotation::Tree - Provide a tree as an annotation to a Bio::AnnotatableI object


          # Read a tree and an alignment

          $treeio=Bio::TreeIO->new(-file=>'foo.dnd', -format=>'newic');
          $alnio=Bio::AlignIO->new(-file=>'foo.aln', -format=>'clustalw');

          # Construct a tree annotation
          $ann_tree = Bio::Annotation::Tree->new (-tree_id  => 'mytree',
                                                  -tree_obj     => $tree,

          # Add the tree annotation to AlignI
          $ac = Bio::Annotation::Collection->new();
          $ac->add_Annotation('tree', $ann_tree);

          # NOTE & TODO:
          # The above procedures are sensible only if
          # the tree is generated from the alignment.  However,
          # currently no effort has been made to check the consistency
          # between the tree OTU names and the sequence names


       Provides a Bio::AnnotationI object which contains a Bio::Tree::TreeI, which can be added
       to a Bio::AnnotationCollectionI, which in turn be attached to a Bio::AnnotatableI
       (typically a Bio::AlignI object)


       Weigang Qiu - weigang at


       Aaron Mackey Jason Stajich


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

AnnotationI implementing functions

        Title   : as_text
        Usage   : $ann_tree->as_text();
        Function: output tree as a string
        Returns : a newic tree file
        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
        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 to tree
        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 Bio::AnnotationCollectionI when adding
                  this object. When obtaining an AnnotationI object from the
                  collection, the collection will set the value to the tag
                  under which it was stored unless the object has a tag
                  stored already.
        Returns : value of tagname (a scalar)
        Args    : new value (a scalar, optional)

Specific accessors for Tree

        Title   : tree_id
        Usage   : $obj->tree_id($newval)
        Function: Get/set a name for the tree
        Returns : value of tagname (a scalar)
        Args    : new value (a scalar, optional)

        Title   : tree
        Usage   : $obj->tree($newval)
        Function: Get/set tree
        Returns : tree ref
        Args    : new value (a tree ref, optional)