A Fast Algorithm for Building Large Trees

advertisement
Fast Algorithms for
Minimum Evolution
Richard Desper, NCBI
Olivier Gascuel, LIRMM
Overview
I.
II.
III.
IV.
V.
Statement of phylogeny reconstruction problem and
various approaches to solving it.
Tree length formula as a function of average
distances.
Greedy algorithms for tree building and tree
swapping.
Simulation results.
A few extras regarding consistency and branch
lengths.
Phylogeny Reconstruction
 General problem: reconstruct the evolutionary
history for a set L of extant species.
 Input: multiple sequence alignment for L or
matrix of estimates of pairwise evolutionary
distances.
 Output: weighted phylogeny representing history
of L and common ancestors.
Methods
 Likelihood methods: model-based likelihood
maximization.
 Parsimony methods: minimize total number of
mutations in tree.
 Distance methods: fit tree structure to inferred
evolutionary distances. Leading methods
include Felsenstein-Fitch-Margoliash weighted
least-squares and Neighbor-Joining and its
variants.
Felsenstein-Fitch-Margoliash
Least-squares Method
 FITCH searches the space of topologies by
iteratively adding leaves and by tree swapping.
 Edge weights and topology are chosen to
minimize the sum of squares (D is the input
metric, DT is the induced tree metric):
T 2
Dij Dij

i, j


2
 ij
If ij = 1 for all i and j, this is called the ordinary least-squares method.
Minimum Evolution
 Developed by Rzhetsky and Nei (1992) as a
modification of the OLS method
 For each topology T,
Define function l assigning OLS lengths to edges of T
Define size of tree
l (T ) 

eE ( T )
Choose T minimizing l(T )
l (e)
Recursive Definition of DA|B
If A = {a}, B = {b}, DA|B = Dab,
For B  B1  B2 ,
D A|B
A
B1
B2

D A|B1 
D A|B2
B1  B2
B1  B2
B1
B2
All average distances for all pairs of non-intersecting subtrees of a
given topology can be calculated in O(n2) time.
External OLS Edge Length Function
If e is the edge connecting the leaf i to the
subtrees A and B,
A
e
i
B
1
l (e)   D Ai|  D B|i  D A|B 
2
Internal OLS Edge Length Function
The length of the edge e is (Vach, 1988)
A
e
C
D
B
1
l (e)   (D A|C  D B|D )  (1   )(D A|D  D B|C )  (D A|B  D B|C ) 
2
where

| A || D |  | B || C |
.
(| A | | B |)(| C |  | D |)
Tree length formula
Lemma: with T as to the right,
A
let rX denote the root of subtree X,
and eX the edge to X for X { A, B, C , D}.
C
Then,
B
e
D A|B  D A|rA  l (eA )  l (eB )  D B|rB
D
Tree Length Formula
With T as in prior slide,
l (T )  l (e) 
  l ( X )  l (e ) 
X  A, B ,C , D
X
Using lemma and branch length formula for l(e),
  D AC|  D B|D 


1
l (T )   l ( X )  D X |rX    (1   )  D A|D  D B|C  
2

X  A, B ,C , D
   D A|B  D C|D 



General approach
 To search the space of topologies, we’ll keep in
memory two data structures:
Sizes of each subtree of given topology
Matrix of average distances DX|Y for X,Y disjoint
subtrees in given topology
 As we move from one topology to another, we’ll
update the matrix, but only as much as needed,
in an efficient manner.
Tree Swapping by NNI
A
B
A
e
C
C
e
D
B
D
NNI swapping is a basic step in topology building and searching
Tree Length Formula
With T as in prior slide,
l (T )  l (e) 
  l ( X )  l (e ) 
X  A, B ,C , D
X
Using lemma and branch length formula for l(e),
  D AC|  D B|D 


1
l (T )   l ( X )  D X |rX    (1   )  D A|D  D B|C  
2

X  A, B ,C , D
   D A|B  D C|D 



Tree Length after NNI
Given T g T ’ the tree swap in prior slide, l the
edge length function:
(1)
(  1)(D AC| D B|D ) 

1
'
'
l (T )  l (T )   (  1)(D A|B  D C|D ) 
2

'
 (   )(D A|D  D B|C ) 
