Molecular Evolution Modified by Winfried Just - PowerPoint PPT Presentation

1 / 53
About This Presentation
Title:

Molecular Evolution Modified by Winfried Just

Description:

... scientists were unable to figure out which family the giant panda belongs to ... was solved, a DNA-based model of the human evolutionary tree lead to the Out ... – PowerPoint PPT presentation

Number of Views:32
Avg rating:3.0/5.0
Slides: 54
Provided by: soph60
Category:

less

Transcript and Presenter's Notes

Title: Molecular Evolution Modified by Winfried Just


1
Molecular EvolutionModified by Winfried Just
2
Outline
  • Evolutionary Tree Reconstruction
  • Distance Based Phylogeny
  • Neighbor Joining Algorithm
  • Least Squares Distance Phylogeny
  • UPGMA
  • Character Based Phylogeny
  • Small Parsimony Problem
  • Fitch and Sankoff Algorithms

3
Characterizing Evolution
  • Anatomical and behavioral features were the
    dominant criteria used to derive evolutionary
    relationships between species since Darwin
  • Equipped with analysis based on these relatively
    subjective observations, the evolutionary
    relationships derived from them were often
    inconclusive and/or later proved incorrect

4
How did the panda evolve?
  • For roughly 100 years scientists were unable to
    figure out which family the giant panda belongs
    to
  • In 1985, Steve OBrien et al. solved the giant
    panda classification problem using DNA sequences
    and algorithms

5
Evolutionary Tree of Bears and Raccoons
6
Evolutionary Trees DNA-based Approach
  • 15 years ago Reconstructing evolutionary
    relationships with DNA was extensively researched
    and hotly debated
  • Emile Zuckerkandl and Linus Pauling brought
    reconstructing evolutionary relationships with
    DNA into the spotlight

7
Evolutionary Tree of Humans
  • Around the time the giant panda riddle was
    solved, a DNA-based model of the human
    evolutionary tree lead to the Out of Africa
    Hypothesis
  • Claims our most ancient ancestor lived in Africa
    roughly 200,000 years ago

8
Tree Reconstruction
  • How are these trees built from sequences?
  • First, a little background

9
Rooted Trees
  • Rooted trees
  • Infer an evolutionary ancestor
  • leaves represent existing species
  • internal vertices represent hypothetical
    ancestors
  • can be viewed as directed trees from the root to
    the leaves

10
Unrooted Trees
  • Unrooted trees
  • DOES NOT infer an evolutionary ancestor,
    therefore cannot be viewed as a directed graph
  • Otherwise, they are like rooted trees

11
Rooted and Unrooted Trees
12
Distances in Trees
  • Edges may have weights, which reflect
  • Number of mutations on evolutionary path from one
    species to another
  • Or, time estimate for evolution of one species
    into another
  • In a tree T with n leaves, we often compute the
    length of a path between leaves i and j, dij(T)
  • dij refers to the distance between i and j. Is
    the sum of the weight of the edges between i and j

13
Distance in Trees (contd)
For i 1, j 4, dij is d(1,4) 12 13 14
17 12 68
14
Fitting Distance Matrix
  • Given n species, we can compute the n x n
    distance matrix Dij
  • Theres a corresponding tree, but we dont know
    the tree.
  • With such a matrix we need a method to design a
    tree that fits this distance matrix Dij

15
Fitting Distance Matrix (contd)
  • Fitting means Dij dij(T)
  • Dij may be defined as the edit distance between a
    gene in species i and species j, where the gene
    of interest is sequenced for all n species

Lengths of paths in a tree T
Edit distance between species
16
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
17
Reconstructing a 3 Leaved Tree (contd)
18
Trees with gt 3 Leaves
  • An unrooted tree with n leaves has 2n-3 edges
  • This means fitting a given tree to an unknown
    distance matrix D requires solving a system of
    all n choose 2 pairs of equations with
  • 2n-3 variables
  • This is not always possible to solve for n gt 3

