[Biopython-dev] Calculating bootstrap values from a set of trees

Cymon Cox cy at cymon.org
Mon Sep 12 15:13:42 UTC 2011


Peter,

I don't know of any stand alone software to automate the annotate of nodes
of a target tree with labels - I'm assuming you want to add labels (in this
case ML bootstrap support values) to a Newick tree description (eg an ML
optimal tree). Most wouldn't do this, but manually label the tree in a
graphics software when preparing the figure for publication.

If you want support values for all nodes in your master/target tree, you
could loop over all the clades in your tree and use dendropy
<http://packages.python.org/DendroPy/tutorial/treestats.html#frequency-of-a-split-in-a-collection-of-trees>to
help calculate the bootstrap values for you bootstrap trees.

Cheers, Cymon




On 12 September 2011 14:40, Peter Cock <p.j.a.cock at googlemail.com> wrote:

> On Mon, Sep 12, 2011 at 2:14 PM, Eric Talevich <eric.talevich at gmail.com>
> wrote:
> > Hi Peter,
> >
> > On Mon, Sep 12, 2011 at 5:07 AM, Peter Cock <p.j.a.cock at googlemail.com>
> > wrote:
> >>
> >> Hi Eric,
> >>
> >> I'm wondering if there is any code in Bio.Phylo for calculating
> >> bootstrap values from a set of trees?
> >>
> >> e.g. I have a master tree created from an alignment, and 1000
> >> bootstrap trees (created from 1000 re-sampled alignments). I want to
> >> annotate each branch with the number/percentage of times is it found
> >> in the 1000 bootsrap trees.
> >
> > I haven't implemented this in Bio.Phylo yet, unfortunately. The closest
> > thing is Bio.Nexus.Trees.consensus. It would be worthwhile to port this
> to
> > Bio.Phylo eventually.
> >
> >
> >> I once implemented this in python using binary strings to represent
> >> each branch as a split or partition of the nodes into two groups. I'm
> >> not sure where I put this script... but it pre-dated Bio.Phylo anyway.
> >>
> >> Alternatively, which standalone tool would you recommend for this?
> >>
> >
> > I think Phylip's seqboot and consense will do the trick.
>
> http://evolution.genetics.washington.edu/phylip/doc/consense.html
>
> My understanding was Phylip's consense takes a set of trees
> and finds a consensus - there is no obvious way to tell it you
> want to use a particular pre-determined tree.
>
> >
> > Normally I let RAxML do this sort of thing for me.
> >
>
> I'm unclear if RAxML will accept some 3rd party master tree
> (via -t) and a set of bootstrapped trees (via -z) without also
> wanting the original alignment and a choice of model...
>
> My reason for wanting to decouple bootstrapping the trees
> and applying the bootstraps to the master tree is for splitting
> large jobs across a cluster. Each cluster node can generate
> bootstrap trees independently of the other cluster nodes
> (no network IO or synchronisation needed). These trees are
> then collated (concatenated into a big multiple entry tree
> file), with the final step combining the bootstrapped trees
> onto the master tree to assess support being comparatively
> quick.
>
> Peter
> _______________________________________________
> Biopython-dev mailing list
> Biopython-dev at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/biopython-dev
>



-- 
____________________________________________________________________

Cymon J. Cox



More information about the Biopython-dev mailing list