tbigot/tpms — Issue #7: rooting according to unicity scores : avoiding an arbitrary choice
Author: flassalle
Created: 2012-01-18 12:57:08+00:00
State: open

Hello Tom,

I told you there were issues when considering the results of tpms_computations using the "RU" (root considering unicity scores) command.

a summary of what tpms_computations does when chosing RU:
this program intend to root the tree so as to minimize the sum of unicity scores observed at each node (unicity score is the log of the product of the number of times each species is observed in the subtree beneath the node, and so it is 1 when every species has maximum 1 copy and it increases with the number of copy per species; see a previous issue).
This correspond to minimizing the number of inferred duplications if one wanted to reconcile the gene tree by (Dollo's) parsimony, and favors ancestral duplications rather than recent ones.

but some solutions are equivalent: several roots can yield the same sum of scores, because wherever are placed the duplicated leaves in the tree, the produce the same incongruence and so the same unicity score.

example: this tree was rooted according to unicity scores and then annotated with unicity scores:

((((([0]ATU7C_1_PE1302:1e-10,([0]ATU7B_1_PE659:1e-10,[0]ATU9A_1_PE592:1e-10)[0]0.0:1e-10)[0]0.757:0.0114439,[0]ATU5A_1_PE558:0.0234247)[0]0.679:0.0116375,([0]ATU2A_1_PE559:0.0114669,(([0]ATU1C_1_PE599:0.0113671,[0]ATU1A_1_PE2584:1e-10)[0]0.0:5.079e-07,[0]ATU1B_1_PE2604:1e-10)[0]0.772:0.0116533)[0]0.0:1.10769e-05)[0]:0.0921731,(([0]ATU5A_1_PE601:0.0736353,[0]ATU3A_1_PE535:1.0597e-06)[0]:0.0106629,[0]ATU4C_1_PE681:0.0459705)[0]:2.21558)[0.693147]:0.0894317,(((([0]ATU4B_1_PE229:1e-10,([0]ATU4A_1_PE659:1e-10,([0]ATU7C_1_PE1304:1e-10,([0]ATU7A_1_PE2695:1e-10,[0]ATU13_1_PE597:0.0115744)[0]0.0:5.793e-07)[0]0.0:6.248e-07)[0]0.0:4.687e-07)[0]0.0:4.687e-07,[0]ATU4C_1_PE746:1e-10)[0]0.0:6.709e-07,[0]ATU3A_1_PE644:0.0232356)[0]:0.036286,([0]ATU8A_1_PE550:1e-10,([0]ATU6A_1_PE2760:1e-10,[0]AGRT5_1_PE2271:1e-10)[0]0.0:1e-10)[0]:1.4957e-06)[0]:0.0894317)[2.77259];

in fact the "good" rooting should be :

(((ATU5A_1_PE601:0.0736353,ATU3A_1_PE535:1.0597E-6):0.0106629,ATU4C_1_PE681:0.0459705):1.10779,((((ATU7C_1_PE1302:1.0E-10,(ATU7B_1_PE659:1.0E-10,ATU9A_1_PE592:1.0E-10)0.0:1.0E-10)0.757:0.0114439,ATU5A_1_PE558:0.0234247)0.679:0.0116375,(ATU2A_1_PE559:0.0114669,((ATU1C_1_PE599:0.0113671,ATU1A_1_PE2584:1.0E-10)0.0:5.079E-7,ATU1B_1_PE2604:1.0E-10)0.772:0.0116533)0.0:1.10769E-5):0.0921731,((((ATU4B_1_PE229:1.0E-10,(ATU4A_1_PE659:1.0E-10,(ATU7C_1_PE1304:1.0E-10,(ATU7A_1_PE2695:1.0E-10,ATU13_1_PE597:0.0115744)0.0:5.793E-7)0.0:6.248E-7)0.0:4.687E-7)0.0:4.687E-7,ATU4C_1_PE746:1.0E-10)0.0:6.709E-7,ATU3A_1_PE644:0.0232356):0.036286,(ATU8A_1_PE550:1.0E-10,(ATU6A_1_PE2760:1.0E-10,AGRT5_1_PE2271:1.0E-10)0.0:1.0E-10):1.4957E-6):0.1788634):1.10779);

the argument to say it is a good rooting are the following:
- of the two sub-root clades, the bigest clade is more homogeneous to what is expected taxonomically (all the species of one clade in the species tree are represented), as opposed to the first rooting where each sub-root clade display a limited sample of each species ; this should be hard to implement, and moreover it should not be right as it is something we want, and not especially something we can justify...
- the root takes place in the longest branch, what makes longer branches leading to groups of paralogues, which are themselves rather compact (as opposed to the first rooting where a huge branch come out of one group of paralogues).
this criterion is objective, as it rely on a biological model: after duplication, sequences diverge a lot (due to release of selection), and finally (i think) it is easy to implement, as you just need to choose the longest branch to root, among the exd-aequo yielding the minimum sum of unicity scores.

is it possible? it should be nice!

thank you for support and patience in recieving my development queries ;)

Florent