[Bioperl-l] Bio::Species, Bio::Taxonomy::Node overhaul

Sendu Bala bix at sendu.me.uk
Mon Aug 7 03:26:09 EDT 2006

Hilmar Lapp wrote:
> 1) It sounds a bit that you changed the behavior of get_lca() such  
> that users may have to adjust their code? If this is true, then this  
> needs to be made clear in the 1.6 release as that part will not be  
> backward compatible. If this is not true, then why did you have to  
> change the implementation of Bio::Tools::Phylo::PAML to make tests  
> pass? I.e., to what extent can what broke Bio::Tools::Phylo::PAML  
> also break someone's script?

I can say that it /should/ have given the same results, but clearly it 
didn't. What I had to change in PAML was the way in which PAML found the 
lca of multiple nodes; it had its own algorithm for that, that used 
get_lca 2 nodes at a time. Now it just calls get_lca once, supplying all 
the nodes in one go.

I don't think I spent any time trying to figure out the problem, I just 
made the change:

< while( @nodes_L > 1 ) {
<     my $lca = $tree->get_lca
< 	(-nodes => [shift @nodes_L,
< 		    shift @nodes_L]);
<     push @nodes_L, $lca;
< }
< my $n = shift @nodes_L;
 > my $n = @nodes_L < 2 ? shift(@nodes_L) : $tree->get_lca(@nodes_L);

I'll look into it and see if I can avoid any behaviour change.

> 2) I can't find object_id() on Tree::Node or Taxonomy::Taxon. Where  
> is/was it? The reason I am asking is that this method is part of the  
> Bio::IdentifiableI API and therefore if you want to deprecate it you  
> are suggesting to deprecate implementing Bio::IdentifiableI, and the  
> rest of those methods need to be deprecated along.

Ah, I didn't notice that. Well there's no need to deprecate it then; it 
can remain a permanent synonym of id(). (Though, when the DB modules 
create Bio::Taxon objects, they don't actually use any of the other 
IdentifiableI methods.)

> 3) Your whole email should probably go on the wiki, linked somewhere  
> under documentation or release notes. Or somebody has a better idea?

I'm not really sure how to go about that in any case. Is there a wiki 
page that gives advice on making new wiki pages? (Both technically and 
in terms of what should be on the page, its style, what links to it, 
where it should live etc.)

More information about the Bioperl-l mailing list