CSCI2950-C Lecture 7 Molecular Evolution and Phylogeny

Slides:



Advertisements
Similar presentations
Phylogenetic Tree A Phylogeny (Phylogenetic tree) or Evolutionary tree represents the evolutionary relationships among a set of organisms or groups of.
Advertisements

. Phylogenetic Trees (2) Lecture 13 Based on: Durbin et al 7.4, Gusfield , Setubal&Meidanis 6.1.
. Class 9: Phylogenetic Trees. The Tree of Life Evolution u Many theories of evolution u Basic idea: l speciation events lead to creation of different.
. Intro to Phylogenetic Trees Lecture 5 Sections 7.1, 7.2, in Durbin et al. Chapter 17 in Gusfield Slides by Shlomo Moran. Slight modifications by Benny.
Parsimony based phylogenetic trees Sushmita Roy BMI/CS 576 Sep 30 th, 2014.
. Phylogenetic Trees (2) Lecture 13 Based on: Durbin et al 7.4, Gusfield , Setubal&Meidanis 6.1.
Molecular Evolution and Phylogenetic Tree Reconstruction
Phylogenetics - Distance-Based Methods CIS 667 March 11, 2204.
Phylogenetic trees Sushmita Roy BMI/CS 576 Sep 23 rd, 2014.
Molecular Evolution Revised 29/12/06
Tree Reconstruction.
Problem Set 2 Solutions Tree Reconstruction Algorithms
. Phylogeny II : Parsimony, ML, SEMPHY. Phylogenetic Tree u Topology: bifurcating Leaves - 1…N Internal nodes N+1…2N-2 leaf branch internal node.
Phylogeny Tree Reconstruction
. Distance-Based Phylogenetic Reconstruction ( part II ) Tutorial #11 © Ilan Gronau.
CISC667, F05, Lec15, Liao1 CISC 667 Intro to Bioinformatics (Fall 2005) Phylogenetic Trees (II) Distance-based methods.
. Class 9: Phylogenetic Trees. The Tree of Life D’après Ernst Haeckel, 1891.
Phylogeny Tree Reconstruction
Introduction to Bioinformatics Algorithms Molecular Evolution.
. Comput. Genomics, Lecture 5b Character Based Methods for Reconstructing Phylogenetic Trees: Maximum Parsimony Based on presentations by Dan Geiger, Shlomo.
Distance-Based Phylogenetic Reconstruction Tutorial #8 © Ilan Gronau, edited by Itai Sharon.
Building Phylogenies Distance-Based Methods. Methods Distance-based Parsimony Maximum likelihood.
Phylogenetic Trees Lecture 2
. Phylogenetic Trees (2) Lecture 12 Based on: Durbin et al Section 7.3, 7.8, Gusfield: Algorithms on Strings, Trees, and Sequences Section 17.
. Phylogenetic Trees Lecture 11 Sections 7.1, 7.2, in Durbin et al.
Phylogenetic trees Sushmita Roy BMI/CS 576
. Phylogenetic Trees Lecture 11 Sections 7.1, 7.2, in Durbin et al.
9/1/ Ultrametric phylogenies By Sivan Yogev Based on Chapter 11 from “Inferring Phylogenies” by J. Felsenstein.
Phylogenetics Alexei Drummond. CS Friday quiz: How many rooted binary trees having 20 labeled terminal nodes are there? (A) (B)
Phylogenetic Analysis. General comments on phylogenetics Phylogenetics is the branch of biology that deals with evolutionary relatedness Uses some measure.
BINF6201/8201 Molecular phylogenetic methods
Bioinformatics 2011 Molecular Evolution Revised 29/12/06.
Parsimony-Based Approaches to Inferring Phylogenetic Trees BMI/CS 576 Colin Dewey Fall 2010.
Phylogenetics II.
Introduction to Bioinformatics Algorithms Molecular Evolution.
Molecular Evolution.
Building phylogenetic trees. Contents Phylogeny Phylogenetic trees How to make a phylogenetic tree from pairwise distances  UPGMA method (+ an example)
Introduction to Phylogenetics
Introduction to Bioinformatics Algorithms Clustering and Molecular Evolution.
Calculating branch lengths from distances. ABC A B C----- a b c.
Using traveling salesman problem algorithms for evolutionary tree construction Chantal Korostensky and Gaston H. Gonnet Presentation by: Ben Snider.
Evolutionary tree reconstruction (Chapter 10). Early Evolutionary Studies Anatomical features were the dominant criteria used to derive evolutionary relationships.
Ch.6 Phylogenetic Trees 2 Contents Phylogenetic Trees Character State Matrix Perfect Phylogeny Binary Character States Two Characters Distance Matrix.
Evolutionary tree reconstruction
More statistical stuff CS 394C Feb 6, Today Review of material from Jan 31 Calculating pattern probabilities Why maximum parsimony and UPGMA are.
Parsimony-Based Approaches to Inferring Phylogenetic Trees BMI/CS 576 Colin Dewey Fall 2015.
Phylogenetic trees Sushmita Roy BMI/CS 576 Sep 23 rd, 2014.
1 Alignment Matrix vs. Distance Matrix Sequence a gene of length m nucleotides in n species to generate an… n x m alignment matrix n x n distance matrix.
Tutorial 5 Phylogenetic Trees.
Distance-Based Approaches to Inferring Phylogenetic Trees BMI/CS 576 Colin Dewey Fall 2010.
Distance-based methods for phylogenetic tree reconstruction Colin Dewey BMI/CS 576 Fall 2015.
CSCE555 Bioinformatics Lecture 13 Phylogenetics II Meeting: MW 4:00PM-5:15PM SWGN2A21 Instructor: Dr. Jianjun Hu Course page:
Phylogenetic Analysis
Molecular Evolution and Phylogeny
Phylogenetic basis of systematics
Distance based phylogenetics
dij(T) - the length of a path between leaves i and j
Inferring a phylogeny is an estimation procedure.
Character-Based Phylogeny Reconstruction
Multiple Alignment and Phylogenetic Trees
CSE 5290: Algorithms for Bioinformatics Fall 2009
CSE 5290: Algorithms for Bioinformatics Fall 2011
The Tree of Life From Ernst Haeckel, 1891.
Phylogenetic Trees.
Clustering.
Molecular Evolution.
CSCI2950-C Lecture 8 Molecular Phylogeny: Parsimony and Likelihood
Lecture 7 – Algorithmic Approaches
Phylogeny.
Clustering.
Presentation transcript:

CSCI2950-C Lecture 7 Molecular Evolution and Phylogeny http://cs.brown.edu/courses/csci2950-c/

Early Evolutionary Studies Anatomical features were the dominant criteria used to derive evolutionary relationships between species since Darwin till early 1960s The evolutionary relationships derived from these relatively subjective observations were often inconclusive. Some of them were later proved incorrect

Evolutionary Trees from DNA analysis For roughly 100 years scientists were unable to figure out which family the giant panda belongs to Giant pandas look like bears but have features that are unusual for bears and typical for raccoons, e.g., they do not hibernate In 1985, Steven O’Brien and colleagues solved the giant panda classification problem using DNA sequences and algorithms

Out of Africa Hypothesis DNA-based reconstruction of the human evolutionary tree led to the Out of Africa Hypothesis that claims our most ancient ancestor lived in Africa roughly 200,000 years ago http://www.becominghuman.org 1 2 3 4 5

Human Evolutionary Tree http://www.mun.ca/biology/scarr/Out_of_Africa2.htm

The Origin of Humans: ”Out of Africa” vs Multiregional Hypothesis Humans evolved in the last two million years as a single species. Independent appearance of modern traits in different areas Humans migrated out of Africa mixing with other humanoids on the way Out of Africa: Humans evolved in Africa ~150,000 years ago Humans migrated out of Africa, replacing other humanoids around the globe

