Loading in 2 Seconds...

Intro to Phylogenetic Trees Computational Genomics Lecture 4b

Loading in 2 Seconds...

- 432 Views
- Uploaded on

Download Presentation
## Intro to Phylogenetic Trees Computational Genomics Lecture 4b

**An Image/Link below is provided (as is) to download presentation**

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

### Intro 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

.

Evolution

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

The Tree of Life

Source: Alberts et al

Tree of life- a better picture

D’après Ernst Haeckel, 1891

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.

Historical Note

- Until mid 1950’s 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

Morphological 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

Bonobo

Chimpanzee

Man

Gorilla

Sumatran orangutan

Bornean orangutan

Common gibbon

Barbary ape

Baboon

White-fronted capuchin

Slow loris

Tree shrew

Japanese pipistrelle

Long-tailed bat

Jamaican fruit-eating bat

Horseshoe bat

Little red flying fox

Ryukyu flying fox

Mouse

Rat

Glires

Vole

Cane-rat

Guinea pig

Squirrel

Dormouse

Rabbit

Pika

Pig

Hippopotamus

Sheep

Cow

Alpaca

Blue whale

Fin whale

Sperm whale

Donkey

Horse

Indian rhino

White rhino

Elephant

Carnivora

Aardvark

Grey seal

Harbor seal

Dog

Cat

Asiatic shrew

Insectivora

Long-clawed shrew

Small Madagascar hedgehog

Hedgehog

Gymnure

Mole

Armadillo

Xenarthra

Bandicoot

Wallaroo

Opossum

Platypus

(Based on Mc Kenna and Bell, 1997)

Archonta

Ungulata

From Sequences to a Phylogenetic Tree

Rat QEPGGLVVPPTDA

Rabbit QEPGGMVVPPTDA

Gorilla QEPGGLVVPPTDA

Cat REPGGLVVPPTEG

Different genes/proteins may lead

to different phylogenetic trees

From sequences to a phylogenetic tree

Rat QEPGGLVVPPTDA

Rabbit QEPGGMVVPPTDA

Gorilla QEPGGLVVPPTDA

Cat REPGGLVVPPTEG

There are many possible types of sequences to use (e.g. mitochondrial vs. nuclear proteins).

Donkey

Horse

Carnivora

Indian rhino

White rhino

Grey seal

Harbor seal

Dog

Cetartiodactyla

Cat

Blue whale

Fin whale

Sperm whale

Hippopotamus

Sheep

Cow

Chiroptera

Alpaca

Pig

Little red flying fox

Ryukyu flying fox

Moles+Shrews

Horseshoe bat

Japanese pipistrelle

Long-tailed bat

Afrotheria

Jamaican fruit-eating bat

Asiatic shrew

Long-clawed shrew

Mole

Small Madagascar hedgehog

Xenarthra

Aardvark

Elephant

Armadillo

Rabbit

Lagomorpha

+ Scandentia

Pika

Tree shrew

Bonobo

Chimpanzee

Man

Gorilla

Sumatran orangutan

Primates

Bornean orangutan

Common gibbon

Barbary ape

Baboon

White-fronted capuchin

Rodentia 1

Slow loris

Squirrel

Dormouse

Cane-rat

Rodentia 2

Guinea pig

Mouse

Rat

Vole

Hedgehog

Hedgehogs

Gymnure

Bandicoot

Wallaroo

Opossum

Platypus

Topology1 , based on Mitochondrial DNA

(Based on Pupko et al.,)

Round Eared Bat

Eulipotyphla

Flying Fox

Hedgehog

Pholidota

Mole

Pangolin

Whale

1

Cetartiodactyla

Hippo

Cow

Carnivora

Pig

Cat

Dog

Perissodactyla

Horse

Rhino

Glires

Rat

Capybara

2

Scandentia+

Dermoptera

Rabbit

Flying Lemur

Tree Shrew

3

Human

Primate

Galago

Sloth

Xenarthra

4

Hyrax

Dugong

Elephant

Afrotheria

Aardvark

