[Bioperl-l] branch length score - total length of the spanning subtree

Sendu Bala bix at sendu.me.uk
Tue Mar 4 16:37:47 UTC 2008


Hilmar Lapp wrote:
> 
> On Mar 4, 2008, at 9:37 AM, Sendu Bala wrote:
> 
>> Daniel Gerlach wrote:
>>> Hello,
>>> I would like to use bioperl to calculate a branch length score for a 
>>> given set of nodes and a tree. I know how to get the total branch 
>>> length by using $tree->total_branch_length, but how could I get the 
>>> length of the subtree spanning some given nodes which are dispersed 
>>> over the whole tree (a subset of nodes from the tree which are not 
>>> monophyletic)?
>>
>> One 'cheat' way of doing it might be to use splice(-keep_ids => 
>> \@node_ids) or similar, then run total_branch_length() on that. No 
>> idea if it will actually give you the right answer though. Let us 
>> know! :)
> 
> Related to that, will contract_linear_paths() actually do the right 
> thing and adjust branch lengths if it removes internal nodes with 
> outdegree 1?

I think ultimately it boils down to remove_Descendent() being called as 
appropriate which does the branch length alteration. From a glance I 
can't answer your question with certainly, but it 'should' do the right 
thing. It needs to be tested; when I implemented these things I was only 
concerned with tree topology, not branch lengths or anything else.




More information about the Bioperl-l mailing list