Evolutionary Tree of Humans (mtDNA) African population is the most diverse (sub-populations had more time to diverge) Evolutionary tree separates one group of Africans from a group containing all five populations. Tree rooted on branch between groups of greatest difference. Vigilant, Stoneking, Harpending, Hawkes, and Wilson (1991)

Evolutionary Tree of Humans: (microsatellites) Neighbor joining tree for 14 human populations genotyped with 30 microsatellite loci.

Outline Constructing Phylogenetic Trees Distance-based Methods Additive distances 4 Point condition UPGMA & Neighbor joining Parsimony-based methods Sankoff + Fitch’s algorithms

Phylogenetic Trees How are these trees built from DNA sequences? 1 4 3 2 5 Leaves represent existing species Internal vertices represent ancestors Root represents the oldest evolutionary ancestor

Rooted and Unrooted Trees In the unrooted tree the position of the root (“oldest ancestor”) is unknown. Otherwise, they are like rooted trees

Phylogenetic Trees How are these trees built from DNA sequences? 1 4 3 2 5 Methods Distance Parsimony Minimum number of mutations Likelihood Probabilistic model of mutations

Distances in Trees Edges may have weights reflecting: Number of mutations on evolutionary path from one species to another Time estimate for evolution of one species into another In a tree T, we often compute dij(T) - the length of a path between leaves i and j dij(T) – tree distance between i and j

Distance in Trees: an Example j d1,4 = 12 + 13 + 14 + 17 + 13 = 69

Distance Matrix n x n distance matrix Dij for n species Example: Dij = edit distance between a gene in species i and species j. Dij – edit distance between i and j Rat: ACAGTGACGCCCCAAACGT Mouse: ACAGTGACGCTACAAACGT Gorilla: CCTGTGACGTAACAAACGA Chimpanzee: CCTGTGACGTAGCAAACGA Human: CCTGTGACGTAGCAAACGA

Edit Distance vs. Tree Distance n x n distance matrix Dij for n species Example: Dij = edit distance between a gene in species i and species j, where edit distance = # of “mutations” to convert string i to string j Dij – edit distance between i and j Note the difference with dij(T) – tree distance between i and j Rat: ACAGTGACGCCCCAAACGT Mouse: ACAGTGACGCTACAAACGT Gorilla: CCTGTGACGTAACAAACGA Chimpanzee: CCTGTGACGTAGCAAACGA Human: CCTGTGACGTAGCAAACGA

Fitting Distance Matrix Given n species, we can compute the n x n distance matrix Dij Evolution of these genes is described by a tree that we don’t know. We need an algorithm to construct a tree that best fits the distance matrix Dij Unknown topology of tree makes evolutionary tree reconstruction hard! # unrooted binary trees n leaves = (2n-3)! / ((n-2)! 2n-2) n = 24: 5.74 x 1026

Fitting Distance Matrix Fitting means Dij = dij(T) Lengths of path in an (unknown) tree T Edit distance between species (known)

Reconstructing a 3 Leaved Tree Tree reconstruction for any 3x3 matrix is straightforward We have 3 leaves i, j, k and a center vertex c Observe: dic + djc = Dij dic + dkc = Dik djc + dkc = Djk

Reconstructing a 3 Leaved Tree (cont’d) dic + djc = Dij + dic + dkc = Dik 2dic + djc + dkc = Dij + Dik 2dic + Djk = Dij + Dik dic = (Dij + Dik – Djk)/2 Similarly, djc = (Dij + Djk – Dik)/2 dkc = (Dki + Dkj – Dij)/2

Trees with > 3 Leaves A binary tree with n leaves has 2n-3 edges Titting a given tree to a distance matrix D requires solving a system: n(n-1)/2 equations and 2n-3 variables This is not always possible to solve for n > 3

