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

Chris Fields cjfields at illinois.edu
Thu Jul 16 00:55:29 EDT 2009


Well, what I was thinking that Nodes sharing an edge could share the  
same hash ref containing the edge information, with said hash ref  
magically becoming an object when absolutely needed (keys being named  
parameters, values being args for constructor).  Just a thought.

chris

On Jul 15, 2009, at 10:43 PM, Mark A. Jensen wrote:

> To examine rvos' Bio::Phylo was my plan exactly-- Lazy edges can be  
> done I believe, although it seems
> that one of the main reasons to have edges is to
> attach lengths, bootstrap values, etc to them; so we may
> ultimately avoid edge creation only when we construct tree
> topology only--prob rare in practice?
>
> ----- Original Message ----- From: "Chris Fields" <cjfields at illinois.edu 
> >
> To: "Mark A. Jensen" <maj at fortinbras.us>
> Cc: "Aidan Budd" <budd at embl-heidelberg.de>; "BioPerl List" <bioperl-l at lists.open-bio.org 
> >; <tristan.lefebure at gmail.com>
> Sent: Wednesday, July 15, 2009 11:29 PM
> Subject: Re: [Bioperl-l] Bootstrap, root, reroot...
>
>
>> 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).
>>
>> chris
>>
>> 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