66 Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 5 Phylogeny Evolutionary tree of organisms, Ernst Haeckel, 1866 5.1 References • J. Felsenstein, Inferring Phylogenies, Sinauer, 2004. • C. Semple and M. Steel, Phylogenetics, Oxford University Press, 2003. • R. Durbin, S. Eddy, A. Krogh & G. Mitchison, Biological sequence analysis, Cambridge, 1998 • D.L. Swofford, G.J. Olsen, P.J.Waddell & D.M. Hillis, Phylogenetic Inference, in: D.M. Hillis (ed.), Molecular Systematics, 2 ed., Sunderland Mass., 1996. • M. Salemi and A-M. Vandamme, The Phylogenetic Handbook. Cambridge University Press 2003. 5.2 Why phylogenetic analysis? Phylogenetic analysis has many applications, including understanding the emergence and development of diseases: Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 5.3 67 Outline of the chapter 1. Enumerating phylogenetic trees 2. Computer representation of trees 3. Distance-based reconstruction methods 4. Parsimony-based reconstruction methods 5. Jukes-Cantor model of DNA sequences evolution 6. Maximum likelihood reconstruction methods 7. Bayesian reconstruction methods 8. Phylogenetic Networks 1, 3, 4 will cover some material already presented in “Grundlagen der Bioinformatik” 5.4 Phylogenetic analysis The goal of phylogenetic analysis is to determine and describe the evolutionary relationship between a givens set of species. In particular, this involves determining the order of speciation events and their approximate timing. It is generally assumed that speciation is a branching process: a population of organisms becomes separated into two sub-populations. Over time, these evolve into separate species that do not crossbreed. Because of this assumption, a tree is often used to represent a proposed phylogeny for a set of species, showing how the species evolved from a common ancestor. 68 Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 5.4.1 Early Evolutionary Studies Before the early 1960s: Anatomical/Morphological features were the dominant criteria used to derive evolutionary relationships between species 1958: Francis Crick suggested to use molecular sequences for phylogenetic tree reconstruction. 1962: Emile Zuckerkandl and Linus Pauling built the first phylogenetic tree from aligned amino acid sequences. They also proposed the theory of the molecular clock. 1967: Walter Fitch and Emanuel Margoliash published the first algorithm for phylogenetic tree reconstruction (least-squares algorithm). 1977: Carl Woese uses phylogenies based on SSU rRNA sequences to show that are are three Domains of Life: Eukaryotes, Bacteria and Archaea. 5.4.2 Phylogenetic trees In the following, we will use X = {x1 , x2 , . . . , xn } to denote a set of taxa, where a taxon xi is simply a representative of a group of individuals defined in some way. Definition 5.4.1 (Phylogenetic tree) A phylogenetic tree (on X) is a system T = (V, E, λ) consisting of a connected graph (V, E) without cycles, together with a labeling λ of the leaves by elements of X, such that: 1. every leaf is labeled by exactly one taxon, and 2. every taxon appears exactly once as a label. 5.4.3 Unrooted trees An unrooted phylogenetic tree is obtained by placing a set of taxa on the leaves of a tree: Pan_panisc Gorilla Homo_sap Mus_mouse Rattus_norv harbor_sel Bos_ta(cow) fin_whale blue whale Taxa X harbor_sel Gorilla Pan_panisc Bos_ta(cow) fin_whale Homo_sap Mus mouse + tree ⇒ blue_whale Rattus norv phylogenetic tree T on X Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 5.4.4 Unrooted and rooted trees 5.4.5 Enumerating phylogenetic trees 69 Let T be an unrooted phylogenetic tree on n taxa, i.e., with n leaves. We assume that T is bifurcating, i.e. that each internal node has degree 3. Any non-bifurcating tree on n taxa will have less nodes and edges. Lemma 5.4.2 (Number of nodes and edges) A bifurcating phylogenetic tree T on n taxa has 2n − 2 nodes, 2n − 3 edges and n − 3 internal edges for all n ≥ 3. Proof: by induction. For n = 3 there is exactly one tree: it has 3 outer edges and zero internal edges. It has 3 leaves and one internal node. Assume that the statement holds for n. Any tree T 0 with n + 1 leaves can be obtained from some tree T with n leaves by inserting a new node v into some edge e of T and connecting v to a new leaf w. This increases both the number of nodes and the number of edges by 2. Thus T 0 has 2n − 2 + 2 = 2(n + 1) − 2 nodes and 2n − 3 + 2 = 2n − 1 = 2(n + 1) − 3 edges. The number of internal edges is equal to the total number of edges minus the number of edges leading to leaves: (2n − 3) − n = n − 3. Lemma 5.4.3 (Number of trees) There are U (n) = (2n − 5)!! := 3 · 5 · 7 · . . . · (2n − 5) unrooted trees on n leaves, and R(n) = (2n − 3)!! = U (n) · (2n − 3) = 3 · 5 · . . . · (2n − 3) rooted trees. The number of possible trees grows extremely rapidly for increasing values of n. For example, for n = 10 we have U (n) = 2.027 × 106 and R(n) = 34.459 × 108 . 5.4.6 Distances in phylogenetic trees Let T = (V, E) be a phylogenetic tree with node set V and edge set E. An edge weight function ω : E → R≥0 assigns a non-negative number ω(e) to every edge e. These weights (or lengths) often represent 70 Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 • the number of mutations on evolutionary path from one species to another, or • a time estimate for evolution of one species into another. If T is a phylogenetic tree with edge weights ω, then the tree distance (or patristic distance) between i and j is given by X ω(e), dT (i, j) = e∈P (i,j) where the sum is taken over all edges e that are contained in the path P (i, j) from i to j. Example: B A 9 8 2 D 12 7 5 C E The tree distance between B and C is dT (B, C) = 9 + 12 + 7 = 28. 5.5 Computer representation of a phylogenetic tree Let X be a set of taxa and T a phylogenetic tree on X. To represent a phylogenetic tree in a computer we maintain a set of nodes V and a set of edges E. Each edge e ∈ E maintains a reference to its source node s(e) and target node t(e). Each node v ∈ V maintains a list of references to all incident edges. Each leaf node v ∈ V maintains a reference λ(v) to the taxon that it is labeled by, and, vice versa, ν(x) maps a taxon x to the node that it labels. Each edge e ∈ E maintains its length ω(e). 5.5.1 Nested structure A rooted phylogenetic tree T = (V, E, λ) is a nested structure: Consider any node v ∈ V . Let Tv denote the subtree rooted at v. Let v1 , v2 , . . . , vk denote the children of v. Then Tv is obtainable from its subtrees Tv1 , Tv2 , . . . , Tvk by connecting v to each of their roots. Such a nested structure can be written using nested brackets: Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 Phylogenetic tree nested description v1 v10 taxon2 v7 v8 taxon6 v9 taxon1 v5 v6 taxon3 taxon4 v4 taxon5 v3 v2 71 v1 ↓ (v2 , v3 ) ↓ ((v4 , v5 ), (v6 , v7 , v8 )) ↓ (((v9 , v10 ), v5 ), (v6 , v7 , v8 )) Description: (((taxon1 , taxon2 ), taxon3 ), (taxon4 , taxon5 , taxon6 )) 5.5.2 Newick format Phylogenetic trees are usually read and printed using the so-called Newick format. The Newick Standard for representing trees in computer-readable form makes use of the correspondence between trees and nested parentheses, noticed in 1857 by the famous English mathematician Arthur Cayley. The tree ends with a semicolon. Interior nodes are represented by a pair of matched parentheses. Between them are representations of the nodes that are immediately descended from that node, separated by commas. Leaves are represented by their names. Trees can be multifurcating at any level. Branch lengths can be incorporated into a tree by putting a real number after a node and preceded by a colon. This represents the length of the branch immediately below that node. Examples: Unrooted tree Rooted tree with edge lengths e a d b c Newick string: ((a,b),c,(d,e)); Newick string: (((A:0.5,B:0.5):1.5,C:2.0):1.0,(D:1.0,E:1.0):2.0); In the Newick format, each pair of matching brackets corresponds to an internal node and each taxon label corresponds to an external node. To add edge lengths to the format, specify the length len of the edge along which given node we visited by adding :len behind the closing bracket, in the case of an internal node, and behind the label, in the case of a leaf. For example, consider the tree (a,b,(c,d)). If all edges have the same length 1, then this tree is written as (a:1,b:1,(c:1,d:1):1). 5.5.3 Algorithm for Tree to Newick This algorithm recursively prints a tree in Newick format. Initialisation with e = null and v = ρ, if the tree is rooted, or v set to an arbitrary internal node, else. Algorithm 5.5.1 (toNewick(e, v)) Input: Phylogenetic tree T = (V, E) on X, with labeling λ : V → X 72 Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 Output: Newick description of tree begin if v is a leaf then print λ(v) else // v is an internal node print ’(’ for each edge f 6= e incident to v do If this is not the first pass of the loop, print ’,’ Let w 6= v be the other node incident to f call toNewick(f, w) print ’)’ print ’;’ end 5.5.4 Algorithm for parsing Newick Algorithm parses a tree in Newick format from a (space-free) string s = s1 s2 . . . sm . Initialisation: parseNewick(1, m, null). Algorithm 5.5.2 (parseNewick(i,j,v)) Input: a substring si . . . sj and a root node v Output: a phylogenetic tree T = (V, E, λ) begin while i ≤ j do Add a new node w to V if v 6= null then add a new edge {v, w} to E if si = ’(’ then // hit a subtree Set k to the position of the balancing close-bracket for i call parseNewick(i + 1, k − 1, w) // strip brackets and recurse else // hit a leaf Set k = min{k ≥ i | sk+1 = ’,’ or k + 1 = j} Set λ(w) = si . . . sk // grab label for leaf Set i = k + 1 // advance to next ’,’ or j if i < j then Check that i + 1 ≤ j and si+1 = ’,’ Increment i // advance to next token end 5.6 Constructing phylogenetic trees There are four main approaches to constructing phylogenetic trees: 1. Using a distance method, one first computes a distance matrix for a given set of biological data and then one computes a tree that represents these distances as closely as possible. 2. Maximum parsimony takes as input a set of aligned sequences and attempts to find a tree and a labeling of its internal nodes by auxiliary sequences such that the number of mutations along the tree is minimum. 3. Given a probabilistic model of evolution, maximum likelihood approaches aim at finding a phylogenetic tree that maximizes the likelihood of obtaining the given sequences. 4. Bayesian reconstruction methods estimate a posterior probability distribution of trees. Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 5.7 73 Distance-based tree reconstruction Assume we are given a set X = {x1 , x2 , . . . , xn } of taxa. The input to a distance method is a distance matrix D : X × X → R≥0 that associates a distance d(xi , xj ) with every pair of taxa xi , xj ∈ X. We require that D satisfies at least the first two properties of a metric: 1. symmetry, d(x, y) = d(y, x), 2. the triangle inequality, d(x, y) + d(y, z) ≥ (dx, z) and 3. identity, x 6= y ⇒ d(x, y) > 0. Distance-Based Phylogeny Problem: Reconstruct an evolutionary tree on n leaves from an n × n distance matrix Input: A distance matrix D = (dij ) on X. Output: A phylogenetic tree T (rooted or unrooted) with edge lengths on X such that the distances in T approximate D in some prescribed way. The most commonly distance-based methods used are 1. UPGMA 2. Neighbor joining 3. Minimum evolution and related methods 5.8 The neighbor-joining algorithm The most widely used distance method is neighbor joining (NJ), originally introduced by Saitou and Nei (1987)1 and modified by Studier and Keppler (1988). Given a distance matrix D, neighbor joining produces an unrooted phylogenetic tree T with edge lengths. It is more widely applicable than UPGMA, as it does not assume a “molecular clock”. Starting from a star tree topology the algorithm proceeds to build a tree based on D by repeatedly pairing “neighboring” taxa: c a c d d g b e 1 a → f Saitou, N., Nei, Y. (1987) SIAM J. on Comp. 10:405-421 b g e f 74 Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 Algorithm 5.8.1 (Neighbor joining) Input: Distance matrix D on X Output: Unrooted phylogenetic tree T Initialization: Define L to be the set of leaf nodes, one for each taxon x ∈ X Set T = L while |L| > 2 do Compute the “neighbor-joining matrix” N : 1 P For all i, j set Nij = dij − (ri + rj ), where ri = |L|−2 k∈L dik Pick a pair i, j ∈ L for which Nij is minimum Create a new node k in T Update D: For all m ∈ L set dkm = 12 (dim + djm − dij ) Connect k to i and to j using two new edges of lengths dik = 12 (dij + ri − rj ) and djk = dij − dik , respectively. Remove i and j from L and add k to L. if L = {i, j}, then create a new edge between i and j of length dij . Let i and j be two neighboring leaves that have the same parent node, k. Remove i, j from the list of nodes L and add k to the current list of nodes. How do we update its distance to any given leaf m? Consider: i i −→ m j j k m We must have: dim = dik + dkm , djm = djk + dkm and dij = dik + djk , thus dim + djm = dik + dkm + djk + dkm = dij + 2dkm , which implies 1 dkm = (dim + djm − dij ). 2 Why do we set the length of the new edges to dik = 12 (dij + ri − rj ) and djk = dij − dik ? 1 P 1 P By definition, ri = |L|−2 k∈L dik equals the average distance qi = |L|−2 k∈L,k6=i,j dik from i to all other nodes m 6= i, j, plus dij |L|−2 : m1 i dij j k m2 qi average distance qj m5 m 4 m3 Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 As we see from this figure: 2dik = dij + qi − qj = dij + qi − qj + 5.8.1 Taxa A B C D dij |L|−2 − dij |L|−2 75 = dij + ri − rj . Example A - B 8 - C 7 9 - D 12 14 11 - Initialisation: L = X = {A, B, C, D} Iteration: 1. Compute N: first compute column sums ri∗ : ∗ ∗ ∗ ∗ rA = 8 + 7 + 12 = 27, rB = 8 + 9 + 14 = 31, rC = 7 + 9 + 11 = 27, rD = 12 + 14 + 11 = 37 N = T axa A B C D A − ∗ ∗ 8 − (rA + rB )/2 ∗ ∗ 7 − (rA + rC )/2 ∗ ∗ )/2 + rD 12 − (rA B 8 − ∗ ∗ 9 − (rB + rC )/2 ∗ ∗ )/2 + rD 14 − (rB = T axa A B C D A − −21 −20 −20 D 12 14 11 − B 8 − −20 −20 C 7 9 − −21 C 7 9 − ∗ ∗ )/2 + rD 11 − (rC D 12 14 11 − One minimum is N (A, B) = −21. Define new internal node k to join A and B and compute edge lengths of k to A and of k to B: 1 1 (d(A, B) + rA − rB ) = (8 + 27/2 − 31/2) = 3 2 2 d(B, k) = d(A, B) − d(A, k) = 8 − 3 = 5 d(A, k) = Compute new D0 : T axa k C D k − d(k, C) d(k, D) C − 11 D − where d(k, C) = d(k, D) = 1 (d(A, C) + d(B, C) − d(A, B)) = 4 2 1 (d(A, D) + d(B, D) − d(A, B)) = 9 2 Second iteration: Compute N: we have L = {AB, C, D}, |L| = 3, |L| − 2 = 1 ∗ ∗ rk∗ = 4 + 9 = 13, rC = 4 + 11 = 15, rD = 9 + 11 = 20 N = T axa AB C D AB − 4 − (13 + 15)/1 9 − (13 + 20)/1 = T axa AB C D AB − −24 −24 C 4 − −24 D 9 11 − C 4 − 11 − (15 + 20)/1 D 9 11 − 76 Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 A minimum is given by N (AB, C). Define a new node k to join AB and C: d(C, k) = d(AB, k) = 1 1 (d(AB, C) + rC − rAB ) = (4 + 15 − 13) = 3 2 2 d(AB, C) − d(C, k) = 4 − 3 = 1 Termination: Only two nodes left, D and ABC. Compute length of edge d(ABC, D): d(ABC, D) = d(C, D) − d(ABC, C) = 11 − 3 = 8 This is the resulting tree: B 5 8 1 D 3 A 3 C 5.8.2 Additivity and the four-point condition A distance matrix D is called additive, or a tree metric, if it can be represented by a phylogenetic tree. How to tell whether D is additive? Definition 5.8.2 (Four-point condition) Assume we are given a set of taxa X. A distance matrix D on X is said to fulfill the four-point condition if for all i, j, k, l ∈ X d(i, j) + d(k, l) ≤ max{d(i, k) + d(j, l), d(i, l) + d(j, k)} holds. (That is, two of the three expressions d(xi , xj ) + d(xk , xl ), d(xi , xk ) + d(xj , xl ), and d(xi , xl ) + d(xj , xk ) are equal and are not smaller than the third.) We have the following classical result (Buneman, 1971): Theorem 5.8.3 (Additivity metrics and the 4PC) A distance matrix D on X is additive, if and only if it fulfills the four-point condition. We will prove one direction of the theorem. Proof “⇒”: Assume that D is additive. Then there exists a phylogenetic tree T that represents D. Let i, j, k, l be elements of X. If they are all different, then we can assume w.l.o.g. that (i, j) and (k, l) are neighbors in the induced tree T |{i,j,k,l} , respectively. It follows that d(i, j) + d(k, l) ≤ d(i, k) + d(j, l) = d(i, l) + d(j, k), Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 77 as can be seen from the following figure: and thus D fulfills the four-point condition. Example additive metric: B C D A 7 6 5 D= B 3 6 C 5 A non-additive B A 7 D= B C Check the four-point condition: Check the four-point condition: metric: C 7 4 D 6 7 5 d(A, B) + d(C, D) = 7 + 5 = 12 d(A, C) + d(B, D) = 7 + 7 = 14 d(A, D) + d(B, C) = 6 + 4 = 10 ⇒ d(A, C) + d(B, D) 6≤ max (d(A, B) + d(C, D), d(A, D) + d(B, C)) ⇒ 4-point condition doesn’t hold. d(A, B) + d(C, D) = 7 + 5 = 12 d(A, C) + d(B, D) = 6 + 6 = 12 d(A, D) + d(B, C) = 5 + 3 = 8 ⇒ the four-point condition holds. D D C 2.0 C 2.0 3.0 2.0 1.0 1.0 2.0 1.0 2.0 3.0 2.0 B A B A 5.9 The Jukes-Cantor model of evolution T. Jukes and C. Cantor (1969) introduced a very simple model of DNA sequence evolution: Definition 5.9.1 (Jukes-Cantor model) The Jukes-Cantor model of evolution makes the following assumptions: 1. We are given a rooted phylogenetic tree T along which sequences evolve. 2. The sequence length is an input parameter and possible states for each site are A, C, G and T. 3. The possible states for each site are A, C, G and T. 4. For each site of the sequence at the root of T , the state is drawn from a given distribution (typically uniform). 5. The sites evolve identically and independently (i.i.d.) down the edges of the tree from the root at a fixed rate u. 6. With each edge e ∈ E we associate a duration t = t(e) and the expected number of mutations per site along e is uτ (e). The probabilities of change to each of the 3 remaining states are equal. 78 Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 How do we “evolve” a sequence down an edge e under the Jukes-Cantor model? Let v = (v1 , . . . , vn ) and w = (w1 , . . . , wn ) denote the source and target sequences associated with e. We assume that v has already been determined and we want to determine w. Under the Jukes-Cantor model, the evolutionary event C3 = nucleotide changes to one of the other three bases occurs at a fixed rate of u. Now consider the event C4 = nucleotide changes to any base (including back to the same base). The rate of occurrences of this event is taken to be 43 u. 4 The probability that event C4 does not occur within time t is: e− 3 ut (Poisson distribution with k = 0). Given that the event C4 occurs, the probability of ending in any particular base is 14 . Let P and Q denote the base pair present at a given site before and after a given time period t. The probability that an event of type C4 occurs and changes P ∈ {A, C, G, T} to base Q within time t is: 4 1 Prob(Q | P, t) = 1 − e− 3 ut . 4 Now, adding the probability that the event C4 does not occur, we obtain the probability that the state does not change, i.e. P = Q: 1 4 4 4 1 1 − e− 3 ut = 1 + 3e− 3 ut . Prob(Q = P | P, t) = e− 3 ut + 4 4 Thus, we obtain a probability-of-change formula for the probability of an observable change occurring at any given site in time t: 4 Prob(change | t) = 1 − Prob(Q = P | P, t) = 1 − 41 1 + 3e− 3 ut 4 = 34 1 − e− 3 ut . We can use this model to generate artificial sequences along a model tree. E.g., set the sequence length to 10 and the mutation rate to u = 0.1. Initially, the root node is assigned a random sequence. Then the sequences are evolved down the tree, at each edge using the probability-of-change formula to decide whether a given base is to change: 1 a 1 b 1 c 1 d 1 e 1 f 2 ACGTTTAGAG ACGTTTCGAG 2 1 * 3 ACCTTGCGGG E.g., the probability of change along the edge marked ∗ is 4 0.75(1 − e− 3 ×0.1×3 ) = 0.75(1 − e−0.4 ) ≈ .247. 5.10 The Jukes-Cantor distance transformation The Hamming distance between two sequences underestimates their true evolutionary distance (average number of mutations that took place per site over the elapsed time), because it doesn’t count “back mutations” and multiple mutations at the same site. Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 79 Thus, a correction formula is required. For the Jukes-Cantor model, inversion of the probability-ofchange formula leads to the following: Definition 5.10.1 (Jukes-Cantor transformation) The Jukes-Cantor distance transformation for a pair of sequences a and b is defined as: formula: 3 4 JC(a, b) = − ln 1 − Ham(a, b) . (5.1) 4 3 5.11 More general transformations The Jukes-Cantor model assumes that all nucleotides occur with the same frequency. This assumption is relaxed under the Felsenstein 81 model introduced by Joe Felsenstein (1981), which has the following distance transformation: F 81(ai , aj ) = −B ln(1 − Ham(ai , aj )/B), (5.2) where B = 1 − (πA2 + πC2 + πG2 + πT2 ) and πQ is the frequency of base Q. The base frequency is obtained from the pair of sequences to be compared, or better, from the complete set of given sequences. Note that this contains the Jukes-Cantor transformation as a special case with equal base frequencies πA = πC = πG = πT = 0.25, thus B = 43 . Unlike the Jukes-Cantor transformation, this transformation can also be applied to protein P20 sequences, 2 if all amino acids are generated with the same frequency, and B = 1 − setting B = 19 i=1 πi , in the 20 proportional case. Given equal base frequencies, but different proportions P and Q of transitions and transversions between ai and aj , the distance for the Kimura 2 parameter model is computed as: 1 1 1 1 K2P (ai , aj ) = ln + ln . (5.3) 2 1 − 2P − Q 4 1 − 2Q If we drop the assumption of equal base frequencies, then we obtain the Felsenstein 84 transformation: P (A − B)Q Q F 84(ai , aj ) = −2A ln 1 − − + 2(A − B − C) ln 1 − , (5.4) 2A 2AC 2C where A = πC πT /πY +πA πG /πR , B = πC πT +πA πG , and C = πR πY with πY = πC +πT , πR = πA +πG . Even more general models exist, but we will skip the details. The following figure summarizes the complete overview of the time reversible models: 80 Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 GTR Equal base frequency 3 substitution parameters (2 f. Transitions, 1 f. Transv.) SYM TrN 2 substitution parametera (1 f. Transitions, 1 f. Transv.) HKY =F84 1 substitution parameter 3 substitution parameters (1 f. Transitions, 2 f. Transv) K3SP Equal base frequency 2 substitution parameters (1 f. Transitions, 1 f. Transv) K2P F81 Equal base frequency 1 substitution parameter JC GTR TrN SYM HKY K3ST = = = = = “general time reversible” “Tamura-Nei” “symmetric” “Hasegawa-Kishino-Yano” “Kimura 3-Parameter” Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 5.12 81 Maximum parsimony In phylogenetic analysis, the Maximum Parsimony problem is to find a phylogenetic tree that explains a given set of aligned sequences using a minimum number of “evolutionary events”. The maximum parsimony method is one of the most widely used used tree reconstruction methods. Suppose we are given a multiple alignment of sequences A of length L and a phylogenetic tree T . The maximum parsimony method makes two fundamental assumptions: • Changes at different positions of the sequences are independent. • Changes in different parts of the tree are independent. 5.12.1 The parsimony score of a tree The difference between two sequences X = (x1 , . . . , xL ) and Y = (y1 , . . . , yL ) is simply their nonnormalized Hamming distance d(X, Y ) = |{k | xk 6= yk }|, that is, the number of positions at which they differ. Assume we are given a multiple alignment of sequences A = {A1 , A2 , . . . , An } and a corresponding phylogenetic tree T , leaf-labeled by A. If we assign a hypothetical ancestor sequence to every internal node in T , then we can obtain a score for T together with this assignment by summing over all differences d(X, Y ), where X and Y are two sequences labeling two nodes that are joined by an edge in T . Example: AGT AGA 1 0 CGA 0 CCA 1 AGA CGA ⇒ score = 3 1 0 CGA Definition 5.12.1 (Parsimony score of a tree) Suppose we are given a multiple alignment of sequences A of length L and a corresponding phylogenetic tree T leaf-labeled by A. Then the parsimony score for T and A is defined as: X P S(T, A) = min d(λ(u), λ(v)), λ {u,v}∈E where the minimum is taken over all possible labelings λ of the nodes of T by sequences of length L that extend the labeling of the leaves by A. . Small Parsimony problem: The Small Parsimony problem is to compute the parsimony score for a given tree T . 82 Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 5.13 The Fitch algorithm In 1971 Walter Fitch2 published a dynamic programming algorithm that solves the Small Parsimony problem efficiently. Input: A phylogenetic tree T with n leaves. The leaves are labeled by the sequences of an MSA with n sequences over an alphabet Σ. Since maximum parsimony assumes indepedence of each column, one can compute the parsimony score column by column and the final result is given by the sum of the column results. The Fitch algorithm runs in two passes: The forward pass first computes the parsimony score and the backward pass then computes a labeling of the internal nodes. 5.13.1 The Fitch algorithm: Forward pass As the algorithms proceeds column-by-column, we can assume that each leaf v is labeled by a single character-state c(v). We will assign a set S(v) of states and a number l(v) to each node v as follows: S(v) = {c(v)}, l(v) = 0 For each leaf v: For each inner node v with children u, w: S(v) = S(u) ∩ S(w) if S(u) ∩ S(w) 6= ∅ S(u) ∪ S(w) if S(u) ∩ S(w) = ∅ l(v) = l(u) + l(w) if S(u) ∩ S(w) 6= ∅ l(v) = l(u) + l(w) + 1 if S(u) ∩ S(w) = ∅ To compute S(v) and l(v) we traverse the tree in postorder or “bottom-up”. The number of changes required is given by the value of l at the root. The forward pass algorithm requires O(n) steps for each column and thus O(nL) in total. 5.13.2 The Fitch algorithm: Example Example: we use the Fitch algorithm to compute the parsimony score for the following labeled tree: G 5.13.3 A G C C A Fitch algorithm: Backward pass The forward pass algorithm computes the parsimony score. An optimal labeling of the internal nodes is obtained via traceback: starting at the root node r, we label r using any character in S(r). Then, 2 Fitch, W. (1971) Toward defining the course of evolution: minimum change of specified tree topology. Syst. Zoology 20:406-416 Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 83 for each child w, we use the same letter, if it is contained in S(w), otherwise we use any letter in S(w) as label for w. We then visit the children von w etc. {A,G} {G} {C,G} {G} {C} {A,C} {G} {C} {C} {A} {A} G → A G C C A Again, the algorithm requires O(nL) steps, in total. 5.13.4 The Fitch algorithm: Backward pass Algorithm 5.13.1 (Backward pass) Input: A phylogenetic tree T and the set S(v) of each node v in T Output: The fully labeled tree T do for all nodes v, starting at the root node, going to the leaves if v is the root node then Set c(v) = t with t ∈ S(v) else Let w be the parent node of v if c(w) ∈ S(v) then Set c(v) = c(w) else Set c(v) = t with t ∈ S(v) end 5.13.5 Sankoff ’s algorithm In Fitch’s algorithm each mutation is equally weighted independent of the nature of the mutation. For nucleotides and especially for amino acids the assumption of equal substitution costs for all possible character changes is inappropriate. In 1975, David Sankoff3 proposed an alternative to Fitch’s algorithm in which substitutions can be weighted. Input: • a phylogenetic tree T = (V, E) with n leaves • a character-state c(v) for each leaf v • a cost matrix C that specifies the cost C(α, β) of changing state α into state β Forward pass: In a post-order traversal, for each node v and each state α ∈ Σ we will compute Sα (v) as the minimum cost of the subtree rooted at v, given c(v) = α. Initialization: For each leaf node v and state α set Sα (v) = 3 0, c(v) = α ∞, else. Sankoff D. (1975) Minimal mutation trees of sequences. SIAM J. Appl. Math. 28:35-42 84 Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 Main recursion: For each internal node v with children u and w recursively compute Sβ (u) and Sβ (w) for all states β. Then set Sα (v) = min(Sβ (u) + C(α, β)) + min(Sβ (w) + C(α, β)). β β Result: The minimal cost of the whole tree is given by min Sα (ρ), α where ρ is the root of the tree. Example: Backward pass: Based on the values of Sv (α) from the forward pass we will now choose an optimal character state α for each inner node. As in Fitch’s algorithm we start at the root and visit all nodes in a pre-order traversal. For the root ρ set: c(ρ) = arg min Sα (ρ) α For every internal node w 6= ρ with parent node v we set: c(w) = arg min(Sα (w) + C(α, c(v))). α Example: Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 5.13.6 85 The Large Parsimony problem Definition 5.13.2 (Parsimony score of an alignment) Given a multiple alignment A {a1 , . . . , an }, its parsimony score is defined as = P S(A) = min{P S(T, A) | T is a phylogenetic tree on A}. Definition 5.13.3 (Large Parsimony problem) The Large Parsimony problem is to compute P S(A). Theorem 5.13.4 (Parsimony is hard) The Large Parsimony problem is NP-hard. 5.14 Maximum likelihood estimation Let A = (a1 , . . . , an ) be a multiple sequence alignment of length m on X . The basic idea of the maximum likelihood estimation method is to compute a phylogenetic tree T , together with edge lengths ω, that maximizes the likelihood P(A | T, ω, M ) that the multiple sequence alignment A was generated on the phylogenetic tree T with edge lengths ω under the given model of sequence evolution M . Such a model M specifies how to choose the initial sequence at the root of the tree T and how sequences evolve along edges of the tree. For example, the Jukes-Cantor model specifies that at any position i of the root sequence, all four nucleotides appear with the same probability of 41 . The mutation rate is u. Moreover, the length ω(e) of any edge e is interpreted as a duration and the probability that an observable change occurs along an edge of length t is given by the probability-of-change formula: 4 3 P(change | t) = 1 − e− 3 ut . 4 In practice, the models employed are more general than the simple Jukes-Cantor model, usually allowing unequal nucleotide frequencies and different transition probabilities between different nucleotides. The models are generally time reversible, which implies that the optimal score attainable is independent of the location of the root. A main advantage of maximum likelihood estimation is that it provides a systematic framework for explicitly incorporating assumptions and knowledge about the process that generated the given data. Although evolutionary models are only a rough estimate of real-world biological evolution, in practice, maximum likelihood methods have proved to be quite robust to violations of the assumptions made in the models. 5.14.1 Maximum likelihood estimation is hard As with maximum parsimony, the main draw-back of this approach is that finding an optimal phylogenetic tree is NP-hard. In fact, the situation is in some sense worse: Theorem 5.14.1 (Maximum likelihood estimation is hard) For a given phylogenetic tree T , the problem of defining edge lengths ω so as to maximize the likelihood P (A | T, ω, M ) is NP-hard. 86 5.14.2 Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 Solving maximum likelihood Assume we are given the following DNA alignment A as 1 2 i a1 A C . . . G C a2 A C . . . G C a3 A C . . . T A a4 A C . . . T G input: G C C G m A G G A ... ... ... ... There are three possible unrooted phylogenetic trees on a set of four taxa: a1 a3 a1 a2 a1 a2 a2 a4 a3 a4 a4 a3 To simplify the calculation of the maximum likelihood score for such a phylogenetic tree T we root it by choosing one of its internal nodes to be the root ρ: (1) (1) → (2) (2) (3) C (4) C A G (3) (4) (5) (5) → (6) (6) We will discuss how to compute the maximum likelihood for the first tree of the three unrooted trees. The other two trees are processed similarly. Conceptually, we obtain the likelihood L(i) that a specific rooted phylogenetic tree T generated Ai , the i-th character of A, by summing over all possible labellings α of the internal nodes by states. For a bifurcating unrooted phylogenetic tree on n taxa there are n − 2 internal nodes, and so there are k (n−2) possible labellings to be considered, where k is the number of possible character states. For our example, we need to consider 16 different possibilities: C C A G A L(i) = P Ai + P Ai A + ... + P Ai + ... + P Ai C C A G C A C C A G G C C C A G T T In general, for a given rooted phylogenetic tree T and model M , the likelihood of T given a single character Ai is defined as L(i) = P(A P i |T, ω, M ) = P(Ai , α|T, ω, M ) Pα Q = P(α(ρ)) P (α(v), α(w)) , e α e={v,w} where the summation is over all possible labellings α of the internal nodes, P(α(ρ)) is the probability of generating the state α(ρ) at the root and Pe (α(v), α(w)) is the probability of observing the two states α(v) and α(w) at the two ends of an edge e = {v, w}. Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 87 The total likelihood that T generated the multiple sequence alignment A is obtained as the product of the likelihoods for all positions of A: L(T ) = L(1) · L(2) · · · · · L(m) = m Y L(i). i=1 The computation of L(i) is actually more complicated than we have described so far, because not only do we have to consider all possible rooted phylogenetic trees on n taxa, but we must also consider all possible ways of defining edge lengths ω on each such tree. Assume that we have a rooted phylogenetic tree T with edge lengths ω, we will now discuss in more detail how to calculate Y Pe (α(v), α(w)) P (Ai , α | T, ω, M ) = P(α(ρ)) e={v,w} for the case of the Jukes-Cantor model with mutation rate u. Under this model, the probability of observing any particular nucleotide at the root node is 41 . The probability of observing two different states α(v) and α(w) at opposite ends of an edge e of length t = ω(e) is given by 4 3 P (α(v) 6= α(w) | T ) = (1 − e− 3 ut ), 4 whereas the probability of observing the same state at opposite nodes of e equals 4 1 1 − P (α(v) = α(w) | T ) = (1 + 3e− 3 ut ). 4 For example, the value of C C A G A P A i A is given by P (A)Pe1 (A, C)Pe2 (A, C)Pe3 (A, A)Pe4 (A, A)Pe5 (A, G) = 33 (1 46 4 4 4 4 4 − e− 3 ut1 )(1 − e− 3 ut2 )(1 + 3e− 3 ut3 )(1 + 3e− 3 ut4 )(1 − e− 3 ut5 ), where e1 , . . . , e5 are the five edges in T and ti = ω(ei ) for i = 1, . . . , 5. 5.14.3 Felsenstein’s algorithm One can efficiently compute the likelihood for a given bifurcating, rooted phylogenetic tree T with edge lengths ω using Felsenstein’s algorithm (Felsenstein, 1981). In this approach, for each node v in T and every possible character state a, in a post-order traversal of T , one recursively computes the conditional likelihood Lv (a) for the subtree Tv rooted at v, under the condition that the state of v is a, that is, we have α(v) = a. More precisely, for any internal node v with children w1 and w2 , the main recursion is ! ! X X Lv (a) = P{v,w1 } (a, b)Lw1 (b) P{v,w2 } (a, b)Lw2 (b) , b b 88 Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 where summation is over all possible states b and, as above, P{v,w} (a, b) is the probability of observing states a and b at the two ends of the edge {v, w} under the given model M . To initialize the computation, for each leaf v and every symbol a, we set Lv (a) = 1, if the node v is labeled by the character state a, and Lv (a) = 0, else. 5.14.4 Summary As mentioned above, we must consider all possible choices of edge lengths ω. Determining an optimal choice of ω is in general a computationally hard problem. One possible heuristic is to optimize the length of each edge in turn, while keeping all other edge lengths fixed. In summary, for a given multiple sequence alignment A on X , in maximum likelihood estimation, a result is obtained by searching through all possible phylogenetic trees T and for each such tree T , computing the maximum likelihood score. The method returns the tree that attains the best score. 5.15 Quartet puzzling Quartet puzzling 4 is a heuristic for approximating the maximum likelihood (MLE) tree. It is based on the idea of computing the MLE trees for all quartets of taxa and then using many rounds of combination steps in which one attempts to fit a random set of quartet trees together so as to obtain a tree on the whole dataset. Assume we are given a multiple alignment of sequences A = {a1 , . . . , an }. The quartet puzzling heuristic proceeds in three steps: 1. For each quartet q of four distinct taxa ai , aj , ak , al ∈ A compute the maximum likelihood tree Tq . This step is called maximum likelihood step. 2. Choose a random order ai1 , ai2 , . . . , ain of the taxa and then use it to guide a combining or puzzle step that produces a tree on the whole data set from quartet trees. 3. Repeat step (2) many times to obtain trees T1 , T2 , . . . , TR . Report the majority consensus tree T. 5.15.1 Computing all quartet trees Given four taxa {a1 , a2 , a3 , a4 }, there are three possible bifurcating topologies: a1 a3 a1 a2 a1 a2 a2 a4 a3 a4 a4 a3 {{a1 , a2 }, {a3 , a4 }} {{a1 , a3 }, {a2 , a4 }} {{a1 , a4 }, {a2 , a3 }} Now, let T be any phylogenetic tree that contains leaves labeled a1 , a2 , a3 , a4 , We say that T induces the split or tree topology {{a1 , a2 }, {a3 , a4 }}, if there exists an edge in T that separates the nodes labeled a1 and a2 from the nodes a3 and a4 . We will sometimes abbreviate {{a1 , a2 }, {a3 , a4 }} by a1 , a2 | a3 , a4 . Assume we are given this tree T : 4 Korbinian Strimmer and Arndt von Haeseler (1996) Quartet-puzzling: a quartet maximum-likelihood method for reconstructing tree topologies. Mol Biol Evol 13, 964-969. Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 a1 89 a5 a2 a4 a3 This tree induces the following five quartet tree topologies: a1 a3 a1 a3 a1 a4 a1 a4 a2 a4 a2 a5 a2 a2 a5 a3 a5 a4 a3 a5 It is easy to reconstruct the original tree from its set of quartets. However, in the presence of false quartet topologies (as inevitably produced by any phylogenetic reconstruction method), the reconstruction of the original tree can become difficult. In quartet puzzling, quartets are greedily combined to produce a tree for the whole data set. In an attempt to avoid the usual problems of a greedy approach, the combining step is run many times using different random orderings of the taxa. 5.15.2 The puzzle step The puzzle step is initialized with the maximum likelihood tree for {a1 , a2 , a3 , a4 }, e.g.: a1 0 0 a2 0 0 a3 0 a4 Each edge e is labeled with a number of conflicts c(e) that is originally set to 0. In the puzzle step, the task is to decide how to insert the next taxon ai+1 into the tree Ti already constructed for taxa {a1 , . . . , ai }. We proceed as follows: For each edge e in Ti we consider what would happen if we were to attach taxon ai+1 into the middle of e by a new edge: We consider all quartets consisting of the taxon ai+1 and three taxa from {a1 , a2 , . . . , ai }. For each such quartet q we compare the precomputed maximum likelihood tree Tq with the restriction of Ti to q, denoted by Ti |q . If these two trees differ, then we increment c(e) by one. Finally, we attach e to an edge f in Ti that has a minimum number of conflicts c(f ), thereby obtaining Ti+1 . Example: We illustrate the puzzle step using the five taxon tree shown above. For each of the five quartets we compute the respective ML tree. Assume that these are indeed a1 a3 a1 a3 a1 a4 a1 a4 a2 a4 a2 a5 a2 a2 a5 a3 a5 a3 a4 a5 We start with the maximum likelihood tree on {a1 , a2 , a3 , a4 }. The puzzle step for a5 proceeds as 90 Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 follows: a1 0 0 Initial tree: a2 0 a1 −→ a1 , a3 | a4 , a5 2 1 a2 2 0 a3 0 a4 1 a3 0 a4 a1 1 0 a2 1 a1 3 2 −→ a2 , a3 | a4 , a5 a2 3 0 a3 0 a4 2 a3 0 a4 a3 4 −→ a1 , a2 | a3 , a5 a1 −→ a1 , a2 | a4 , a5 2 2 0 4 a2 a4 Hence, the puzzle step suggests that taxon a5 should be attached in the edge adjacent to the leaf labeled a4 to obtain the tree a1 a5 a2 a3 a4 In geneal, this procedure is repeated for different orders of taxa many times (say, 1000 for a large dataset). Finally a consensus of all computed trees is derived as the final result. 5.15.3 The quartet puzzling algorithm Algorithm 5.15.1 (Quartet puzzling) Input: Aligned sequences A = {a1 , . . . , an }, number R of trees Output: Phylogenetic trees T 1 , T 2 , . . . , T R on A Initialization: Compute an MLE tree tq for each quartet q ⊆ A for r = 1 to R do Randomly permute the order of the sequences in A Set T4 equal to the precomputed MLE tree on {a1 , a2 , a3 , a4 } for i = 5 to n do Set c(e) = 0 for all edges in Ti−1 for each quartet q ⊆ {a1 , . . . , ai } with ai ∈ q do Let x, y | z, ai be the MLE tree topology on q Let p denote the path from x to y in Ti−1 Increment c(e) by 1 for each edge e that is contained in p or that is separated from z by p Choose any edge f for which c(f ) is minimal Obtain Ti from Ti−1 by attaching a new leaf with label ai to f Output Tn end Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 5.16 91 Bayesian methods Bayesian inference of phylogenetic trees is a method whose goal is to obtain a quantity called the posterior probability of a phylogenetic tree. Generally speaking, the posterior probability of a result is the conditional probability of the result being observed, computed after seeing a given input dataset. The prior probability of a result is the marginal probability of the result being observed, set before the input dataset is examined. In other words, the prior probability distribution of phylogenetic trees on X reflects our belief of the distribution of all possible phylogenetic trees on X . This distribution is determined in advance, without knowledge of the actual sequence data to be examined. Let A be a multiple sequence alignment and T a phylogenetic tree with edge lengths ω, on X . Also, we will assume that some fixed model of evolution M is given. The posterior probability of T can be obtained from the prior probability of T with the help of the likelihood P (A | T ) = P (A | T, ω, M ) using Bayes’ Theorem: Theorem 5.16.1 (Bayes’ Theorem) P (T | A) = P (A | T ) × P (T ) . P (A) The posterior probability P (T | A) can be interpreted as the probability that the tree T is correct, given the data. In the simplest case, all trees on X are considered to be equally probable and then the prior distribution is called a flat prior. In the case of a flat prior, the posterior probability P (T | A) is proportional to the likelihood P (A | T ) (computed under the model M ) and the maximum likelihood tree also has maximum posterior probability. The maximum posterior probability over all trees is usually very low, if we think of tree space as a discrete sample space. In Bayesian tree inference the goal is not to determine a single phylogentic tree of maximum posterior probability, but rather to compute a sample of phylogenetic trees according to the posterior probability distribution of trees. Such a sample of trees is then processed further, for example, to generate a single “consensus tree” (as described later) and then to label the clusters in such a tree by their posterior probabilities. The expression for the posterior probability given by Bayes’ Theorem looks quite simple and we can efficiently compute P (A | T ) using Felsensteins algorithm, as described in in the context of maximum likelihood. However, it is usually impossible to solve the complete expression analytically, as computation of the normalizing factor P (A) usually involves summing over all possible phylogenetic tree topologies T 0 and integrating over all possible edge lengths ω and model parameters µ (of the given model M ): P (T | A) = P (A | T )P (T ) P (A | T )P (T ) =P , 0 0 P (A) T 0 P (A | T )P (T ) where 0 Z Z P (A | T ) = ω P (A | T 0 , ω, µ)P (ω, µ)dµdω. µ To avoid this problem, Bayesian inference employs the Markov chain Monte Carlo (MCMC) approach, which is based on the idea of sampling from the posterior probability distribution using a suitably constructed chain of results. 92 Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 This is a general approach that is used in a wide range of applications. In the context of phylogenetic tree reconstruction, the MCMC approach constructs a chain of phylogenetic trees. At each step, a modification of the current phylogenetic tree is proposed and then a probabilistic decision is made whether to “accept” the newly proposed phylogenetic tree or whether to keep the current one. 5.16.1 Metropolis-Hastings algorithm Algorithm 5.16.2 (Metropolis-Hastings) Let Ti be the phylogenetic tree at position i of the MCMC chain and let T 0 be a proposed modification of Ti . Using what is called the Metropolis-Hastings algorithm, the decision whether to accept T 0 or to keep Ti is based on the ratio of the posterior probabilities of the two trees, which is given by R= P (T 0 | A) P (A | T 0 )P (T 0 )P (A) P (A | T 0 )P (T 0 ) = = . P (Ti | A) P (A | Ti )P (Ti )P (A) P (A | Ti )P (Ti ) Note that the normalizing factor P (A), which is so difficult to compute, cancels out and this expression is much easier to calculate than the actual posterior probability of either Ti or T 0 . Based on R, we accept the proposed phylogenetic tree T 0 with probability min(1, R). In other words, we always accept T 0 , if it has a better posterior probability than Ti , and otherwise we draw a random number p uniformly from the interval [0, 1] and accept the tree T 0 if p < R, and reject T 0 , otherwise. Acceptance means that we set Ti+1 = T 0 , whereas rejection implies Ti+1 = Ti . The aim is to produce an MCMC chain M of bifurcating phylogenetic trees that has the property that the stationary distribution of the trees (including the parameters ω and µ) in the chain equals the posterior probability distribution of the trees (again, including ω and µ). One can show that, by construction, the decision rule described above implies that the number of times that a phylogenetic tree T occurs in M is a valid approximation of the posterior probability of that tree. 5.16.2 Practical issues For this approach to work well in practice, a number of issues must be taken into account. • First, the mechanism for modifying the current phylogenetic tree must be designed with care. On the one hand, the suggested changes should be quite small so as to avoid a drastic drop in posterior probability. On the other hand, the modifications should be large enough so as to ensure that M is able to explore a sufficient portion of parameter space in a reasonable amount of time. • Second, as the MCMC chain M starts at a random location in parameter space, usually of very low posterior probability, the chain must be allowed to burn in, that is, it must be given time to reach stationarity, a state in which the chain is actually sampling from the posterior probability. In practice, the first 10,000 elements of M, say, are excluded from further analysis. • Third, trees that are close to each other in the MCMC chain M are highly correlated by construction, as they differ only by small modifications. To avoid this problem of autocorrelation, the final set of output trees is obtained by sparsely sampling M, retaining only every 1,000-th tree, say. Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 5.16.3 93 The local algorithm What types of modifications are used in practice? Branch-swapping methods such as NNI (nearest neighbor interchange), SPR (subtree prune and regraft) and TBR (tree bisection and reattachment) are used in the context of maximum parsimony and maximum likelihood methods to search through the space of phylogenetic tree topologies. For the purposes of constructing an MCMC chain we need to couple such an approach with a method for proposing modifications of edge lengths and parameters of the evolutionary model. We will now describe one approach that is used in practice called the local algorithm, which is a modification of the NNI method. The algorithm starts by choosing an internal edge (v, w) of the current phylogenetic tree Ti at random. As we assume that Ti is bifurcating, both of the nodes v and w are each connected to two further nodes, which we will randomly label a and b for v, and c and d for w, respectively. Let x, y and z denote the distance from a to v, w and d, respectively, as obtained by adding the edge lengths ω of the edges from a to v, v to w, and w to d, appropriately. Here we show a phylogenetic tree before and after a modification by the local algorithm: 0 x y z a v w d b c 0 −→ y' x' z' a w v d c b The distance z from node a to node d is modified by a randomly chosen factor to a new value of z 0 . In this example, the node w is moved by a random amount along the path from a to d, whereas the relative position of node v on the path from a to d is not changed. 5.16.4 Details of the local algorithm The local algorithm changes the length of the path from a to d and modifies the positions of v and w in that path. Here are some details: • First define the new distance from a to d as z 0 = z × ep−0.5 , where p is a random number uniformly chosen from the interval (0, 1). The lengths of edges on the path from a to d will be modified so that the distance from a to d will be z 0 . • Second, randomly decide with equal odds whether node v or node w is to be moved by a random amount. If we decide to move node v, then define x0 = q × z 0 and y 0 = y × z 0 /z. Otherwise, define x0 = x × z 0 /z and y 0 = q × z 0 . In both cases, q is a random number uniformly chosen from the interval (0, 1). • Third, to reposition the nodes v and w according to the values just chosen, remove the two nodes v and w from the path connecting a to d and then reinsert them into the path at distances x0 and y 0 from a, respectively. If x0 < y 0 , then the local algorithm does not result in a change of the current tree topology. In 94 Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 this case, only the lengths of the edges from a to v, v to w, and w to d change. In more detail, we set ω(a, v) = x0 , ω(v, w) = y 0 − x0 and ω(w, d) = z 0 − y 0 . If x0 > y 0 , then the modifications result is a new topology in which a and w, w and v, and v and d, respectively, are both connected by an edge. In this case, the edge lengths are ω(a, w) = y 0 , ω(w, v) = x0 − y 0 and ω(v, d) = z 0 − x0 . Simple parameters of the evolutionary model, such as the mutation rate µ in the Jukes-Cantor model, are modified by adding a random number uniformly chosen from an appropriate interval centered at 0. For a set of parameters that is constrained to sum to some specific value, such as 1 in the case of probabilities, the values are randomly modified according to a so-called “Dirichlet distribution”. A proposal for modifying the tree and a proposal for new values for all parameters of the specified evolutionary model are generated independently and simultaneously, and then accepted or rejected together in in a single application of the ratio-based decision step of the Metropolis-Hasting algorithm. 5.16.5 Metropolis-coupled Markov chain Monte Carlo It is important that the MCMC chain M is given the opportunity to visit all relevant parts of parameter space. In consequence, the larger the number of taxa is, and the more parameters the evolutionary model M has, the longer the chain must be run. A popular approach for exploring more of parameter space in less time is to use a variant of MCMC called Metropolis-coupled Markov chain Monte Carlo, or (MC 3 ), for short. In this approach k different MCMC chains M1 , . . . , Mk are run in parallel. The first chain M1 is called the cold chain and this is the one from which inferences will be made. The other k − 1 chains are called heated chains. Each of the heated chains aims at sampling from a posterior probability distribution raised to a power of β > 1. Heating a chain has the effect of “flattening out” the probability landscape and the hope is that a heated chain will be able to move more freely through parameter space. For example, in a strategy called incremental heating, the i-th chain Mi aims at sampling from the distribution P (T | A)β(i) , with 1 β(i) = , 1 + (i − 1)t where t is a user-specified heating parameter. After all k chains have moved one step, a swap of states is proposed between two randomly chosen chains Mi and Mj , using a Metropolis-like algorithm. Let Ti denote the current state of chain Mi , for all i = 1, . . . , k. (Here, by current state we mean the total state consisting of the current tree T , the current length parameters ω and the current model parameters µ.) A swap between Mi and Mj is accepted with probability P (Tj | A)β(i) P (Ti | A)β(j) α= . P (Ti | A)β(i) P (Tj | A)β(j) The main idea is that the heated chains act as “scouts” exploring the parameter space and that swapping will occasionally help the cold chain to move to a new part of the space which it would otherwise have difficulty reaching because of a deep valley in the original distribution. At the end of the run, the heated chains are discarded and the cold chain is then processed as described above. 5.16.6 Outlook A major challenge is how do we determine whether an MCMC chain M has been run long enough so that that chain has converged, that is, it provides a good approximation of the posterior distribution of trees. A simple approach is to monitor the likelihood of the phylogenetic trees added to M and to Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 95 assume that convergence has occurred once there is no further increase in likelihood. A more reliable approach may be to use multiple MCMC chains in parallel and to keep them running until they appear to be sampling from the same distribution. One of the main attractions of Bayesian inference is that it produces a distribution of phylogenetic trees rather than a point estimate, in many cases using less time than a maximum-likelihood analysis followed by a bootstrap analysis. Areas of on-going research are how to ensure convergence and also how to choose appropriate prior distributions. 96 5.17 Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 Consensus trees In most practical phylogenetic studies, a whole collection of different phylogenetic trees is computed for the set of taxa under investigation. These might be different phylogenetic “gene trees” that were obtained from a number of different gene sequences in a multi-gene study. Or, they might be different phylogenetic trees obtained from the same multiple sequence alignment using different inference methods, such as maximum-parsimony, maximum-likelihood and so forth. Yet another possibility is that the collection of phylogenetic trees was obtained using a method that produces multiple trees, such as Bayesian inference. In all such cases, one may want to treat the different phylogenetic trees as different estimations of the same underlying “true” tree and then a “consensus method” can be used to construct a “consensus tree” that represents those parts of the evolutionary history on which the different phylogenetic trees agree on, in some sense. Although consensus methods can be formulated for rooted phylogenetic trees, such methods are less commonly used, probably because most tree inference methods produce unrooted trees, and also perhaps because the location of the roots in the input trees may affect the resulting consensus tree too much. We will discuss the two most important consensus methods for unrooted phylogenetic trees, namely the strict consensus and the majority consensus. But first we must introduce the important concept of a split. 5.17.1 Trees and splits Any edge e of a phylogenetic tree T defines a split S = A|A¯ on X, that is, a bipartition of X into two non-empty sets A and A, consisting of all taxa on the one side and the other side of e, respectively. t1 t8 t2 For example: t3 e t4 t7 t6 t5 Here, A = {t3 , t4 , t5 } and A = {t1 , t2 , t6 , t7 , t8 }. We will use Σ(T ) to denote the split encoding of T , i.e. the set of all splits obtained from T . Here is an unrooted phylogenetic tree and its split encoding: b a c e d (a) Unrooted tree T {a} | {b, c, d, e} {b} | {a, c, d, e} {c} | {a, b, d, e} {d} | {a, b, c, e} {e} | {a, b, c, d} {a, b} | {c, d, e} {a, b, e} | {c, d} (b) Split encoding Σ(T ). For a given set tree it is easy to write down all splits. But, given a set of splits, how to decide whether it comes from some tree? Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 97 Definition 5.17.1 (Compatible splits) Two split S1 = A1 |A¯1 and S2 = A2 |A¯2 on X are called compatible, if one of the folowing four possible intersections of split parts is empty: A1 ∩ A2 , A1 ∩ A¯2 , A¯1 ∩ A2 or A¯1 ∩ A¯2 . A set of splits Σ on X is called compatible, if all pairs of splits in Σ are compatible. Theorem 5.17.2 (Buneman, 1971) A set of splits Σ on X (that contains all trivial splits) is compatible, if and only if there exists a phylogenetic tree T on X with Σ = Σ(T ). 5.17.2 Strict consensus Let X be a set of taxa and assume that we are given a collection of phylogenetic trees T = (T1 , . . . , Tk ) on X . Let Σstrict denote the set of all splits that occur in every input tree, that is, we define \ Σstrict = Σ(T ). T ∈T We call this the set of strict consensus splits of the collection of phylogenetic trees T . The strict consensus tree is the (unique) phylogenetic tree Tstrict for which Σ(Tstrict ) = Σstrict holds. It can be obtained from any tree in T by contracting every edge whose split is not contained in Σstrict . In practice, the strict consensus tree may be quite unresolved, often being very close to the “star tree”, which consists of one central node incident to all leaf edges. The “majority consensus” is usually more informative. 5.17.3 Majority consensus Let Σmajority denote the set of majority consensus splits, that is, the set of all splits that occur in more than half of all trees in T , formally defined as k Σmajority = S : |{T ∈ T : S ∈ Σ(T )}| > . 2 By the pigeon-hole principle, any two splits S1 and S2 that are contained in Σmajority will also occur in some input tree together, and thus they are compatible. Thus, there exists a unique phylogenetic tree Tmajority corresponding to Σmajority , which is called the majority consensus tree. Here are four unrooted phylogenetic trees on X = {a, b, c, d, e, f } and the corresponding strict and majority consensus trees: c d d d c c d c e b e b e b b e f a f f a a a f (a) Tree T1 (b) Tree T2 c (c) Tree T3 d (d) Tree T4 c d e e b b f a (e) Strict consensus Tstrict a f (f) Majority consensus Tmajority 98 Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 5.18 Rooted phylogenetic networks Rooted phylogenetic trees can be generalized to “rooted phylogenetic networks”: Definition 5.18.1 (Rooted phylogenetic network) Let X be a set of taxa. A rooted phylogenetic network N = (V, E, λ) on X consists of a directed graph G = (V, E) and a node labeling λ : X → V such that: 1. The graph G is a directed, acyclic graph (DAG). 2. The graph G is rooted, that is, it has precisely one node ρ of indegree 0. 3. The node labeling λ assigns a label to each leaf of G. We will usually assume that the network does not contain any node that is suppressible, in other words, is an unlabeled node with indegree 1 and outdegree 1. In addition we will usually assume that the taxon labeling λ is a bijection between the taxon set X and the set of leaves of N . Note: a rooted DAG is always connected. In the the rooted phylogenetic network N depicted below, the leaves are labeled by taxa a,. . . ,i, the root node is ρ, there are two reticulate nodes labeled r and s, and all other nodes are tree nodes. Reticulate edges are shown in gray. The node labeled v is suppressible. All tree nodes except the node labeled w are bifurcations. The reticulation node r is a bicombination, whereas s is not. ½ v w s r a b c d e f g h i Here is a summary of all the types of nodes and edges that we would like to distinguish among: Definition 5.18.2 (Types of nodes and edges) Let N be a rooted phylogenetic network on a taxon set X . 1. The one node with indegree 0 is called the root. 2. A node with outdegree 0 is called a leaf node. 3. A node with at most one in-edge is called a tree node. 4. Any edge leading to a tree node is called a tree edge. 5. A node with at least two in-edges is called a reticulate node or a reticulation. 6. Any edge leading to a reticulate node is called a reticulate edge. 7. A node with exactly two out-edges is called a bifurcation. 8. A node with exactly two in-edges is called a bicombination. Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 5.19 99 Representing trees in rooted networks Let T = {T1 , T2 , . . . , Tm } be a collection of rooted phylogenetic trees on some taxon set X . For example, these might be the result of a multiple gene analysis or they might be different estimations of a single gene-based phylogeny. In practice, such a collection of trees is often combined into a consensus tree T¯ that is interpreted as representing the parts of the evolutionary history upon which the different trees agree. An alternative idea is to use a rooted phylogenetic network N to represent T in the following sense: Definition 5.19.1 (Rooted trees represented by a rooted network) Let N be a rooted phylogenetic network on a taxon set X . We say that a rooted phylogenetic tree T on X is represented by N , or that T is displayed by N , if T is embedded in N . We will use T (N ) to denote the set of all rooted phylogenetic trees on X that are represented by N . Below we show two rooted phylogenetic trees T1 and T2 , and then two different phylogenetic networks N1 and N2 that both represent the two trees: (a) Tree T1 : a b c d (b) Tree T2 : e f a (c) Network N1 : b c d e f (d) Network N2 : r a 5.20 b c d e f a b c d e f Recombination networks A recombination network is a rooted phylogenetic network that is used to describe the evolution of a set of closely related sequences (usually from different individuals of a population) in terms of mutations (along edges of the network), speciation or duplication events (at tree nodes) and recombination events (at reticulate nodes). In a simple recombination event, two sequences a and b of the same length L give rise to a new sequence c of length L that consists of a prefix of the sequence a and a suffix of the sequence b (or vice-versa). This is known as a single crossover event: a ACGTTGGCC AGTTGA b ccattgaat gtttca c ACGTTGGCC gtttca In a multiple crossover event, the resulting sequence c consists of a mosaic of segments from a and b. In either type of event, the character state ci is either ai or bi for every position i = 1, . . . , L of the sequence c. 100 5.20.1 Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 Definition of a recombination network Definition 5.20.1 (Recombination network) Let M be a multiple alignment of sequences of length L, on X . A recombination network N representing M is given by a bicombining rooted phylogenetic network on X , together with two additional labellings: 1. Each node v of N is labeled by a sequence σ(v) of length L. 2. Each tree edge e is labeled by a set of positions δ(e) ⊆ {1, . . . , L}. These two labellings must fulfill the following compatibility conditions: 1. The sequence σ(v) assigned to any leaf v must equal the sequence in M that is given for the taxon associated with v. 2. If r is a reticulate node (often called a recombination node in this context) with parents v and w, then the sequence σ(r) must be obtainable from the two sequences σ(v) and σ(w) by a crossover. 3. If e = (v, w) is a tree edge, then the set of positions at which the two sequences σ(v) and σ(w) differ must equal δ(e). For computational reasons, the following condition is usually also required: (iv) Any given position may mutate at most once in the network. In other words, for any given position i there exists at most one edge e with i ∈ δ(e). The latter condition is usually referred to as the infinite sites assumption because for sequences of infinite length it holds that the probability of the same site being hit by a mutation more than once is zero, under a uniform distribution. In population studies one sometimes extends the definition of a recombination network to allow more than one root. This is necessary, for example, when different lineages are traced back to a founding population. However, we will not explore this further. Below we show (a) a multiple alignment of sequences of length five on X = {a, . . . , e} and (b) a recombination network N for M . For each node v we show the sequence σ(v) and for each edge e we show the set of positions δ(e). In this example, that set is either empty (unlabeled edges) or contains only one position (from 1 to 5): 00000 1 a 10000 b 11000 c 11100 d 00110 e 00111 3 10000 2 11000 00100 r 4 00110 11100 5 (a) Alignment M a b c d e 10000 11000 11100 00110 00111 (b) Recombination network N Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 5.20.2 101 The local-tree parsimony approach Let M be a multiple alignment of sequences of length L and let N be a corresponding recombination network, on X . Consider a position i in the alignment. For any particular reticulate node r in N the character state at position i of the sequence σ(r) is copied from exactly one of the two parents of r. In consequence, each individual character in M evolves along some rooted phylogenetic tree embedded in N . In the recombination network shown above, the first two characters evolve along the tree in which the leaf labeled c is a child of the node labeled 11000, whereas the last three characters evolve along the tree in which the leaf labeled c is a child of the node labeled 00100. So, in consequence, the evolutionary history of any sufficiently short segment of sequence is a rooted phylogenetic tree. This insight leads to the following approach: 1. Determine a suitable rooted phylogenetic tree Ti for each position i in the alignment M . We will refer to any such tree Ti as a local tree. 2. Combine all the trees into a suitable rooted phylogenetic network N . When doing this, there is trade-off to be made between the number of incompatibilities between a character and its associated local tree on the one hand, and the “recombination cost ” of switching from one tree topology to a different when going from position i to i + 1, on the other. The first part can be formulated as a dynamic programming problem (Hein, 1993). For this, define a local-tree graph G = (V, E) as follows. For each position i in M and each possible rooted tree T on X let v(i, T ) be a node in V . Any two nodes v(i, T ) and v(i + 1, T 0 ) at adjacent positions in the alignment are connected by a directed edge e = (v(i, T ), v(i + 1, T 0 )): ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (1,T1 ) (11,T2) ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... Each node in G is assigned a weight ω(v(i, T )) equal to the minimum number of substitutions required for the i-th character on the rooted tree T . Each edge e = (v(i, T ), v(i + 1, T 0 )) is assigned a weight ω(v(i, T ), v(i + 1, T 0 )) = ω(e) that reflects the “recombination distance” between T and T 0 . Now, in the local-tree graph G any path P = (v(1, T1 ), v(2, T2 ), . . . , v(L, TL )) that starts at some node v(1, T1 ) and ends at some node v(L, TL ) selects a rooted phylogenetic tree Ti for each position i in M . The total weight of such a path P is obtained by adding all node weights and all edge weights along the path: L L−1 X X W (P ) = ω(v(i, Ti )) + ω(v(i, Ti ), v(i + 1, Ti+1 )). i=1 i=1 102 Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 A most parsimonious set of trees for M is given by a path P of minimum weight W (P ), which can be computed by standard dynamic programming using the following recursion: minT 0 {W (i − 1, T 0 ) + ω((v(i − 1, T 0 ), v(i, T ))) + ω(v(i, T ))}, if i > 1, W (i, T ) = ω(v(1, T )), else. To complete the recursion we need to specify how to determine the weight of a node ω(v(i, T )) and the weight of an edge ω(v(i − 1, T 0 ), v(i + 1, T )): • The weight of a node is simply the parsimony score for the i-th character on the tree T , which can be efficiently computed using the Sankoff algorithm. • The weight of an edge is the minimum number of reticulation nodes in a rooted phylogenetic network that contains both trees T and T 0 . This problem is NP-hard problem. The described approach is not practical for three reasons. First, the number of possible rooted phylogenetic trees for n taxa is (2n − 3)!! and thus is very large even for relatively small values of n. Second, the computation of each edge weight in the graph is NP-hard. Finally, the second part of the approach, computation of a suitable rooted phylogenetic network that represents all the trees, is an NP-hard problem. Although the approach is not practical, it is conceptually appealing because it explicitly addresses the mosaic nature of aligned sequences: A long multiple sequence alignment consists of stretches of sequence that have evolved along a common rooted phylogenetic tree and these stretches are separated by crossover positions at which recombinations have occurred. Here is an illustration of the approach: 1 2 3 a 1 0 0 b 1 1 0 c 1 1 0 d 0 0 1 e 0 0 1 ... ... ... ... ... ... 4 5 6 7 8 0 1 1 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0 1 1 1 1 0 1 1 (a) Alignment M ... ... ... ... ... ... ... ... 9 0 0 1 1 1 ... 10 1 1 0 0 0 ... ... 11 1 1 1 0 0 ... ... ... ... (1,T1 ) (11,T2) ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (b) Local-trees graph G The path highlighted in bold chooses the tree T1 for the first five positions of M and then the tree T2 for the remaining six positions: Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 (c) Tree T1 : a b c 103 (d) Tree T2 : d a e b c d e (e) The resulting recombination network N : a b c d e Explaination: For the given multiple alignment M of sequences of length 11 on X = {a, b, c, d, e} we indicate the corresponding local-tree graph G. The graph has 11 columns of nodes, each column containing one node for each of the possible rooted phylogenetic trees on X . All nodes of a column are connected to all nodes of the next column by edges. The nodes and edges are weighted as described above. In this example the first five characters of M are all compatible with the tree T1 , whereas the last six characters are all compatible with the tree T2 , and so in this case a path through G that chooses T1 for the first five positions and then T2 for the remaining six positions is optimal. The depicted rooted phylogenetic network N contains both T1 and T2 and is a recombination network for M . More precisely, N is a recombination network if one adds the appropriate labeling of the nodes by sequences and edges by mutations. 5.20.3 A heuristic for the local-tree approach Let M be a multiple alignment of sequences of length L on X . We now look at a heuristic for computing a recombination network N for M that is based on the ideas just discussed (Hein, 1993). A first simplification is to use unrooted phylogenetic trees rather than rooted ones. The main simplification is to consider only a small part of the local-tree graph. The heuristic starts by computing a phylogenetic tree T from the whole dataset M using the maximum parsimony method. This tree will be used as a start tree and is assigned to position 1 of the alignment. Next, we compute the SPR-neighborhood S of T consisting of T and all phylogenetic trees that are exactly one SPR modification away from T . The main recursion of the previous section is repeatedly applied to the local-tree graph restricted to nodes that contain a tree from S until a position is reached at which a jump to a different tree T 0 in S is indicated by the recursion. We then determine the SPR-neighborhood S 0 of T 0 and continue the calculation with T 0 and S 0 in place of T and S. The heuristic algorithm considers only those trees in the local-tree graph that differ at most by one “SPR” from the current tree: 104 Bioinformatics I, WS’09-10, D. Huson, December 1, 2009 ... ... ... ... ... ... ... ... ... ... ... (1,T1 ) (11,T2) ... ... ... ... ... ... ... ... ... ... ... The resulting set of trees might depend quite strongly on the initial tree used. Hence, after completing the first pass of the algorithm, a second pass is performed in the opposite direction, using the local tree that was previously chosen for the last position of the alignment as the new start tree. This should be repeated a couple of times to completely erase any dependency on the initial choice of start tree. The final pass produces a set of local trees and breakpoint positions along the sequences that reflect the recombination history of the given set of sequences. This heuristic is an example of a general approach to studying recombination that operates by scanning along a multiple sequence alignment, building trees for local segments of the sequence and then comparing the trees in an attempt to determine recombination crossover positions. Once a set of phylogenetic trees has been constructed for the different stretches of a multiple sequence alignment M , then in a second step these trees may be combined into a recombination network to represent the evolutionary history of the data. By design, the local trees of neighboring positions will differ by at most one SPR and so in this case the calculation of a corresponding network is easier than in the general case, although it is still challenging in practice. 5.21 Summary • Phylogenetic trees are used to represent the evolutionary history of species. • They can be computed from distances using a method such as neighbor-joining. • They can be computed from a multiple alignment of sequences using a method based on maximum parsimony, maximum likelihood or the Bayesian approach. • Rooted phylogenetic networks can be used to represent multiple trees. • The local-tree approach attempts to explain the evolution of a set of sequences in the presence of recombination by finding a most parsimonious path through the local-tree graph.
© Copyright 2024