[Bioperl-l] Bootstrap, root, reroot...
Mark A. Jensen
maj at fortinbras.us
Wed Jul 15 23:43:03 EDT 2009
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
> 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
>>> 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?
>>>> Bioperl-l mailing list
>>>> Bioperl-l at lists.open-bio.org
>>> Aidan Budd tel:+49 (0)6221 387 8530
>>> EMBL - European Molecular Biology Laboratory fax:+49 (0)6221 387 8517
>>> Meyerhofstr. 1, 69117 Heidelberg, Germany
>>> Bioperl-l mailing list
>>> Bioperl-l at lists.open-bio.org
>> Bioperl-l mailing list
>> Bioperl-l at lists.open-bio.org
More information about the Bioperl-l