[Bioperl-l] Bootstrap, root, reroot...

Mark A. Jensen maj at fortinbras.us
Wed Jul 15 21:54:25 UTC 2009

After fooling around with bug 2877, 
I'm thinking seriously about starting the edge-branch
project in bioperl-dev, building out an implementation 
off the interfaces B:T:TreeI and B:T:NodeI. It would
give the opp'y for some code rationalization too. 

Anyone out there have a problem with that?
cheers MAJ
----- Original Message ----- 
From: "Aidan Budd" <budd at embl-heidelberg.de>
To: "BioPerl List" <bioperl-l at lists.open-bio.org>
Sent: Saturday, July 11, 2009 3:52 AM
Subject: Re: [Bioperl-l] Bootstrap, root, reroot...

> On Thu, 9 Jul 2009, Tristan Lefebure wrote:
>> ...
>> My understanding here is that the problem is linked to the 
>> well-known difficulty to differentiate node from branch 
>> labels in newick trees. Bootstrap scores are branch 
>> attributes not node attributes, but since Bio::TreeI has no 
>> branch/edge/bipartition object they are attached to a node, 
>> and in fact reflects the bootstrap score of the ancestral 
>> branch leading to that node. Troubles naturally come when 
>> you are dealing with an unrooted tree or reroot a tree: a 
>> child can become an ancestor, and, if the bootstrap scores 
>> is not moved from the old child to the new child, it will 
>> end up attached at the wrong place (i.e. wrong node). 
>> I see several fix to that:
>> 1- incorporate Bank's fix into the root() method. I.e. if 
>> there is bootstrap score, after re-rooting, the one on the 
>> old to new ancestor path, should be moved to the right node. 
>> 2- Modify the way trees are stored in bioperl to incorporate 
>> branch/edge/bipartition object, and move the bootstrap 
>> scores to them. That won't be easy and will break many 
>> things... 
> Just wanted to add that, from my point of view, it would be great if it
> were possible to add edge/branch objects as part of the bioperl trees.  
> Perhaps so that the previous set of methods still behaved as before, but
> with some new methods on the trees such as get_splits() or 
> get_branches() along with associated split/branch/etc. objects...?
> Being a bioperl user but keeping well away from coding objects in perl,
> the lack of such methods/objects meant I chose, in the end, not to use a
> bioperl solution to work with my trees (going instead for a homemade
> clunky python solution, where I'm happier with the OO stuff)
> No idea how difficult/problematic this would be to implement, though - 
> just my 2 cents worth...
>> What do you think?
>> --Tristan
>> _______________________________________________
>> Bioperl-l mailing list
>> Bioperl-l at lists.open-bio.org
>> http://lists.open-bio.org/mailman/listinfo/bioperl-l
> -- 
> ----------------------------------------------------------------------
> Aidan Budd                                    tel:+49 (0)6221 387 8530
> EMBL - European Molecular Biology Laboratory  fax:+49 (0)6221 387 8517
> Meyerhofstr. 1, 69117 Heidelberg, Germany
> http://www.embl-heidelberg.de/~budd/
> http://www-db.embl.de/jss/EmblGroupsHD/per_1807.html
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioperl-l

More information about the Bioperl-l mailing list