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

Chris Fields cjfields at illinois.edu
Thu Jul 16 03:29:13 UTC 2009

I don't; code away.

With the edge/branch objects, I'm wondering whether those can be  
created lazily (only when needed); it might lighten up the tree a  
bit.  Also, don't forget to look at Rutger's Bio::Phylo project,  
though I think his modules use inside-out objects (might not be easy  
to work into core unless they are wrapped).


On Jul 15, 2009, at 4:54 PM, Mark A. Jensen wrote:

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