Elephant Shrew

Opossum

Kangaroo

Topology2 ,based on Nuclear DNA

(Based on Pupko et al. slide)

(tree by Madsenl)

Theory 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

Bison

Chimp

Dog

Elephant

Phylogenenetic trees- Leafs - current day species
- Nodes - hypothetical most recent common ancestors
- Edges length - “time” from one speciation to the next

Types 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.

Positioning 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

Types 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.

Tree 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.

Exact solution: Additive sets

Given a set M of L objects with an L×Ldistance 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?

Additive 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.

c

b

j

m

a

i

Three objects sets always additive:For L=3: There is always a (unique) tree with one internal node.

Thus

How about four objects?

L=4: Not all sets with 4 objects are additive:

e.g., there is no tree which realizes the distances below.

i

l

j

The Four Points ConditionTheorem: A set M of L objectsis 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...

4P Condition Additivity:

Induction on the number of objects, L.

For L≤ 3 the condition is empty and tree exists.

Consider L=4.

B = d(i,k) +d(j,l) = d(i,l) +d(j,k) ≥ d(i,j) + d(k,l) = A

Lety = (B – A)/2 ≥ 0. Then the tree should look as follows:

We have to find the distances

a,b, c and f.

k

c

f

l

n

y

b

a

m

i

j

Tree construction for L=4

- 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), c+f=d(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

k

f

c

n

y

b

j

m

a

i

Proof for L=4By 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.

cij

bij

j

aij

mij

i

Induction step for L>4:- 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:

cij

bij

j

aij

mij

T’

i

Induction 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).

cij

k

bij

j

mij

n

aij

T’

i

Induction 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}.

cij

k

bij

j

n

mij

aij

T’

i

Induction 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

From 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 (toosllllllllllllow).

The most popular method for constructing trees for additive sets uses the neighbor joining approach.

Constructing additive trees:The neighbor joining problem

- Let i, jbe 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 sistersi,j in the tree,
- Replace i,jby their father, k, and recursively construct a tree T for the smaller set.
- Add i,j as children of kin T.

B

C

D

Neighbor FindingHow 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.

T2

m

l

k

i

j

Neighbor Finding: Seitou & Nei methodTheorem (Saitou&Nei)Assume d is additive, with all tree edge weights positive. If D(i,j) is minimal (among all pairs of leaves), then iandj are sister

taxa in the tree.

The proof is rather involved, and will be skipped (no tears pls).

A 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

B

C

D

Sisters Identification: ExampleSelect arbitrarily r=A.

C(B,C)=(15+25-30)/2=5

C(B,D)=(15+34-31)/2=8

C(C,D)=(25+34-49)/2=5

5

4

6

20

25

Claim: Let i, j be such that C(i,j)is maximized.

Then i and j are neighboring leaves.

k

i

j

Neighbor Joining Algorithm- Set M to contain all leaves, and select a root r. |M|=L
- 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
- removei,j, and addk 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).

k

i

j

Complexity of Neighbor Joining AlgorithmNaive 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 maximalC(i,j).

Total of O(L3).

Complexity 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(L2log L).

(implementation details are omitted)

Reconstructing 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

Reconstructing Trees from Additive Matrices

- Q: Do we have to test additivity before running NJ?
- A: By Seito-Nei, if matrix is additive, NJ will constructthe 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

m

0.1

0.1

0.1

k

l

0.4

0.4

j

n

NJ 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

Reconstructing 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.

Almost 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

1. 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

Mosquito

Spinach

Rice

Human

Monkey

2. 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:

Dist[Spinach, MonHum]

= (Dist[Spinach, Monkey] + Dist[Spinach, Human])/2

= (90.8 + 86.3)/2 = 88.55

Mon-Hum

Spinach

Human

Monkey

5. Last Joining

(Spin-Rice)-(Mos-(Mon-Hum))

Mos-(Mon-Hum)

Spin-Rice

Mon-Hum

Rice

Spinach

Mosquito

Human

Monkey

Download Presentation

Connecting to Server..