where  and ’ are constants depending on
the topologies.
OLS: FASTNNI
Pre-compute average distances between nonintersecting sub-trees. (O(n2) computations)
2. Loop over all internal edges, select the best swap
using Equation (1). (O(n))
3. If no swap improves length of the tree, stop and
return the tree, else perform the best swap and
update the matrix of average distances and repeat
Step 2. (O(n) per swap; there is only one new split.)
Thus, if we require p swaps, the total complexity of
FASTNNI is O(n2 + pn).
1.
Balanced Minimum Evolution
 Gascuel (2000) observed that the OLS/ME
method was weaker than NJ in approximating
the correct topology.
 Pauplin (2000) to simplify tree length
computation proposed to use a “balanced”
version of Minimum Evolution, weighting each
sub-tree equally when calculating averages: if A
and B are sub-trees of T, with B  B1  B2 ,
1 T
1 T
T
D A|B  D A|B1  D A|B2
2
2
BNNI
1.
2.
Calculate balanced averages of all pairs of sub-trees.
(O(n2))
Calculate improvement for each swap using
(2)
l (T )  l (T ') 
1
D TA| B  D CT |D  D TA|C  D TB|D 

2
If no tree swap improves length of the tree, stop and
return tree, else update matrix of average distances
and repeat Step 2. (O(n diam(T)) per swap)
The average complexity, when performing p swaps, is
O(n2 + pn diam(T)).
3.
Updating Subtree Averages
T
x
Here, X  A...
X
A
y
...and B  C  D  Y
C
e
If we perform the B-C
tree swap, then we
T
must recalculate D X |Y
B
Y
D
Q: How many recalculations?
Typical values for diam(T):
(Hint: you can count (x,y) pairs).
Yule-Harding distribution: O (log n)
A: O(n diam(T))
Uniform distribution: O
 n
Building trees from scratch
We have NNI algorithms for OLS and
balanced branch lengths. But what if we
have no initial topology for NNIs?
OLS: Greedy Minimum Evolution
1.
2.
Start with three-taxon tree T3
For k=4 to n,
a) Calculate Dk|A for each subtree A in Tk-1
b) Express cost of inserting k along edge e as f(e).
(Use Equation (3) on the next slide.)
c) Choose e minimizing f. Insert k along e to form Tk.
d) Update matrix of average distances between every pair
of 2-distant subtrees.
GME runs in O(n2) running time
Greedy Minimum Evolution
We use a variant of Equation (1), where D = {k}. Let L = l(T).
C
C
k
T’
T
A
B
Then
(3)
k
A
B
    '  (D k | A  D B|C ) 


1
l (T ' )  L   ( '  1)(D A|B  D k |C ) 
2

 (1   )(D A|C D k |B ) 
Balanced Minimum Evolution
Same as GME,except:
2. (modifications)
a)
b)
d)
Calculate balanced average distances instead of
ordinary average distances
Use  = ½ to find weights for insertion points
Must keep average distances for all pairs of subtrees.
BME runs in O(n2 diam(T)) running time.
Simulations
 Created 24- and 96-taxon trees, 2000 per each
size, Yule-Harding process (g molecular clock).
 Edge lengths multiplied by (1.0 + mX), where X
is exponentially distributed.
 Generated trees with three rates of evolution
 SeqGen used to generate sequences for each
tree and rate (12,000 in all)
 DNADIST used to calculate distance matrices
