# Class 9 Phylogenetic Trees

Document Sample

```					                      Phylogenetic Trees (2)
Lecture 12

Based on: Durbin et al Section 7.3, 7.8, Gusfield: Algorithms on Strings, Trees, and
Sequences Section 17.

.
Recall: The Four Points Condition
Theorem: A set M of L objects is additive iff any subset of
four objects can be labeled i,j,k,l so that:
d(i,k) + d(j,l) = d(i,l) +d(k,j) ≥ d(i,j) + d(k,l)
We call {{i,j},{k,l}} the “split” of {i,j,k,l}.

The four point condition implies an O(n4) algorithm to
decide whether a set is additive.
The most common methods for constructing trees for
additive sets use neighbor joining methods, which we
study next.

2
The neighbor joining problem

Let M be additive set, and let i, j be neighboring leaves in the
implied tree, let k be their parent, and let m be any other vertex.
The formula d ( k , m)  1 [d (i , m)  d ( j , m)  d (i , j )]
2
shows that we can compute the distances of k to all other leaves.
This suggest the following method to construct tree from a
distance matrix:
1. Find neighboring leaves i,j in the tree,
2. Replace i,j by their parent k and recursively construct a tree T
for the smaller set.
3. Add i,j as children of k in T.

3
Neighbor Finding
How can we find from distances alone a pair of nodes which
are neighboring leaves (called “cherries”)?
Closest nodes aren’t necessarily cherries.

A
B

C
D
Next we show one way to find neighbors from distances.
4
Neighbor Finding: Seitou&Nei method (87)

Definitions
For a leaf i, let ri        d (i, u).
u is a leaf
For leaves i, j :
D(i, j )  ( L  2)d (i, j )  ( ri  r j )

Theorem (Saitou&Nei) Assume all edge weights are positive. If
D(i,j) is minimal (among all pairs of leaves), then i and j are
neighboring leaves in the tree.

5
Saitou&Nei proof
Definitions
path(i,j) = the path from leaf i to leaf j;
d(u,path(i,j)) = distance in T from u to path(i,j).

u

d(u,path(i,j))

path(i,j)
i
j
                                         
Claim: D(i, j )  2  d (i, j ) 

   d (u, path(i, j )) 

             u i , j                    
6
Proof of Claim:
ri                                  rj

                                                                     
D (i , j )  ( L  2 ) d ( i , j )   d (i , j ) 
                     d (i , u )    d ( j, i ) 
                        d ( j, u ) 

              u i , j                            u i , j           

-2d(u,path(i,j))

   [d (i, j )  d (i, u)  d ( j, u)]  2d (i, j )
u i , j

                                      
 2d (i, j ) 

 d (u, path(i, j ))

            u i , j                  

7
Seitou&Nei proof (cont.)
Rest of T
u
Thus, minimizing D(i, j ) is equivalent to maximizing
Q(i, j )  d (i, j )      d (u, path(i, j))
u i , j                                              e
For a vertex i, and an edge e:
Ni(e) = |{u : e is on path(i,u)}|
Then:                                                                      i
j

Q(i, j )  d (i, j )    d (u, path(i, j))  w(e)   N (e)w(e)
u i , j                e path(i , j )
i
e path(i , j )

Note: If e’ is a “leaf edge”, then w(e’) is added exactly once to Q(i,j).

8
Seitou&Nei proof (cont.)
Assume for contradiction that Q(i,j) is maximized for i,j which
are not neighboring leaves.

Let (see the figure below):
• path(i,j) = (i,,...,k,j).
• T1 = the subtree rooted at k. WLOG that T1 has at most L/2 leaves.
•T2 = T \ T1.

T2            i’
Let i’,j’ be any two neighboring leaves                                 j’
in T1. We will show that Q(i’,j’) > Q(i,j).                    T1
j
i

k
9
Seitou&Nei proof (cont.)
Proof that Q(i’,j’)>Q(i,j):
i’
T2
Q (i , j )         w(e)   N (e)w(e)
e p ( i , j )         e p ( i , j )
i                                           j’
T1
Q (i ' , j ' )         w(e)   N
e p ( i ', j ')       e p ( i ', j ')
i ' ( e)w( e)   i
j

k

Each leaf edge e adds w(e) both to Q(i,j) and to Q(i’,j’), so we can
ignore the contribution of leaf edges to both Q(i,j) and Q(i’,j’)

10
Seitou&Nei proof (end)

Contribution of internal edges to                                      i’
Q(i,j) and to Q(i’,j’)                              T2                j’
T1
Location of     # w(e) added   # w(e) added                      j
internal edge e     to Q(i,j)      to Q(i’,j’)        i
epath(i,j)           1           Ni’(e)≥2
k
epath(i’,j)     Ni (e) < L/2   Ni’(e) ≥ L/2

eT\path(i,i’)         Ni (e) = Ni’(e)

Since there is at least one internal edge e in path(i,j),
Q(i’,j’) > Q(i,j). QED

11
A simpler neighbor finding method:
Select an arbitrary node r.
1
d ( r , path(i, j ))  [ d (i, r )  d ( j, r )  d (i, j )]
2

r
d(r,path(i,j))

j

Claim (from final exam, Winter 02-3): Let i, j
i
be such that d(r,path(i,j)) is maximized.
Then i and j are neighboring leaves.
12
Neighbor Joining Algorithm
 If L =3, return tree of three vertices
 Set M to contain all leaves, and select a root r.
 Compute for all i,j ≠ r, C(i,j)=(d(r,i)+d(r,j)-d(i,j))/2.
Iteration:                                                                       r
 Choose i,j such that C(i,j) is maximal                    C(i,j)
 Create new vertex k, and set
k
1
d (i, k )  [d (i, j )  d (i, r )  d ( j, r )]
2                                                             i
j
d ( j, k )  d (i, j )  d (i, k ) //d (i, k ) or d ( j, k ) could be 0
1
for each vertex m, d ( k , m)  [d (i, m)  d ( j, m)  d (i, j )]
2
remove   i,j, and add k to M
Recursively construct a tree on the smaller set, then add i,j as
children on k, at distances d(i,k) and d(j,k).
13
Complexity of Neighbor Joining Algorithm
(using the simpler neighbor finding method)

Naive Implementation:
Initialization: θ(L2) to compute d(r,i) and C(i,j) for
all i,jL.
r
Each Iteration:
C(m,k)
 O(L  2) to find the maximal C(i,j).

 O(L) to compute {C(m,k):m L} for the new node k.

Total of O(L3).
m
k

14
Complexity of Neighbor Joining Algorithm
Using Heap to store the C(i,j)’s:
Input: Distance matrix D= d(i,j), and an arbitrary object r.
Initialization: θ(L2) to compute and heapify the C(i,j)’s in a heap H.
Each Iteration:
   O(log L) to find and delete the maximal C(i,j) from H.
   O(L) to add the values {d(k,m)} to D, for all objects m.
   O(L) to delete {d(m,i), d(m,j)} from D (for all m).
   O(L log L) to delete {C(i,m), C(j,m)} and add C(k,m) from H, for all objects m.
Total of O(L2 log L).
(implementation details are omitted)

15
Some remarks on the Neighbor Joining
Algorithm

   Applicable to matrices which are not additive
   Known to work good in practice (with the original neighbor
finding method).
   The algorithm and its variants are the most widely used distance-
based algorithms today.

Next we’ll learn a more efficient algorithm to construct trees from
distances, which is based on ultra metric trees.

16
Ultrametric trees
Definition: An ultrametric tree is a rooted weighted tree all of whose
leaves are at the same depth.
Basic property: Define the height of the leaves to be 0. Then edge
weights can be represented by the heights of internal vertices.

8

3               5
Edge weights:               5
Internal-vertices heights:           2                           3
3               5
3       3                       3       3
0: A             E       D       B           C

17
Least Common Ancestor and distances in
Ultrametric Tree
Let LCA(i,j) denote the least common ancestor of leaves i and j. Let
height(LCA(i, j)) be its distance from the leaves, and dist(i,j) be
the distance from i to j.
Observation: For any pair of leaves i, j in an ultrametric tree:
height(LCA(i,j)) = 0.5 dist(i,j).

A   B    C   D    E
8                       A    0    8   8    5   3
5                              B         0   3    8   8
3               3
C             0    8   8
D                  0   5
A           E D B       C              E                      0    18
Ultrametric Matrices
Definition: A distances matrix* U of dimension LL is ultrametric
iff for each 3 indices i, j, k :
U(i,j) ≤ max {U(i,k),U(j,k)}.     j k
Theorem: The following conditions are i                             9    6
equivalent for an LL distance matrix U:    j                         9
1. U is an ultrametric matrix.

2.  There is an ultrametric tree with L leaves
such that for each pair of leaves i,j:
U(i,j) = height(LCA(i,j)) = ½ dist(i,j).

* Recall: distance matrix is a symmetric matrix with positive non-diagonal entries,
0 diagonal entries, which satisfies the triangle inequality.
19
Ultrametric tree Ultrametric matrix
There is an ultrametric tree s.t. U(i,j)=½dist(i,j).
 U is an ultrametric matrix:
By properties of Least Common Ancestors in trees

U(k,i) = U(j,i) ≥ U(k,j)

i
k         j
20
Ultrametric matrix Ultrametric tree:
Definition: Let U be an LL matrix, and let S  {1,...,L}.
U[S] is the submatrix of U consisting of the rows and
columns with indices from S.
Observation 1: U is ultrametric iff for every S  {1,...,L},
U[S] is ultrametric.
Observation 2: If U is ultrametric and maxi,jU(i,j)=M, , then
M appears in every row of U.                        j       k
i      ?       ?

One of the “?” Must be M

j                 M
21
Ultrametric matrix Ultrametric tree:
Proof by induction

U is an ultrametric matrix U has an ultrametric tree :
By induction on L, the size of U.
i
Basis: L= 1: T is a leaf                           i
i 0               

L= 2: T is a tree with two leaves
i   j
9
i   0   9

j       0
i           j

22
Induction step
Induction step: L>2.
Use the 1st row to split the set {1,…,L} to two subsets:
S1 ={i: U(1,i) =M},
S2={1,..,L}-S
(note: 0<|Si|<L)
1   2    3   4     5
1   0   8    2   8     5

S1={2,4}, S2={1,3,5}

23
Induction step
By Observation 1, U[S1] and U[S2] are ultrametric.
By induction,  tree T1 for S1, rooted labeled M1≤ M,
and a tree T2 for S2 with root labeled M2 < M (M2 is the 2nd largest element
in row 1; if M2=0 then T2 is a leaf).
Join T1 and T2 to T with a root labeled M.

M=M1
M - M2

M2< M
[The construction when M1 = M]
T1
T2

24
Correctness Proof
Need to prove: T is an ultrametric tree for U
ie, U(i,j) is the label of the LCA of i and j in T.
If i and j are in the same subtree, this holds by induction.
Else LCA(i,j) = M (since they are in different subtrees).
Also, [U(1,i)= M and U(1,j) ≠ M]  U(i,j) = M.

i   j
M   l

M=M2
M
1
T2                         i             M
T1
25
Complexity Analysis
Let f(L) be the time complexity for L×L matrix.
f(1) ≤ f(2) = constant. For L>2:
 Constructing S1 and S2: O(L). Let |S1| = k, |S2| = L-k.

 Constructing T1 and T2: f(k)+f(L-k).

 Joining T1 and T2 to T: Constant.

Thus we have:
f(L) ≤ maxk[ f(k) + f(L-k)] +cL, 0 < k < L.
f(L) = cL2 satisfies the above.

Need an appropriate data structure!

The condition U(i,j) ≤ max {U(i,k),U(j,k)} is easier to check than the 4 points
condition. Therefore the theorem implies that ultrametric additive sets are easier
to characterize then arbitrary additive sets.
26
Additive trees via Ultrametric trees
Recent (and more efficient) ways for constructing and identifying
additive trees use ultrametric trees.
Idea: Reduce the problem to constructing trees by the “heights” of the
internal nodes. For leaves i,j, U(i,j) represent the “height” of the
common ancestor of i and j.                              8

3
5

3               B

D           C
A
E
27
Farris transform of Weighted Trees to
Ultrametric Trees

First we set the height of all leaves to 0, by transforming the
weighted tree T to an ultrametric tree T’ as follows:
Step 1: Pick a node r as a root, and “hang” the tree at r.

a
a                       c                        2
r=a
2       4
1
3
3                                                b
2
1
b                       d                        4           2
c                   d
28
Transforming Weighted Trees to
Ultrametric Trees

Step 2: Let M = maxid(i,r). M is taken to be the height of T’.
Label the root by M, and label each internal node j by M-d(r,j).

9
a
a                           c                      2
r=a, M=9           7
2           4
1
3
3     2                                                  b
4
1                   d                                      2
b                                                  4                   d
c
29
Transforming Weighted Trees to
Ultrametric Trees

Step 3 (and last): “Stretch” edges of leaves so that they are all at
distance M from the root

9                                           9
a (9)
2                                           2
7                      M=9                  7
1                                                   9
3                                           3
b(6)                                        7
4                                           4
2                           4
4                d (2)                                      4            a
b
(0) c                                           c                       d
30
Reconstructing the Weighted Tree from
the Ultrametric Tree

Weight of an internal edge is the difference between its endpoints.
Weights of an edge to leaf i is obtained by subtracting M-d(r,i) from
its current weight.

9
2       0
2
7                                                          a
1
9 (-9)                   3
3                                                      b
7(-6)
4
4       2
4               4(-2)              a
b              c               d
c                     d                M=9                              31
Solving the Additive Tree Problem by the
Ultrametric Problem: Outline

We solve the additive tree problem by reducing it to the ultrametric
problem as follows:
Given an input matrix D = D(i,j) of distances:
1. Select an arbitrary object r as a root
2. Transform D to a matrix U= U(i,j), where U(i,j) is the height of
the LCA of i and j in the corresponding ultrametric tree TU.
3. Construct the ultrametric tree, TU, for U.
4. Reconstruct the additive tree T from TU.

32
How U is constructed from D

U(i,j) should be the height of the Least Common Ancestor of i and
j in TU, the ultrametric tree hanged at r:
Thus, U(i,j) = M - d(r,m), where d(r,m) is computed by:

9
a
2                   d (r, m)  1 (d (i, r )  d ( j, r )  d (i. j ))
2
7
1
3
b      For r=a, i=b, j=c, we have:
U(b,c)=9 - ½(3+9-8)=7
4               2
c                       d
33
The transformation D  U  TUT
a                                        9       M=9
2
T                   TU
1                                7
3
b
4
4       2
c         d
c           d     b          a
D                                         U
a           b       c       d                a        b       c       d
a        0       3       9       7            a       0    9       9       9
b                    0   8       6            b                0   7       7
c                            0   6            c                        0   4
d                                    0        d                                0
34

```
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
 views: 3 posted: 10/2/2011 language: English pages: 34