19
Additive Distance Matrices
ADDITIVE if there exists a tree T with dij(T)
Dij
NONADDITIVE otherwise
20
Distance Based Phylogeny Problem
  • GoalReconstruct an evolutionary tree from a
    distance matrix
  • Input n x n distance matrix Dij
  • Output weighted unrooted 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

21
For starters a simple algorithm Degenerate
Triples
  • A degenerate triple is a set of three distinct
    elements 1i,j,kn where Dij Djk Dik
  • Found when j is collapsed to 0
  • Shows j lies on the evolutionary path from i to k

22
Finding Degenerate Triples
  • Shorten all hanging edges (edges that connect
    leaves) until a degenerate triple is found

23
Finding Degenerate Triples (contd)
  • If there is no degenerate triple, all hanging
    edges are reduced by the same amount d, so that
    all pair-wise distances in the matrix are reduced
    by 2d
  • Eventually this process collapses one of the
    leaves down to 0 (when d length of shortest
    hanging edge), forming a degenerate triple and
    reducing our matrix

24
Reconstructing Tree with Degenerate Triples
  • The attachment point for j can be recovered in
    the reverse transformations by saving Dij for
    each collapsed edge
  • These ideas motivate the following recursive
    algorithm, AdditivePhylogeny

25
Reconstructing Tree with Degenerate Triples
(contd)
26
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
  • d trimming parameter of matrix D
  • For all 1 i ? j n
  • Dij Dij - 2d
  • Else
  • d 0

27
AdditivePhylogeny (contd)
  • 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)
  • 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 hanging edge leading to leaf L by
    length d
  • Return T

28
The Four Point Condition
  • AdditivePhylogeny provides an inefficient way to
    check if matrix D is additive
  • A more efficient additivity check is the
    four-point condition
  • Let 1 i,j,k,l n be four distinct leaves in a
    tree

29
The Four Point Condition (contd)
Compute 1. Dij Dkl, 2. Dik Djl, 3. Dil Djk
1
2
3
2 and 3 represent the same number the length of
all edges the middle edge (its counted twice)
1 represents a smaller number the length of all
edges the middle edge
30
The Four Point Condition (contd)
  • The four point condition is satisfied if 2 of
    these sums are the same number, with the third
    sum smaller than these first two
  • Theorem An n x n matrix D is additive if and
    only if the four point condition holds for every
    4 distinct elements 1 i,j,k,l n

31
UPGMA
  • UPGMA is a clustering algorithm that
  • computes the distance between clusters using
    average pairwise distance
  • assigns a height to every vertex in the tree,
    effectively assuming the presence of a molecular
    clock and dating every vertex

32
UPGMAs Weakness
  • The algorithm produces an ultrametric tree the
    distance from the root to any leaf is the same
  • UPGMA assumes a constant molecular clock all
    species represented by the leaves in the tree are
    assumed to accumulate mutations (and thus evolve)
    at the same rate. This is one of the major
    pitfalls of UPGMA.

33
UPGMAs Weakness Example
34
Clustering in UPGMA
  • Given two disjoint clusters Ci, Cj of sequences,
  • 1
  • dij ?p ?Ci, q ?Cjdpq
  • Ci ? Cj
  • Note that if Ck Ci ? Cj, then distance to
    another cluster Cl is
  • dil Ci djl Cj
  • dkl
  • Ci Cj

35
UPGMA Algorithm
  • Initialization
  • Assign each xi into its own cluster Ci
  • Define one leaf per sequence, height 0
  • Iteration
  • Find two clusters Ci, Cj s.t. dij is min
  • Let Ck Ci ? Cj
  • Define node connecting Ci, Cj, place it at
    height dij/2
  • Delete Ci, Cj
  • Termination
  • When two clusters i, j remain, place root at
    height dij/2

36
UPGMA Algorithm (contd)
37
Neighboring Leaves
  • 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 by

Dkm (Dim Djm Dij)/2
Compress i and j into k, iterate algorithm for
rest of tree
38
Finding Neighboring Leaves
  • Closest leaves arent necessarily neighbors
  • i and j are neighbors, but (dij 13) gt (djk 12)
  • Finding a pair of neighboring leaves is a
    nontrivial problem!

