Bio::A...n::Tree(3pm)

πŸ“¦
version 1.7.8 Β· 3 versions
, in debian bookworm, debian trixie, ubuntu jammy, ubuntu noble

🌸 Bio::A...n::Tree β€” the manual page, but make it make sense

okay bestie so this is the Bio::A...n::Tree(3pm) page from the User Contributed Perl Documentation and it's genuinely so useful, stay with me πŸ’–


✨ NAME ✨

Bio::Annotation::Tree β€” Provide a tree as an annotation to a Bio::AnnotatableI object πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

no cap, here's the whole vibe:

# Read a tree and an alignment

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

# 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);
$aln->annotation($ac);

# 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
🫢 heads up though: those NOTE & TODO lines are literally in the code block, and they mean what they say. No effort has been made to check the consistency between the tree OTU names and the sequence names. So that's a whole thing. iykyk.

🌈 DESCRIPTION 🌈

So basically πŸ’… it provides a Bio::AnnotationI object which contains a Bio::Tree::TreeI. You can add that to a Bio::AnnotationCollectionI, which can in turn be attached to a Bio::AnnotatableI β€” typically a Bio::AlignI object. Iconic. It's giving "tree, but make it an annotation." 🌳✨


πŸ‘‘ AUTHOR πŸ‘‘

Weigang Qiu β€” weigang at genectr.hunter.cuny.edu


πŸ’œ CONTRIBUTORS πŸ’œ

Aaron Mackey Jason Stajich


πŸŽ€ APPENDIX πŸŽ€

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


🌸 AnnotationI implementing functions 🌸

πŸ’– as_text

  • Title: as_text
  • Usage: $ann_tree->as_text();
  • Function: output tree as a string
  • Returns: a newic tree file
  • Args: None

πŸ¦‹ display_text

  • 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: (blank in the original, bestie β€” nothing listed)
  • Returns: a string
  • Args: [optional] callback

✨ hash_tree

  • 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

πŸ’… tagname

  • 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 🌳

πŸ“ tree_id

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

🧚 tree

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

and that's the whole page, periodt. πŸ’… this was Bio::A...n::Tree(3pm) from the User Contributed Perl Documentation, running on perl v5.32.1 and dated 2021-08-15. go annotate something, bestie πŸ«Άβœ¨πŸ’–

πŸ“¦ where this page comes from