Additive Distance Matrices Matrix D is ADDITIVE if there exists a tree T with dij(T) = Dij NON-ADDITIVE otherwise

Reconstructing Additive Distances Given T x T D y 5 4 v w x y z 10 17 16 15 14 9 3 z 3 4 7 w 6 v If we know T and D, but do not know the length of each edge, we can reconstruct those lengths

Reconstructing Additive Distances Given T x T D y v w x y z 10 17 16 15 14 9 z w v

Reconstructing Additive Distances Given T x v w x y z 10 17 16 15 14 9 Find neighbors v, w (common parent) y D z a w v a x y z 11 10 9 15 14 dax = ½ (dvx + dwx – dvw) day = ½ (dvy + dwy – dvw) D1 daz = ½ (dvz + dwz – dvw)

Reconstructing Additive Distances Given T x a x y z 11 10 9 15 14 Neighbors x, y (common parent) y 5 4 D1 b 3 z 3 a 7 c 4 w 6 d(a, c) = 3 d(b, c) = d(a, b) – d(a, c) = 3 d(c, z) = d(a, z) – d(a, c) = 7 d(b, x) = d(a, x) – d(a, b) = 5 d(b, y) = d(a, y) – d(a, b) = 4 d(a, w) = d(z, w) – d(a, z) = 4 d(a, v) = d(z, v) – d(a, z) = 6 Correct!!! v a b z 6 10 D3 D2 a c 3

Distance Based Phylogeny Problem Goal: Reconstruct an evolutionary tree from a distance matrix Input: n x n distance matrix Dij Output: weighted tree T with n leaves fitting D If D is additive, this problem has a solution and there is a simple algorithm to solve it

Using Neighboring Leaves to Construct the Tree Find neighboring leaves i and j with parent k Remove the rows and columns of i and j Add a new row and column corresponding to k, where the distance from k to any other leaf m can be computed as: Dkm = (Dim + Djm – Dij)/2 Compress i and j into k, iterate algorithm for rest of tree

Finding Neighboring Leaves To find neighboring leaves we simply select a pair of closest leaves.

Finding Neighboring Leaves To find neighboring leaves we simply select a pair of closest leaves. WRONG

Finding Neighboring Leaves Closest leaves aren’t necessarily neighbors i and j are neighbors, but (dij = 13) > (djk = 12) Finding a pair of neighboring leaves is a nontrivial problem!

Degenerate Triples A degenerate triple is a set of three distinct elements 1≤i,j,k≤n where Dij + Djk = Dik Element j in a degenerate triple i,j,k lies on the evolutionary path from i to k (or is attached to this path by an edge of length 0).

Looking for Degenerate Triples If distance matrix D has a degenerate triple i,j,k then j can be “removed” from D thus reducing the size of the problem. If distance matrix D does not have a degenerate triple i,j,k, one can “create” a degenerative triple in D by shortening all hanging edges (in the tree).

Shortening Hanging Edges to Produce Degenerate Triples Shorten all “hanging” edges (edges that connect leaves) until a degenerate triple is found

Finding Degenerate Triples If there is no degenerate triple, all hanging edges are reduced by the same amount δ, so that all pair-wise distances in the matrix are reduced by 2δ. Eventually this process collapses one of the leaves (when δ = length of shortest hanging edge), forming a degenerate triple i,j,k and reducing the size of the distance matrix D. The attachment point for j can be recovered in the reverse transformations by saving Dij for each collapsed leaf.

Reconstructing Trees for Additive Distance Matrices Trim(D, δ) for all 1 ≤ i ≠ j ≤ n Dij = Dij - 2δ

AdditivePhylogeny Algorithm AdditivePhylogeny(D) if D is a 2 x 2 matrix T = tree of a single edge of length D1,2 return T if D is non-degenerate Compute trimming parameter δ Trim(D, δ) Find a triple i, j, k in D such that Dij + Djk = Dik x = Dij Remove jth row and jth column from D T = AdditivePhylogeny(D) Traceback

