410 likes | 592 Views
Phylogenetic Trees (2) Lecture 13. Based on: Durbin et al 7.4, Gusfield 17.1-17.3, Setubal&Meidanis 6.1. Character-based methods for constructing phylogenies.
E N D
Phylogenetic Trees (2)Lecture 13 Based on: Durbin et al 7.4, Gusfield 17.1-17.3, Setubal&Meidanis 6.1 .
Character-based methodsfor constructing phylogenies In this approach, trees are constructed by comparing the characters of the corresponding species. Characters may be morphological (teeth structures) or molecular (nucleotides in homologous DNA sequences). One common approach is Maximum Parsimony Common Assumptions: • Independence of characters (no interactions) • Best tree is one where minimal changes take place
Character based methods: Input data • Each character (column) is processed independently. • The green character will separate the human and pig from frog, horse and dog. • The red character will separate the dog and pig from frog, horse and human. • We seek for a tree that will best explain all characters simultaneously.
1. Maximum Parsimony A Character-based method Input: • h sequences (one per species), all of length k. Goal: • Find a tree with the input sequences at its leaves, and an assignment of sequences to internal nodes, such that the total number of substitutions is minimized.
AAA AAA AAA 2 1 1 GGA AGA AAG AAA Total #substitutions = 4 Example Input: four nucleotide sequences: AAG, AAA, GGA, AGA taken from four species. By the parsimony principle, we seek a tree that has a minimum total number of substitutions of symbols between species and their originator in the phylogenetic tree. Here is one possible tree.
AAA AAA 1 AAA AAA AGA AAA 1 2 1 1 1 AAA AGA AGA GGA AAG GGA AAG AAA Total #substitutions = 3 Total #substitutions = 4 Example Continued There are many assignments for this tree. For example: The left tree is preferred over the right tree. The total number of changes is called the parsimony score.
Example With One Letter Sequences • Suppose we have five species, such that three have ‘C’ and two ‘T’ at a specified position • Minimal tree has only one evolutionary change: C T C T C C C T T C
Parsimony Based Reconstruction • Two separate components: • A procedure to find the minimum number of changes needed to explain the data for a given tree topology, where species are assigned to leaves. • A search through the space of trees. • We will see efficient algorithms for (1). (2) is hard.
Aardvark Bison Chimp Dog Elephant Example of Input for a Given Tree A: CAGGTA B: CAGACA C: CGGGTA D: TGCACT E: TGCGTA The tree and assignments of strings to the leaves is given, and we need only to assign strings to internal vertices.
A A/T Fitch Algorithm:Maximum Parsimony for a Given Tree Input: A rooted binary tree with characters at the leaves Output: Most parsimonious assignment of states to internal vertices Work on each position independently. Make one pass from the leaves to the root, and another pass from the root to the leaves. A A/C A T A A C
Fitch’s Algorithm, More detailed • traverse tree from leaves to root, fix a set of possible states (e.g. nucleotides) for each internal • vertex • traverse tree from root to leaves, pick a unique state for each internal vertex
Fitch’s Algorithm – Phase 1 • Do a post-order (from leaves to root) traversal of tree, assign to each vertex a set of possible states. Each leaf has a unique possible state, given by the input. • The possible states Riof internal node i with children j and k is given by:
Fitch’s Algorithm – Phase 1 TC C AGC CT GC C G T C A T Claim (to be proved soon): # of substitutions in optimal solution = # of union operations
Fitch’s Algorithm – Phase 2 • do a pre-order (from root to leaves) traversal of tree • select state rj of internal node j with parenti as follows:
Fitch’s Algorithm – Phase 2 TC The algorithm could also select C as the assignment to the root. All other assignment are unique. C AGC CT GC C G T C A T Complexity: O(nk), where n is the number of leaves and k is the number of states. For m characters the complexity is O(nmk).
Proof of Fitch’s Algorithm We’ll show that Fitch minimizes the parsimony score at every character. • Definitions: • For a leaf-labeled tree T, let T* be an optimal assignment of labels to internal nodes of T. T*(v)be the assignment at internal node. • Let Tv be the tree rooted at v.
Claim: The first phase of Fitch keeps at v the set of states S(v) such that s S(v) iff there exists an optimal assignment Tv* with Tv*(v) = s. • Proof: By induction of the tree height h. • Basis: h=1 • If both children have the same state – zero change. • Otherwise – exactly one change. A A B A A A B
Induction step: Assume correctness for height k and will prove for k+1. Let p1 and p2 be the optimal costs of the subtrees of v’s children. • If the intersection of v’s children lists is not empty, then the optimal score is p1+p2 and it can be achieved by labeling v with any member in the intersection, and only in this way. • Otherwise, the optimal score is p1+p2+1, and it can be achieved by labeling v with any member in the union of the lists, and only in this way. B A,B,C,D B,C C,D A,B A,B
Generalization: Weighted Parsimony(Sankoff’s algorithm) Weighted Parsimony score: • Each change is weighted by a score c(a,b). • The weighted parsimony score reduces to the parsimony score when c(a,a)=0 and c(a,b)=1 for all b other than a.
i k j Weighted Parsimony on a Given Tree Each position is independent and computed by itself. Use Dynamic programming. • if i is a node with children j and k, then S(i,a) = minb(S(j,b)+c(a,b)) + minb’(S(k,b’)+c(a,b’)) S(j,b)the optimal score of a subtree rooted at j when j has the character b. S(i,a) S(j,b) S(k,b’)
Evaluating Parsimony Scores Dynamic programming on a given tree Initialization: • For each leaf i set S(i,a) = 0 if i is labeled by a, otherwise S(i,a) = Iteration: • if iis node with children j and k, then S(i,a) = minx(S(j,x)+c(a,x)) + miny(S(k,y)+c(a,y)) Termination: • cost of tree is minxS(r,x) where r is the root Comment: To reconstruct an optimal assignment, we need to keep in each node i and for each character a two characters x, y that minimize the cost when i has character a.
Cost of Evaluating Parsimony for binary trees For a tree with n nodes and a single character with k values, the complexity is O(nk2). When there are m such characters, it is O(nmk2).
2. Finding the right tree:The Perfect Phylogeny Problem Recall the general problem: Input: A set of species, specified by strings of characters. Output: A tree T, and assignment of species to the leaves of T, with minimum parsimony score. A restricted variant of this problem is the Perfect Phylogeny problem. The algorithms of Fitch and Sankoff assume that the tree is known. Finding the optimal tree is harder.
2. The Perfect Phylogeny Problem Basic assumption for the perfect phylogeny problem: A character is a significant property, which distinguishes between species (e.g. dental structure). Hence, characters in evolutionary trees should be “Homoplasy free”, as we define next.
Homoplasy-free characters 1 Characters in Phylogenetic Trees should avoid:reversal transitions • A species regains a state it’s direct ancestor has lost. • Famous known reversals: • Teeth in birds. • Legs in snakes.
Homoplasy-free characters 2 …and also avoidconvergence transitions • Two species possess the same state while their least common ancestor possesses a different state. • Famous known convergence: The marsupials.
Characters as Colorings A coloring of a tree T=(V,E) is a mapping C:V [set of colors] A partial coloring of T is a mapping defined on a subset of the vertices U V: C:U [set of colors] U=
Each character defines a (partial) coloring of the corresponding phylogenetic tree: Characters as Colorings (2) Species ≡ VerticesStates ≡ Colors
Convex Colorings (and Characters) Let T=(V,E) be a colored tree, and d be a color. The d-carrier is the minimal subtree of T containing all vertices colored d Definition: A (partial/total) coloring of a tree is convex iff all d-carriers are disjoint C
Convexity Homoplasy Freedom A character is Homoplasy free (avoids reversal and convergence transitions) ↕ The corresponding (partial) coloring is convex
The Perfect Phylogeny Problem • Input: a set of species, and many characters. • Question: is there a tree T containing the species as vertices, in which all the characters (colorings) are convex?
RRB BBR RRR RBR The Perfect Phylogeny Problem(pure graph theoretic setting) Input: Partial colorings (C1,…,Ck) of a set of vertices U (in the example: 3 total colorings: left, center, right, each by two colors). Problem: Is there a tree T=(V,E), s.t. UV and for i=1,…,k,, Ci is a convex (partial) coloring of T? NP-Hard In general, in P for some special cases. Next we show a polynomial time algorithm for the case of binary characters.
Perfect Phylogeny for directed binary characters Input: a matrix where rows correspond to objects (species), columns to characters. Each character has two states: 0 (non exists) or 1 (exists). WLOG for each character there is a species which possesses it. Question: Is there a perfect phylogeny tree for the given species, in which all the characters have value 0 at some specified internal vertex (the root). (00000) E B (01000) D (00100) (00110) A C (11000) (11001)
Perfect Phylogeny for directed binary characters By the definition, for each character C there is one edge in which it is converted from 0 to 1. In the below tree, the edge on which character C2 is converted to 1 is marked. The resulted tree is convex for this character. 0 C2 E B 1 D 0 0 A C 1 1
Directed Perfect Phylogeny for a 0-1 Matrix Proof of the observation (sketch): we need to show that: [I and II hold] [each character is convex on T]. [I and II hold] for each character C there is one edge in which it is converted from 0 to 1 the species of each character C induces a connected subtree of T. the edge on which character C2 is converted to 1 C2 E B D A C
C2 C3 C1 C4 E D B C5 A C The directed, binary Perfect Phylogeny Problem A tree is a directed perfect phylogeny for a given 0-1 matrix M iff we can map each character to an edge s.t. edge labeled by Ci represent changing character Ci’sstate from 0 to 1. Below we show such a tree for the given matrix:
Efficient algorithm for the Binary Perfect Phylogeny Problem Definition: Given a 0-1 matrix M, Ok={j:Mjk=1}, ie: Ok is the set of objects that have character Ck. Theorem: M has a directed perfect phylogenetic tree iff the sets {Oi} are laminar, ie: for all i, j, either Oi and Oj are disjoint, or one includes the other. Laminar Not Laminar
Proof : Assume M has a directed perfect phylogeny, and let i, j be given. Consider the edges labeled i and j. Case 1: There is a root to leaf path containing both edges. Then one is included in the other (C2 and C1 below). Case 2: not case 1. Then they are disjoint (C2 and C3). C2 C3 C1 C4 E D B C5 A C
C1 B A Proof (cont.) : Assume for all i, j, either Oi and Oj are disjoint, or one includes the other. We prove by induction on the number of characters that M has a perfect phylogenetic tree for the matrix. Basis: one character. Then there are at most two objects, one with and one without this character.
Proof (cont.) : Induction step: Assume correctness for n-1 characters, and consider a matrix with n characters (non-zero columns). WLOG assume that O1 is not contained in Oj for j > 1. Let S1 be the set of objects j for which Mj1= 1, and S2 be the remaining objects. Then for each character C, either all the objects possessing C are contained in S1, or all of them are contained in S2 (prove!). By induction there are trees T1 andT2 for S1 and S2. Combining them as below gives the desired tree. S1={A,C,E} S2={B,D} 1 T1 T2