[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).
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