[Bioperl-l] Performance of Bio::Species

Sendu Bala bix at sendu.me.uk
Sat Nov 25 22:08:59 UTC 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?

http://www.bioperl.org/wiki/Change_log#Bio::Tree::Tree

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 
there.

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