39
Neighbor Joining Algorithm (contd)
  • Advantages works well for additive and other
    non-additive matrices, it does not have the
    flawed molecular clock assumption
  • Neighbor Joining algorithm implicitly finds a
    pair of neighboring leaves

40
Saito-Neis Neighbor Joining Algorithm
  • Define u(C) 1/( of clusters 2) Sall clusters
    C D(C,C)
  • NeighborJoining(D,n)
  • 1 Form n clusters, each with a single element
  • 2 Construct a graph T by assigning an isolated
    vertex to each cluster
  • 3 while there is more than one cluster
  • 4 Find clusters C1 and C2 minimizing
    D(C1,C2) u(C1) u(C2)
  • 5 Merge C1 and C2 into new cluster C with
    C1 C2 elements
  • 6 Compute D(C,C) (D(C1,C)
    D(C2,C))/2 for every other cluster C
  • 7 Add a new vertex C to T and connect it
    to vertices C1 and C2
  • 8 Assign length (D(C1,C2) u(C1)
    u(C2))/2 to the edge (C1, C)
  • 9 Assign length (D(C1,C2) u(C2)
    u(C1))/2 to the edge (C2, C)
  • 10 Remove rows and columns of D
    corresponding to C1 and C2
  • 11 Add a row and a column to D for the new
    cluster C
  • 12 Return T

41
Introducing Squared Error
  • If the distance matrix D of interest is NOT
    additive, then we naturally look for a tree that
    approximates D the best
  • Squared Error ?i,j (dij(T) Dij)2

42
Least Squares Distance Phylogeny Problem
  • Squared Error is a measure of the quality of the
    approximation tree the lower the better, so
    naturally we want to minimize it
  • Finding the best approximation tree T for a
    non-additive matrix D is NP-hard, and is called
    the Least Squares Distance Phylogeny Problem

43
Character-Based Tree Reconstruction
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
Transform into
n x n distance matrix
44
Character-Based Tree Reconstruction (contd)
  • Better technique
  • Use character-based reconstruction algorithms
    which use the n x m alignment matrix (n
    species, m characters) directly instead of
    using distance-based reconstruction algorithms
  • GOAL determine what character strings at
    internal nodes would best explain the character
    strings for the n observed species

45
Character-Based Tree Reconstruction (contd)
  • Characters may be nucleotides, where A, G, C, T
    are states of this character. Other characters
    may be the of eyes or legs or the shape of a
    beak or mouth
  • By setting the length of an edge in the tree to
    the Hamming distance, we may define the parsimony
    score of the tree as the sum of the lengths
    (weights) of the edges

46
Character-Based Tree Reconstruction (contd)
47
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.

48
Weighted Small Parsimony Problem
  • A more general version of Parsimony Problem
  • Input includes a k k scoring matrix ( all
    entries is 1 if unweighted)
  • David Sankoffs dynamic programming algorithm

49
Sankoffs Algorithm
  • Build from bottom leaf to root
  • Then move down and assign each node with its
    character.
  • The character at each leave and internal vertex
    isnt determined until the root is determined.
  • Need to keep track of every character.

50
Sankoffs Algorithm
  • Check childrens every character and determine
    the minimum score between them
  • An example

51
Fitchs Algorithm
  • Solves small Parsimony problem
  • Dynamic programming in essence
  • Assigns a set of letter to every vertex in the
    tree.
  • If the two childrens sets of character overlap,
    its the common set of them
  • If not, its the combined set of them.

52
Fitchs Algorithm (contd)
An example
a
a
c
t
a,c
t,a
a
c
t
a
a
a
a
a
a,c
t,a
a
a
a
t
c
a
c
t
53
Credit
  • Serafim Batzoglou (UPGMA slides)
    http//www.stanford.edu/class/cs262/Slides
Write a Comment
User Comments (0)
About PowerShow.com