[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