Results: topological distances
24-Taxa Trees - Slow Rate of Evolution
0.120
0.115
with FastNNI
without NNIs
0.110
with BNNI
0.105
P
T/
F
E
HG
G
M
E
BM
NJ
TC
NJ H
/W
W
LS
EI
G
HB
O
R
BI
O
N
J
FI
TR
U
E
0.100
BNNI
improved
all input trees
Results: topological distances
96-Taxa Trees - Fast Rate of Evolution
0.120
0.110
with FastNNI
without NNIs
0.100
with BNNI
0.090
0.080
P
T/
F
E
HG
G
M
E
BM
NJ
G
HB
O
R
BI
O
N
J
W
EI
FI
T
NJ
/
TR
U
E
CH
0.070
This improvement
is large with fast rates
and high numbers of taxa
Results: topological distances
24-Taxa Trees - Slow Rate of Evolution
0.120
0.115
with FastNNI
without NNIs
0.110
with BNNI
0.105
P
T/
F
E
HG
G
M
E
BM
NJ
TC
NJ H
/W
W
LS
EI
G
HB
O
R
BI
O
N
J
FI
TR
U
E
0.100
NNI trees are close to the
best possible for BME
Results: topological distances
24-Taxa Trees - Slow Rate of Evolution
0.120
0.115
with FastNNI
without NNIs
0.110
with BNNI
0.105
P
T/
F
E
HG
G
M
E
BM
NJ
TC
NJ H
/W
W
LS
EI
G
HB
O
R
BI
O
N
J
FI
TR
U
E
0.100
The quality of the
NNI tree is (mostly)
independent
of starting point
Results: topological distances
96-Taxa Trees - Slow Rate of Evolution
0.2
0.195
0.19
with FastNNI
0.185
without NNIs
with BNNI
0.18
0.175
0.17
U
R
T
E
/
NJ
FI
H
TC
E
W
J
R
N
O
O
BI
HB
IG
NJ
BM
E
M
G
E
HG
F
T/
P
FASTNNI trees comparable to
NJ as n grows to 96
Computational Times
in (MM:SS)
24 Taxa
96 Taxa
1000 Taxa
4000 Taxa
GME + BNNI
0.0263
0.0842
11.3390
06:02.1
HGT/FP
0.0252
0.1349
13.8080
03:33.1
NJ/BIONJ
0.0630
0.1628
21.2500
20:55.9
WEIGHBOR
0.4244
26.8818
FITCH
4.3745
Computations done on Sun Enterprise E4500/E5500 running Solaris 8
on 10 400-Mhz processors with 7 Gb memory.
Average number of NNIs
24 Taxa
96 Taxa
1000 Taxa
4000 Taxa
GME + FASTNNI
1.244
8.446
44.9
336.50
GME + BNNI
1.446
11.177
59.1
343.75
BME + BNNI
1.070
6.933
29.1
116.25
We see that the average number of NNIs is
considerably lower than the number of taxa.
BME = WLS
Why does the balanced approach work so well?
 Pauplin’s formula for the length of a tree is
l (T )   2
1 pT ( i , j )
i j
Dij ,
Where pT(i,j) is the length of the (i,j) path in T.
 BME is a weighted least squares approach with
 ij  cpT (i, j ). Distantly related taxa see their importance
decrease exponentially.
Bonus features
 BME is a consistent method.
As observed
distances converge to true distances, the true
topology becomes the minimum evolution tree.
 The BNNI tree has no negative branch lengths.
A negative value to the branch length function
implies a NNI leading to a smaller tree.
Consistency of Balanced ME
is a weighted tree, and T
is a tree topology incompatible with S. Let T be
the tree of topology T with weights determined
by the balanced scheme. Then
l(T) > l(S).
 Lemma: it suffices to prove the case when S is a
split metric.
 Theorem: Suppose S
Balanced ME consistency
 Basic idea: let l
be the tree length function on
the space of topologies. We find a sequence of
topologies, T=T0, T1, ... Tk=S such that
Each Ti+1 can be reached from Ti via one of two
simple topological transformations
l(Ti) > l(Ti+1) for all i.
Proof structure modeled after OLS/ME proof (Rzhetsky
and Nei, 1993).
Type I transformation
Color the leaves black or white according to the split metric S. A
Type I transformation uses a NNI to form a larger monochromatic
cluster
D
D
A
C
B
A
B
C
This transformation reduces the size of the tree under l
Type II transformation
A Type II transformation uses two NNIs to form two monochromatic
subtrees
A1
A1
B1
A2
C
C
A2
B2
B1
B2
This transformation also reduces the value of the size of the tree
under l
Positive Branch Lengths after BNNI
B Recall that the length of an edge is described by
A
e
C
1 1

l (e)   (D AC|  D B|D  D A|D  D B|C )  (D A|B  D C|D ) 
2 2

D
We do not perform the
l (T )  l (T ') 
i.e.
B C
switch because
1
D TA| B  D CT | D  D TA|C  D TB|D   0,

2
D A|C D B|D  D A|B D C|D .
Similarly, D A|D D B|C  D A|B D C|D . Thus l (e)  0
Conclusions
BME + BNNI runs in O((n2 + pn) diam(T)), outputs
trees comparable to (better than) FITCH, Weighbor,
BioNJ, or NJ.
 FastME is faster than NJ or its variants.
 BNNI consistently improved output trees in all settings,
even when WLS/Fitch trees were input.
 BNNI outputs tree without negative branch lengths.
 FASTME software available at

http://www.ncbi.nlm.nih.gov/CBBResearch/Desper/FastME.html
or http://www.lirmm.fr/~w3ifa/MAAS/.
Download