[Bioperl-l] Performance of Bio::Species

Sendu Bala bix at sendu.me.uk
Sat Nov 25 17:08:59 EST 2006

Jason Stajich wrote:
> The circular ref is from Bio::Species when you have
>   $self->{tree} = Bio::Tree::Tree->new(-root => $self);
> I added a weaken call in Bio::Species code explicitly -- we can't 
> generally weaken the ref to the root node in Bio::Tree::Tree as that 
> breaks some other things as you saw.

Thanks. Though there's still the issue with 
Bio::Tree::Node::node_cleanup not doing anything.

> I'm not sure I am digging what you've done with Bio::Tree::Tree. Why 
> didn't you make a specialized Tree object for Taxonomy stuff so that you 
> can add methods like lineage_node, etc?


get_lineage_nodes() was added to Bio::Tree::TreeFunctionsI because it's 
a Tree function. It goes hand in hand with get_lca(), which was already 

I suppose you're saying it would have been more appropriate to have a 
new Tree-based object that only differed in its new() instead of adding 
an option to Tree's new()?

My thinking was that both the -node option and get_lineage_nodes() are 
useful for trees in general, not just Bio::Taxon.

More information about the Bioperl-l mailing list