AdditivePhylogeny (cont’d) Traceback Add a new vertex v to T at distance x from i to k Add j back to T by creating an edge (v,j) of length 0 for every leaf l in T if distance from l to v in the tree ≠ Dl,j output “matrix is not additive” return Extend all “hanging” edges by length δ return T Question: How to compute δ?

Additive Distance How to tell if D is additive? AdditivePhylogeny provides a way to check if distance matrix D is additive An even more efficient additivity check is the “four-point condition” Let 1 ≤ i,j,k,l ≤ n be four distinct leaves in a tree

The Four Point Condition (cont’d) Compute: 1. Dij + Dkl, 2. Dik + Djl, 3. Dil + Djk 2 3 1 2 and 3 represent the same number: (length of all edges) + 2 * (length middle edge) 1 represents a smaller number: (length of all edges) – (length middle edge)

The Four Point Condition: Theorem The four point condition: For quartet i,j,k,l: Dij + Dkl ≤ Dik + Djl = Dil + Djk Theorem : An n x n matrix D is additive if and only if the four point condition holds for every quartet 1 ≤ i,j,k,l ≤ n

Least Squares Distance Phylogeny Problem If the distance matrix D is NOT additive, then we look for a tree T that approximates D the best: Squared Error : ∑i,j (dij(T) – Dij)2 Squared Error is a measure of the quality of the fit between distance matrix and the tree: we want to minimize it. Least Squares Distance Phylogeny Problem: Find approximation tree T with minimum squared error for a non-additive matrix D. (NP-hard)

UPGMA Tree construction as clustering 1 4 3 2 5

UPGMA Unweighted Pair Group Method with Averages Computes the distance between clusters using average pairwise distance Assigns height to every vertex in the tree, effectively dating every vertex (Assumes molecular clock) 1 4 3 2 5

Clustering in UPGMA Given two disjoint clusters Ci, Cj of sequences, 1 dij = ––––––––– {p Ci, q Cj}dpq |Ci|  |Cj|

UPGMA Algorithm Initialization: Assign each xi to its own cluster Ci Define one leaf per sequence, each at height 0 Iteration: Find two clusters Ci and Cj such that dij is min Let Ck = Ci  Cj Add a vertex connecting Ci, Cj and place it at height dij /2 Delete Ci and Cj Termination: When a single cluster remains 1 4 3 2 5

The molecular clock results in ultrametric distances UPGMA Weakness UPGMA produces an ultrametric tree; distance from the root to any leaf is the same The Molecular Clock: The evolutionary distance between species x and y is 2 the Earth time to reach the nearest common ancestor That is, the molecular clock has constant rate in all species The molecular clock results in ultrametric distances years 1 4 2 3 5

UPGMA’s Weakness: Example 2 3 4 1 Correct tree UPGMA

Neighbor Joining Algorithm In 1987 Naruya Saitou and Masatoshi Nei developed a neighbor joining algorithm for phylogenetic tree reconstruction Finds a pair of leaves that are close to each other but far from other leaves: implicitly finds a pair of neighboring leaves Advantages: works well for additive and other non-additive matrices, it does not have the flawed molecular clock assumption

Neighbor-Joining Guaranteed to produce the correct tree if distance is additive May produce a good tree even when distance is not additive Let C = current clusters. Step 1: Finding neighboring clusters Define: u(C) =1/(|C|-2) C’ D(C, C’) u(C) measures separation of C from other clusters Want to minimize D(C1, C2) and maximize u(C1) + u(C2) Magic trick: Choose C1 and C2 that minimize D(C1, C2) - (u(C1) + u(C2) ) Claim: Above ensures that Dij is minimal iff i, j are neighbors Proof: Technical, please read Durbin et al.! 1 3 0.1 0.1 0.1 0.4 0.4 2 4

