Phylogenies - Page d'accueil / Lirmm.fr /

Download Report

Transcript Phylogenies - Page d'accueil / Lirmm.fr /

Simulating trees…
… a tricky task !?
Tanja Gernhard, Klaas Hartmann
Why simulations?
• How do typical trees look like under a
specific model of speciation?
• expected Colless value?
• expected gamma value, LTT plot?
• p-values for statistical testing?
Even simple models hard to analyze
analytically!
Aspects of simulations
• Tree distribution ill-defined (expected
age of the tree is infinite)
• Condition on age of tree (simulations
straightforward)
• Condition on number of species in the
tree (assuming a uniform prior for the
age of the tree)
Standard method
Simulate until n species are obtained.
Stop at following speciation or extinction event.
Example for n=5 species:
• Later periods with n
species disregarded!
• Pendant edges are too
long!
• Each simulation makes
same contribution!
General evolutionary model
1. Simulate a tree, t, until n* species or extinction is
reached
2. Find the P
expected number of trees to sample from t:
k
©=
Ái
i= 1
3. For each sample required:
- RandomlyÁchoose an interval, i, according to the
i
weights
- Choose the pendant
Ái edge length uniformly at
random from (0, )
4. Repeat from step 1 until the required number of
samples has been obtained
Special models
• Yule model: Pure birth process.
Individuals evolve independently.
Speciation occurs at a constant rate.
• Constant rate birth-death model: Add
constant death rate to the Yule model.
• Coalescent: Time between successive
coalescent events is exponentially
distributed
Memoryless pure birth models
Time between sn and sn+1 does not depend
on the current tree (e.g. Yule model,
Coalescent).
Correct simples approach:
:
Simulate until
¸:
Determine
n
Determining
Z
h(¸ )
1
/
h(¸ j¾n )g(¾n )¾n d¾n
¸
Z
=
¸
1
¸
g(¾n )d¾n
.
Yule model / Coalescent
Z
h(¸ )
/
Z¸
=
1
1
g(¾n )d¾n
f (n)e¡
f ( n ) ¾n
d¾n = e¡
f (n )¸
¸
Simulating until the (n+1)-th speciation event yields
the desired results!
Birth-death model
tor
reconstructed tree
point process
s3
s1
s2
1
f (si jt or = t; n) = (¸ ¡ ¹
)2
2
3
s4
4
e¡ ( ¸ ¡ ¹ ) s i
¸ ¡ ¹ e¡ ( ¸ ¡ ¹ ) t
(¸ ¡ ¹ e¡ ( ¸ ¡ ¹ ) s i ) 2 1 ¡ e¡ ( ¸ ¡ ¹ ) t
qor (tjn) = n¸ n (¸ ¡ ¹ ) 2
(1 ¡ e¡ ( ¸ ¡ ¹ ) t ) n ¡ 1 e¡ ( ¸ ¡
(¸ ¡ ¹ e¡ ( ¸ ¡ ¹ ) t ) n + 1
¹ )t
5
Available Program
Tool TreeSample implemented in Pearl by
Klaas Hartmann. Available as a standalone application or as a Pearl script.
Demonstration:
Dankeschön
Dennis Wong
Mike Steel
Klaas Hartmann
Erick Matsen