Title: Intro to Phylogenetic Trees Computational Genomics Lecture 4b
1Intro to Phylogenetic TreesComputational
GenomicsLecture 4b
Sections 7.1, 7.2, in Durbin et al. Chapter 17 in
Gusfield Slides by Shlomo Moran and Ido Wexler.
Slight modifications by Benny Chor
2Evolution
- Evolution of new organisms is driven by
- Diversity
- Different individuals carry different variants of
the same basic blue print - Mutations
- The DNA sequence can be changed due to single
base changes, deletion/insertion of DNA segments,
etc. - Selection bias
3The Tree of Life
Source Alberts et al
4Tree of life- a better picture
Daprès Ernst Haeckel, 1891
5Primate evolution
A phylogeny is a tree that describes the sequence
of speciation events that lead to the forming of
a set of current day species also called a
phylogenetic tree.
6Historical Note
- Until mid 1950s phylogenies were constructed by
experts based on their opinion (subjective
criteria) - Since then, focus on objective criteria for
constructing phylogenetic trees - Thousands of articles in the last decades
- Important for many aspects of biology
- Classification
- Understanding biological mechanisms
7Morphological vs. Molecular
- Classical phylogenetic analysis morphological
features number of legs, lengths of legs, etc. - Modern biological methods allow to use molecular
features - Gene sequences
- Protein sequences
- Analysis based on homologous sequences (e.g.,
globins) in different species
8Topology based on Morphology
(Based on Mc Kenna and Bell, 1997)
Archonta
Ungulata
9From Sequences to a Phylogenetic Tree
Rat QEPGGLVVPPTDA Rabbit QEPGGMVVPPTDA Gorilla QE
PGGLVVPPTDA Cat REPGGLVVPPTEG
Different genes/proteins may lead to different
phylogenetic trees
10From sequences to a phylogenetic tree
Rat QEPGGLVVPPTDA Rabbit QEPGGMVVPPTDA Gorilla QE
PGGLVVPPTDA Cat REPGGLVVPPTEG
There are many possible types of sequences to use
(e.g. mitochondrial vs. nuclear proteins).
11Topology1 , based on Mitochondrial DNA
(Based on Pupko et al.,)
12Topology2 ,based on Nuclear DNA
(Based on Pupko et al. slide)
(tree by Madsenl)
13Theory of Evolution
- Basic idea
- speciation events lead to creation of different
species. - Speciation caused by physical separation into
groups where different genetic variants become
dominant - Any two species share a (possibly distant) common
ancestor
14Phylogenenetic trees
- Leafs - current day species
- Nodes - hypothetical most recent common ancestors
- Edges length - time from one speciation to the
next
15Types of Trees
- A natural model to consider is that of rooted
trees
Common Ancestor
16Types of trees
- Unrooted tree represents the same phylogeny
without the root node
Depending on the model, data from current day
species often does not distinguish between
different placements of the root.
17Rooted versus unrooted trees
Tree c
b
a
c
Represents all three rooted trees
18Positioning Roots in Unrooted Trees
- We can estimate the position of the root by
introducing an outgroup - a set of species that are definitely distant from
all the species of interest
Proposed root
Falcon
Aardvark
Bison
Chimp
Dog
Elephant
19Dangers of Gene Duplication
- If we happen to consider genes 1A, 2B, and 3A of
species 1,2,3, we get a wrong tree that does not
represent the phylogeny of the host species of
the given sequences because duplication does not
create new species.
Gene Duplication
S
S
S
Speciation events
2B
1B
3A
3B
2A
1A
In the sequel we assume all given sequences are
orthologs.
20Types of Data
- Distance-based
- Input is a matrix of distances between species.
- Can be fraction of residue they disagree on, or
alignment score between them, etc. - Character-based
- Input is a multiple sequence alignment. Sequences
consist of characters (e.g., residues) that are
examined separately. - Genome/Proteome based
- Input is whole genome or proteome sequences.
- No MSA or obvious distance definition.
21Tree Construction Two Popular Methods
- Distance Based- A weighted tree that realizes the
distances between the objects (or gets close to
it). - Character Based A tree that optimizes an
objective function based on all characters in
input sequences (major methods are parsimony and
likelihood).
We start with distance based methods, considering
the following question Given a set of species
(leaves in a supposed tree), and distances
between them construct a phylogeny which best
fits the distances.
22Exact solution Additive sets
- Given a set M of L objects with an LL distance
matrix - d(i,i)0, and for i?j, d(i,j)0
- d(i,j)d(j,i).
- For all i,j,k it holds that d(i,k)
d(i,j)d(j,k). - Can we construct a weighted tree which realizes
these distances?
23Additive sets (cont)
- We say that the set M with L objects is additive
if there is a tree T, L of its nodes correspond
to the L objects, with positive weights on the
edges, such that for all i,j, d(i,j) dT(i,j),
the length of the path from i to j in T. - Note Sometimes the tree is required to be
binary, and then the edge weights are required to
be non-negative.
24Three objects sets always additive
- For L3 There is always a (unique) tree with one
internal node.
Thus
25How about four objects?
- L4 Not all sets with 4 objects are additive
- e.g., there is no tree which realizes the
distances below.
26The Four Points Condition
- Theorem A set M of L objects is additive iff any
subset of four objects can be labeled i,j,k,l so
that - d(i,k) d(j,l) d(i,l) d(k,j) d(i,j)
d(k,l) - We call i,j,k,l the split of i,j,k,l.
Proof Additivity ?4 Points Condition By the
figure...
274P Condition ?Additivity
- Induction on the number of objects, L.
- For L 3 the condition is empty and tree
exists. - Consider L4.
- B d(i,k) d(j,l) d(i,l) d(j,k) d(i,j)
d(k,l) A
Let y (B A)/2 0. Then the tree should look
as follows We have to find the distances a,b, c
and f.
k
c
l
f
n
y
b
a
m
i
j
28Tree construction for L4
- Construct the tree by the given distances as
follows - Construct a tree for i, j,k, with internal
vertex m - Add vertex n ,d(m,n) y
- Add edge (n,l), cfd(k,l)
l
k
f
f
f
f
c
Remains to prove d(i,l) dT(i,l) d(j,l)
dT(j,l)
n
n
n
n
y
b
j
m
a
i
29Proof for L4
By the 4 points condition and the definition of
y d(i,l) d(i,j) d(k,l) 2y - d(k,j) a y
f dT(i,l) (the middle equality holds since
d(i,j), d(k,l) and d(k,j) are realized by the
tree) d(j,l) dT(j,l) is proved similarly.
30Induction step for L4
- Remove Object L from the set
- By induction, there is a tree, T, for
1,2,,L-1. - For each pair of labeled nodes (i,j) in T, let
aij, bij, cij be defined by the following figure
31Induction step
- Pick i and j that minimize cij.
- T is constructed by adding L (and possibly mij)
to T, as in the figure. Then d(i,L) dT(i,L)
and d(j,L) dT(j,L) - Remains to prove For each k ? i,j d(k,L)
dT(k,L).
32Induction step (cont.)
- Let k ?i,j be an arbitrary node in T, and let n
be the branching point of k in the path from i to
j. - By the minimality of cij , i,j,k,L is not a
split of i,j,k,L. So assume WLOG that
i,L,j,k is a - split of i,j, k,L.
33Induction step (end)
- Since i,L,j,k is a split, by the 4 points
condition - d(L,k) d(i,k) d(L,j) - d(i,j)
- d(i,k) dT(i,k) and d(i,j) dT(i,j) by
induction, and - d(L,j) dT(L,j) by the construction.
- Hence d(L,k) dT(L,k).
- QED
34From Additive Distance to a Tree
By following the proof, the four point condition
can be used to construct a tree from a distance
matrix, or to decide that there is no such tree
(namely that the distance is not additive). But
this algorithm will go over all quartets,
resulting in O(L4) many steps for L species (too
sllllllllllllow). The most popular method for
constructing trees for additive sets uses the
neighbor joining approach.
35Constructing additive treesThe neighbor joining
problem
- Let i, j be sisters (neighboring leaves) in a
tree, let k be - their father, and let m be any other vertex.
- Using eq.
- we can compute the distances from k to all
other leaves. - This suggest the following method to construct
tree from an - additive distance matrix
- Find sisters i,j in the tree,
- Replace i,j by their father, k, and recursively
construct a tree T for the smaller set. - Add i,j as children of k in T.
36Neighbor Finding
- How can we find from distances alone a pair of
sisters (neighboring leaves)? - Closest nodes are not necessarily neighboring
leaves.
Next, we show a way to find neighbors from
distances.
37Neighbor Finding Seitou Nei method
Theorem (SaitouNei) Assume d is additive, with
all tree edge weights positive. If D(i,j) is
minimal (among all pairs of leaves), then i and j
are sister taxa in the tree.
The proof is rather involved, and will be skipped
(no tears pls).
38Saitou Nei proof (to be skipped)
Notations used in the proof p(i,j) the path
from vertex i to vertex j P(D,C) (e1,e2,e3)
(D,E,F,C)
For a vertex i, and an edge e(i,j) Ni(e)
k e is on p(i,k). ND(e1) 3, ND(e2) 2,
ND(e3) 1 NC(e1) 1
E
F
39A simpler neighbor finding method
- Select an arbitrary (fixed) node r.
- For each pair of labeled nodes (i,j) let C(i,j)
be defined by the following expression (also see
figure)
r
C(i,j)
j
Claim Let i, j be such that C(i,j) is
maximized. Then i and j are neighboring leaves.
i
40Sisters Identification Example
- Select arbitrarily rA.
- C(B,C)(1525-30)/25
- C(B,D)(1534-31)/28
- C(C,D)(2534-49)/25
5
4
6
20
25
Claim Let i, j be such that C(i,j) is
maximized. Then i and j are neighboring leaves.
41Neighbor Joining Algorithm
- Set M to contain all leaves, and select a root r.
ML - If L 2, return a tree of two vertices
- Iteration
- Choose i,j such that C(i,j) is maximal
- Create a new vertex k, and update distances
- remove i,j, and add k to M
- Recursively construct a tree on the smaller set.
- When done, add i,j as children on k, at distances
d(i,k) and d(j,k).
42Complexity of Neighbor Joining Algorithm
- Naive Implementation
- Initialization ?(L2) to compute the C(i,j)s.
- Each Iteration
- O(L) to update C(i,k)i? L for the new node k.
- O(L2) to find the maximal C(i,j).
- Total of O(L3).
43Complexity of Neighbor Joining Algorithm
- Using a Heap to store the C(i,j)s
- Initialization ?(L2) to compute and heapify the
C(i,j)s. - Each Iteration
- O(1) to find the maximal C(i,j).
- O(L log L) to delete C(m,i), C(m,j) and add
C(m,k) for all vertices m. - Total of O(L2 log L).
- (implementation details are omitted)
44Reconstructing Trees from Additive Matrices
Given a distance matrix constituting an additive
metric, the topology of the corresponding
additive tree is unique.
Q Do we have to test additivity before running
NJ? A This would be bad news, as this takes
O(L4) time!
E
3
A
2
1
1
3
C
1
2
B
D
45Reconstructing Trees from Additive Matrices
Q Do we have to test additivity before running
NJ? A By Seito-Nei, if matrix is additive, NJ
will construct the correct tree. Algorithm does
not care about awareness and need not know
anything about the matrix!
E
3
A
2
1
1
3
C
1
2
B
D
46NJ Algorithm Example
- Identify i,j as neighbours if their divergence
is minimal. - Combine i,j into a new node u.
- update the distance matrix.
- If only 3 nodes are left finish.
Let ri be the sum of distances from i to every
other node
47Distance Matrix
A
48Distance Matrix
Y
C
A
49Distance Matrix
Z
Y
D
C
A
50Reconstructing Trees from non Additive Matrices
Q What if the distance matrix is not additive?
A We could still run NJ! Q But can anything
be said about the resulting tree? A Not
really. Resulting tree topology could even vary
according to way ties are resolved on the way.
51Almost Additive Matrix
A distance matrix d is almost additive if
there exists an additive matrix d such that
Atteson If d is almost additive with respect to
a tree T, then the output of NJ is a tree T with
the same topology as T
52Distance Matrix
53Unrooted Tree - NJ
54Output - NJ
Branch length is proportional to distance
55N-J Method produces an Unrooted, Additive tree
560. Distance Matrix
Neighbor-Joining Method An Example
What is required for the Neighbour joining method?
Distance matrix
571. First Step
PAM distance 3.3 (Human - Monkey) is the minimum.
So we'll join Human and Monkey to MonHum and
we'll calculate the new distances.
Mon-Hum
Monkey
Human
Spinach
Mosquito
Rice
582. Calculation of New Distances
After we have joined two species in a subtree we
have to compute the distances from every other
node to the new subtree. We do this with a simple
average of distances DistSpinach, MonHum
(DistSpinach, Monkey DistSpinach, Human)/2
(90.8 86.3)/2 88.55
Mon-Hum
Monkey
Human
Spinach
593. Next Cycle
Mos-(Mon-Hum)
Mon-Hum
Human
Mosquito
Monkey
Spinach
Rice
604. Penultimate Cycle
Mos-(Mon-Hum)
Spin-Rice
Mon-Hum
Human
Mosquito
Monkey
Spinach
Rice
615. Last Joining
(Spin-Rice)-(Mos-(Mon-Hum))
Mos-(Mon-Hum)
Spin-Rice
Mon-Hum
Human
Mosquito
Monkey
Spinach
Rice
62The resultUnrooted Neighbor-Joining Tree
Human
Spinach
Monkey
Mosquito
Rice