Algorithm: Neighbor-joining Initialization: For n clusters, one for each leaf node Define T to be the set of leaf nodes, one per sequence Iteration: Pick Ci, Cj s.t. D(Ci, Cj) – (u(C1) + u(C2)) is minimal Merge C1 and C2 into new cluster with |C1| + |C2| elements Add a new vertex C to T and connect to vertices C1 and C2 Assign length 1/2 (D(C1, C2) + (u(C1) - u(C2) ) to edge (C1, C) Assign length 1/2 (D(C1, C2) + (u(C2) - u(C1) ) to edge (C2, C) Remove rows and columns from D corresponding to C1 and C2; Add row and column to D for new cluster C Termination: When only one cluster

Alignment Matrix vs. Distance Matrix Sequence a gene of length m nucleotides in n species to generate an… n x m alignment matrix CANNOT be transformed back into alignment matrix because information was lost on the forward transformation Gorilla: CCTGTGACGTAACAAACGA Chimpanzee: CCTGTGACGTAGCAAACGA Human: CCTGTGACGTAGCAAACGA Transform into… n x n distance matrix

Character-Based Tree Reconstruction Better technique: Use the n x m alignment matrix (n = # species, m = #characters) directly instead of using distance matrix. GOAL: determine what character strings at internal nodes would best explain the character strings for the n observed species

Character-Based Tree Reconstruction Characters may be nucleotides, where A, G, C, T are states of this character. Characters may be morphological features # of eyes or legs or the shape of a beak or a fin. If set length of an edge in the tree to the Hamming distance, then define the parsimony score of the tree as the sum of the lengths (weights) of the edges

Character-Based Tree Reconstruction

Parsimony Approach to Evolutionary Tree Reconstruction Applies Occam’s razor principle to identify the simplest explanation for the data Assumes observed character differences resulted from the fewest possible mutations Seeks the tree that yields lowest possible parsimony score - sum of cost of all mutations found in the tree

Parsimony and Tree Reconstruction

Parsimony – What if we don’t have distances One of the most popular methods: GIVEN multiple alignment FIND tree & history of substitutions explaining alignment Idea: Find the tree that explains the observed sequences with a minimal number of substitutions Two computational subproblems: Find the parsimony cost of a given tree. Small parsimony problem (easy) Search through all tree topologies. Large parsimony problem (hard)

Small Parsimony Problem Input: Tree T with each leaf labeled by an m-character string. Output: Labeling of internal vertices of the tree T minimizing the parsimony score. We can assume that every leaf is labeled by a single character, because the characters in the string are independent.

Weighted Small Parsimony Problem A more general version of Small Parsimony Problem Input includes a k x k scoring matrix describing the cost of transformation of each of k states into another one For Small Parsimony problem, the scoring matrix is based on Hamming distance dH(v, w) = 0 if v=w dH(v, w) = 1 otherwise

Scoring Matrices A T G C 1 A T G C 3 4 9 2 Weighted Small Parsimony Problem Small Parsimony Problem A T G C 1 A T G C 3 4 9 2

Unweighted vs. Weighted Small Parsimony Scoring Matrix: A T G C 1 Small Parsimony Score: 5

Unweighted vs. Weighted Weighted Parsimony Scoring Matrix: A T G C 3 4 9 2 Weighted Parsimony Score: 22

Weighted Small Parsimony Problem: Formulation Input: Tree T with each leaf labeled by elements of a k-letter alphabet and a k x k scoring matrix (ij) Output: Labeling of internal vertices of the tree T minimizing the weighted parsimony score

Sankoff Algorithm Dynamic Programming Calculate and keep track of a score for every possible label at each vertex st(v) = minimum parsimony score of the subtree rooted at vertex v if v has character t The score at each vertex is based on scores of its children: st(parent) = mini {si( left child ) + i, t} + minj {sj( right child ) + j, t}

Sources Serafim Batzoglou http://ai.stanford.edu/~serafim/CS262_2006/ (Sequencing slides) http://bioalgorithms.info (Additive Trees and Parsimony)