Problem mapping bootstrap supports of a certain range into a strict consensus tree

42 views
Skip to first unread message

Mauricio

unread,
Feb 1, 2012, 12:10:49 PM2/1/12
to DendroPy Users
Hi all,

After two days trying different ways, I surrendered and decided to
post my question in this group. My task is very simple: I want to
transfer my ML boostrap support values to a strict consensus tree, but
ONLY those higher or equal to %70. In summary, I have two routines
explained below:

#Two-step routine:
#1. RUN Strict consensus of ML individual trees without saving
metadata
sumtrees.py --output=strictconsMLtrees.tre --min-clade-freq=1.0 --no-
summary-metadata garli_run.run00.best.tre garli_run.run01.best.tre

#2 Transfer support values from the raw trees obtain from
bootstrapping (not from the consensus carrying the bootstrap values)
sumtrees.py -o strictconsMLtreesSUM.tre -t strictconsMLtrees.tre --
rooted -p -l -d0 -f 0.70 allBootTrees.tre

Comment: This routine works fine, but the final tree will show ALL the
boostrap values in %, ranging from 1 to 100. And I want only those
=>70%!


#Three-step routine:
#1. RUN Strict consensus of ML individual trees without saving
metadata
sumtrees.py --output=strictconsMLtrees.tre --min-clade-freq=1.0 --no-
summary-metadata garli_run.run00.best.tre garli_run.run01.best.tre

#2 Summarize bootstrap values in a consensus tree from all raw
boostrapped trees
sumtrees.py --output=allBootTreesSUM70.tre --min-clade-freq=0.7 --
percentages --decimals=0 allBootTrees.tre

#3 Transfer support values from the summarized consensus tree
containing bootstrap support values to the strict consensus tree
sumtrees.py -o strictconsMLtreesSUM.tre -t strictconsMLtrees.tre --
rooted -p -l allBootTreesSUM70.tre

Comment: In here, step 2 gives me a tree showing only nodes with 70%
or more bootstrap support, great! But when I run step 3, my support
values disappear and I get only values of 0 and 100.

Please help! Thanks,

Mauricio

Jeet Sukumaran

unread,
Mar 7, 2012, 1:49:46 PM3/7/12
to DendroPy Users
Step #3 in the three-step routine specifies that support values on the
target tree are given by the proportion of clades across all the input
trees. That is why you get either 0 (clade not found in the single
input tree) or 100 (clade found in the single input tree).

For what you want to do, I suggest you do the two-step routine, then
write a custom script to read the final output tree from this and
remove labels indicating support < 70%.

-- jeet
Reply all
Reply to author
Forward
0 new messages