[Bioperl-l] "richer" tree nodes

Aaron J Mackey Aaron J. Mackey" <amackey@virginia.edu
Mon, 15 Jul 2002 16:26:47 -0400 (EDT)


Well, of course the ancestral sequence object is next on my hit list; and
I've found that turning things into a TreeFactory isn't so hard at all
(instead of new Bio::Tree:Tree, it's just $self->treetype->new()).  Unless
anyone objects, I'll continue down line #2 ... that way Tree::Node::Node
stays "clean".

slightly off topic, but does anyone have any plans for implementing a few
more tree methods like:

$n1 = $tree->find_node('node_id');
$n2 = $tree->find_node('node2id');
$n3 = $tree->lca($n1, $n2); # last-common-ancestor
unless ($tree->monophyletic($n1, $n2, $n3) {
  # should never happen
  die "Huh?";
}

# more useful example:
my @nodes = map { $tree->find_node($_); } qw(eco hae stm ype vch pae);
unless ($tree->monophyletic(@nodes)) {
    warn "bacterial sequences not monophyletic - lateral gene transfer!?!";
}

These aren't calculations so much as topological investigations ...

-Aaron

On Mon, 15 Jul 2002, Ewan Birney wrote:

>
> In this sort of case, I reckon 3 is both the simplest and the sanest - if
> you wanted to attach truely something funky (an ancestral sequence object,
> pubmed abstracts, kitchen sink, whatever) I would have suggested the
> factory solution but reasonably-common statistics or (even) a pretty
> generic tag-value system is "ok" in my book.
>
>
> This is in the keep-it-simple-until-it-starts-to-look-ugly design mode
>
> (KISUISTLU principle... now that is catchy! you heard it here first
> folks...)
>
>
>

-- 
 Aaron J Mackey
 Pearson Laboratory
 University of Virginia
 (434) 924-2821
 amackey@virginia.edu