[Bioperl-l] Performance of Bio::Species

Chris Fields cjfields at uiuc.edu
Mon Nov 27 04:14:32 UTC 2006


On Nov 25, 2006, at 4:08 PM, Sendu Bala wrote:

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

Jason's fixes seem to fix the problem (I tested on Mac OS X).   
However, does Scalar::Utils come as core with perl 5.6.1?

Christopher Fields
Postdoctoral Researcher
Lab of Dr. Robert Switzer
Dept of Biochemistry
University of Illinois Urbana-Champaign






More information about the Bioperl-l mailing list