Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh...

34
Phylogenetische Phylogenetische Bäume & ihre Bäume & ihre Konstruktion Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar “Algorithmen und Datenstrukturen” Proseminar “Algorithmen und Datenstrukturen” im WS 02/03 im WS 02/03

Transcript of Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh...

Page 1: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

Phylogenetische Bäume & Phylogenetische Bäume & ihre Konstruktionihre Konstruktion

referiert von

Marc Bachstein und Youssef Ben cheikh

Proseminar “Algorithmen und Datenstrukturen”Proseminar “Algorithmen und Datenstrukturen”

im WS 02/03im WS 02/03

Page 2: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

GliederungGliederung

2.2. Aufbau von phylogenetischen BäumenAufbau von phylogenetischen Bäumen

3.3. Konstruktion von phylogenetischen BäumenKonstruktion von phylogenetischen Bäumen

1. UPGMA (Greedy-Ansatz)1. UPGMA (Greedy-Ansatz)

Ultra-MetrikenUltra-Metriken

2. Neighbour Joining2. Neighbour Joining

4. Zusammenfassung4. Zusammenfassung

1. Was ist Phylogenie?1. Was ist Phylogenie?

Page 3: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

Phylogenie beschäftigt sich mit der Verwandtschaft zwischen „Spezies“ Phylogenie beschäftigt sich mit der Verwandtschaft zwischen „Spezies“

Baumartige Darstellung der VerwandschaftsgradeBaumartige Darstellung der Verwandschaftsgrade

Klassifizierung hier unter morphologischen Gesichtspunkten wie z.B. Fell, FedernKlassifizierung hier unter morphologischen Gesichtspunkten wie z.B. Fell, Federn

1. 1. Was ist Phylogenie?Was ist Phylogenie?

(( Darwins Evolutionstheorie) Darwins Evolutionstheorie)

Page 4: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

Nun Differenzierung über die verschiedenen DNAsNun Differenzierung über die verschiedenen DNAs

Zur Erinnerung:Zur Erinnerung:

DNA – SequenzDNA – Sequenz ist eine Folge von Buchstaben (bzw. Basen) ist eine Folge von Buchstaben (bzw. Basen) aus dem Alphabet A = {A,G,C,T}aus dem Alphabet A = {A,G,C,T}

z. B. z. B. S = ATCGAATACAGATTCGGTS = ATCGAATACAGATTCGGT

Doch wie sehen diese Bäume nun aus?Doch wie sehen diese Bäume nun aus?

2.2. Aufbau von phylogenetischen BäumenAufbau von phylogenetischen Bäumen

Page 5: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

Bei phylogenetischen Bäumen gibt es 2 verschiedene Darstellungen:Bei phylogenetischen Bäumen gibt es 2 verschiedene Darstellungen:

SS22

SS11

SS33

SS44

SS55

SS66

SS77

SS88

Phylogenetischer Phylogenetischer Baum Baum ohneohne „Urvater“ „Urvater“

Bei beiden gilt:Bei beiden gilt:

•Kanten sind gewichtet (Kanten sind gewichtet ( Kantenlänge gibt zeitlichen Abstand zwischen Kantenlänge gibt zeitlichen Abstand zwischen zwei Sequenzen an)zwei Sequenzen an)

Phylogenetischer Phylogenetischer Baum Baum mitmit „Urvater“ „Urvater“

ZeitZeitSS11 S S33 S S55 S S22 S S44

SS11, ..., S, ..., S88 sind DNA-Sequenzen sind DNA-Sequenzen

•Es ist ein natürliches Distanzmaß D(SEs ist ein natürliches Distanzmaß D(Sii,S,Sjj) zwischen zwei Sequenzen S) zwischen zwei Sequenzen Si i und und

SSjj gegeben gegeben

Page 6: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

Definition:Definition:

Ein Ein phylogenetischer Baumphylogenetischer Baum T auf einer Sequenzfamilie S ist ein Baum T auf einer Sequenzfamilie S ist ein Baum dessen Blätter mit den Elementen von S markiert sind.dessen Blätter mit den Elementen von S markiert sind.

ZeitZeitSS11 S S33 S S55 S S22 S S44

Ein (Ein (phylogenetisches) Alignmentphylogenetisches) Alignment für T ist eine Markierung der inneren für T ist eine Markierung der inneren Knoten von T.Knoten von T.

Dieses Alignment heißt Dieses Alignment heißt intern (pseudo-lifted)intern (pseudo-lifted) wenn alle Markierungen wenn alle Markierungen aus S stammen, und aus S stammen, und streng intern (lifted)streng intern (lifted), wenn jeder Elter-Knoten die , wenn jeder Elter-Knoten die Markierung eines seiner Kind-Knoten übernimmt.Markierung eines seiner Kind-Knoten übernimmt.

SS11, ..., S, ..., S55 sind DNA-Sequenzen sind DNA-Sequenzen

Sequenzfamilie S = {SSequenzfamilie S = {S11, ..., S, ..., S55}}

(Die Struktur des Baumes wird dabei nicht (Die Struktur des Baumes wird dabei nicht verändert!)verändert!)

Page 7: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

Betrachten wir noch einmal das Betrachten wir noch einmal das KostenmaßKostenmaß zwischen zwei Sequenzen: zwischen zwei Sequenzen:

Für jede dieser Distanzen gilt die Eigenschaft der Für jede dieser Distanzen gilt die Eigenschaft der MetrikMetrik::

Die Funktion D: SDie Funktion D: S22 R R++ heißt heißt MetrikMetrik, wenn, wenn

(M1) (M1) s s11,s,s22 S: D(s S: D(s11,s,s22) = 0 ) = 0 s s11 = s = s22 (Definitheit), (Definitheit),

(M2) (M2) s s11,s,s22 S: D(s S: D(s11,s,s22) = D(s) = D(s22,s,s11) ) (Symmetrie), (Symmetrie),

(M3) (M3) s s1, 1, ss2, 2, ss3 3 S: D(s S: D(s11,s,s33) ) D(s D(s11,s,s22) + D(s) + D(s22,s,s33) (Dreiecksungleichung)) (Dreiecksungleichung)

Zwei Sequenzen sZwei Sequenzen sii und s und sjj stehen in einer (zeitlichen) Distanz stehen in einer (zeitlichen) Distanz D(sD(sii,s,sjj))

zueinander. zueinander.

Im folgenden werden alle Distanzen zwischen den Sequenzen als vorgegeben Im folgenden werden alle Distanzen zwischen den Sequenzen als vorgegeben vorausgesetzt. Sie können aber auch anhand von Algorithmen (1. Vortrag) im vorausgesetzt. Sie können aber auch anhand von Algorithmen (1. Vortrag) im Vorfeld berechnet werden.Vorfeld berechnet werden.

ss11 = A = AGGCACCACGAGATT

ss22 = A = ATTCACCACACACTT

Beispiel:Beispiel:DDHH(s(s11,s,s22) =) = 3 3

In unseren Beispielen gehen wir von der einfachsten Form, der Hamming-In unseren Beispielen gehen wir von der einfachsten Form, der Hamming-Distanz DDistanz DHH aus. aus.

Page 8: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

Gegeben sei nun ein Baum T.Gegeben sei nun ein Baum T.

Wir suchen ein optimales Alignment, welches die kleinsten Gesamtkosten Wir suchen ein optimales Alignment, welches die kleinsten Gesamtkosten (Summe aller Kantenkosten) in einem Baum verursacht.(Summe aller Kantenkosten) in einem Baum verursacht.

NP-hartes ProblemNP-hartes Problem

Problem wird auf optimales Problem wird auf optimales internesinternes Alignment beschränkt (s Alignment beschränkt (s S) S) (Approximationsalgorithmus)(Approximationsalgorithmus)

Hier Lösung in O(|S|Hier Lösung in O(|S|33) durch dynamische Programmierung) durch dynamische Programmierung

d(v,s) bezeichnet die Summe aller Kantenkosten des Baumes mit der Wurzel v d(v,s) bezeichnet die Summe aller Kantenkosten des Baumes mit der Wurzel v und mit der Markierung s an v.und mit der Markierung s an v.

Demnach ist dDemnach ist doptopt = min ( d(Wurzel,s)). = min ( d(Wurzel,s)).s s S S

Wir probieren also an der Wurzel alle s Wir probieren also an der Wurzel alle s S aus S aus und wählen dann das s, welches die geringsten und wählen dann das s, welches die geringsten Gesamtkosten verursacht.Gesamtkosten verursacht.

ssvv

... ... ... ... ...... ... ... ... ...

Page 9: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

Wie berechnen wir d(v,s)?Wie berechnen wir d(v,s)?

Angenommen v habe nur Blätter:Angenommen v habe nur Blätter:

d(v,s) = d(v,s) = D(s D(sii,s),s)alle Blätter xalle Blätter xii mit mit

Markierung sMarkierung sii

v habe nun auch Teilbäume mit Wurzeln wv habe nun auch Teilbäume mit Wurzeln w11, w, w22, ..., w, ..., wrr

d(v,s) = min d(v,s) = min [[ [[D(s,sD(s,sii) + d(w) + d(wii,s,sii))]]]]ss11,..., s,..., srr 11 i i r r(|S|(|S|r r verschiedene Möglichkeiten)verschiedene Möglichkeiten)

Da Wahlen der sDa Wahlen der si i unabhängig voneinander:unabhängig voneinander:

d(v,s) = d(v,s) = min min [[D(s,sD(s,sii) + d(w) + d(wii,s,sii))]]ssii11 i i rrBei streng internem Alignment noch weniger zu berechnen:Bei streng internem Alignment noch weniger zu berechnen:

d(v,s) = d(v,s) = [ [ min min [[D(s,sD(s,sii) + d(w) + d(wii,s,sii))]]]]+ d(w+ d(wjj,s),s)

S Blatt im j-ten TeilbaumS Blatt im j-ten Teilbaum11 i i r, i r, ijj

Page 10: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

Wir werden nun zeigen, dass ein Baum mit optimalem lifted Alignment Wir werden nun zeigen, dass ein Baum mit optimalem lifted Alignment höchstens doppelt so große Gesamtkosten hat wie ein Baum mit optimalem höchstens doppelt so große Gesamtkosten hat wie ein Baum mit optimalem Alignment:Alignment:

DDoptopt(lifted Alignment) (lifted Alignment) 2 D(opt Aligmnet)

Also:Also:

Beim lifted Alignment existieren Kanten mit Kosten 0 und > 0Beim lifted Alignment existieren Kanten mit Kosten 0 und > 0

ss1 1 ss2 2 ss3 3 ss4 4 ss5 5 ss6 6 ss7 7 ss8 8 ss9 9 ss10 10 ss11 11

ss11

ss33

ss44

ss44

ss44

ss1010

ss1010

ss1010ss88ss55

:= Kosten >0:= Kosten >0

:= Kosten 0:= Kosten 0

Beispiel für phylogenetischen Baum TBeispiel für phylogenetischen Baum TLL mit lifted Alignment mit lifted Alignment

Page 11: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

ss1 1 ss2 2 ss3 3 ss4 4 ss5 5 ss6 6 ss7 7 ss8 8 ss9 9 ss10 10 ss11 11

TT** (optimales Alignment) (optimales Alignment)

Vergleich der Kosten von TVergleich der Kosten von TLL und T* und T*

Bevor wir die Kosten der Bäume Bevor wir die Kosten der Bäume miteinander vergleichen können, miteinander vergleichen können, benötigen wir aber zunächst einen benötigen wir aber zunächst einen ZwischenschrittZwischenschritt, in welchem wir , in welchem wir zeigen werden, dass:zeigen werden, dass:

TTLLTT**

SSvvLL

SSwwLL

SSvv**

D(SD(SvvLL,S,Sww

LL)) 2 2 D(SD(SwwLL,S,Svv

**))

ss1 1 ss2 2 ss3 3 ss4 4 ss5 5 ss6 6 ss7 7 ss8 8 ss9 9 ss10 10 ss11 11

ss11

ss33

ss44

ss44

ss44

ss1010

ss1010

ss1010ss88ss55

TTLL (optimales lifted Alignment) (optimales lifted Alignment)

Page 12: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

D(SD(SvvLL,S,Sww

LL)) 2 2 D(SD(SwwLL,S,Svv

**))Z.z.:Z.z.:

D(SD(SvvLL,S,Sww

LL) ) D(SD(SvvLL,S,Svv

**) + D(S) + D(Svv**,S,Sww

LL) )

= D(S= D(SqqLL,S,Svv

**) + D(S) + D(Svv**,S,Sww

LL) )

D(SD(SwwLL,S,Svv

**) + D(S) + D(Svv**,S,Sww

LL) )

= 2 D(SD(Sww

LL,S,Svv**) )

Unter den Kindern von vUnter den Kindern von v

wählen wir ein Kind q aus, das wählen wir ein Kind q aus, das den Wert D(Sden Wert D(Sqq

LL,S,Svv**) minimiert.) minimiert.

Als Markierung von vAls Markierung von vLL wählen wählen wir Swir Sqq

LL..

TTLLTT**

SSvvLL

SSwwLLSSqq

LL

SSvv**SSqq

L L ==

Page 13: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

Kosten(TKosten(T**) ) Kosten(T Kosten(TLL))

Nun können wir die Kosten der Bäume miteinander vergleichen:Nun können wir die Kosten der Bäume miteinander vergleichen:

= = Kantenkosten Kantenkosten 0

= = Kosten der durch S Kosten der durch Sii verursachten Kante verursachten Kantei i SS

= 2 = 2 Kosten (T Kosten (T**))

D(SD(SvvLL,S,Sww

LL)) 2 2 D(SD(SwwLL,S,Svv

**))Z.z.:Z.z.:

TTLLTT**

SSvvLL

SSwwLLSSqq

LL

SSvv**SSqq

L L ==

Page 14: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

3.3. Konstruktion von phylogenetischen BäumenKonstruktion von phylogenetischen Bäumen

Unser Ziel bei der Konstruktion von phylogenetischen Bäumen ist es Unser Ziel bei der Konstruktion von phylogenetischen Bäumen ist es möglichst nah am optimalen Baum zu bleiben.möglichst nah am optimalen Baum zu bleiben.

D.h. wir wollen die „Fehler“ zum optimalen Baum möglichst gering D.h. wir wollen die „Fehler“ zum optimalen Baum möglichst gering halten, also folgenden Ausdruck minimieren:halten, also folgenden Ausdruck minimieren:

(D(i,j) - d(i,j))(D(i,j) - d(i,j))22

(i,j)(i,j)

D(i,j) = vorgegebene DistanzD(i,j) = vorgegebene Distanz

d(i,j)= im Baum abgelesene Distanzd(i,j)= im Baum abgelesene Distanz

NP-hartes ProblemNP-hartes Problem

Eine effiziente Alternative dazu bietet z.B. der Eine effiziente Alternative dazu bietet z.B. der Greedy-Ansatz UPGMAGreedy-Ansatz UPGMA

In der Praxis handelt es sich bei phylogenetischen Bäumen stets um In der Praxis handelt es sich bei phylogenetischen Bäumen stets um binäre Bäumebinäre Bäume!!

Page 15: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

3.1 UPGMA (unweighted pair groups methods with arithmetic mean)3.1 UPGMA (unweighted pair groups methods with arithmetic mean)

Idee:Idee: Wir gruppieren die Sequenzen in Cluster (Mengen), berechnen Wir gruppieren die Sequenzen in Cluster (Mengen), berechnen die Distanzen der Cluster zueinander, und gruppieren erneut...die Distanzen der Cluster zueinander, und gruppieren erneut...

ss1 1 ss2 2 ss3 3 ss44

DDijij = d(C = d(Cii,C,Cjj) := ) := d(p,q)d(p,q)

|C|Cii| | |

CCjj||ppCCii, q, qCCjj

Die Distanz zwischen zwei Clustern ergibt sich durch:Die Distanz zwischen zwei Clustern ergibt sich durch:

CCii und C und Cjj sind Cluster (Mengen) sind Cluster (Mengen)

Page 16: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

Die Distanz zwischen zwei bereits vereinigten Clustern (i,j) und einem neuen Die Distanz zwischen zwei bereits vereinigten Clustern (i,j) und einem neuen Cluster k:Cluster k:

d((i,j),k)d((i,j),k) = d(C= d(Ci i U CCjj, C, Ckk))

d(p,q)d(p,q)

(|C(|Cii| +| + |CCjj|) |) | |

CCkk||pp CCii U CCjj, q, qCCkk

==

d(p,q)d(p,q)

|C|Ckk||ppCCii, q, qCCkk

d(p,q)d(p,q)

|C|Ckk||ppCCjj, q, qCCkk

++11

|C|Cii| + |C| + |Cjj|| (( ))==

d(p,q)d(p,q)

|C|Cii| | |C |Ckk||ppCCii, q, qCCkk

++11

|C|Cii| + |C| + |Cjj|| (( ))== |C|Cii|| d(p,q)d(p,q)

|C|Cjj| | |C |Ckk||ppCCjj, q, qCCkk

|C|Cjj||

11

|C|Cii| + |C| + |Cjj||== |C|Cii| | d dikik + |C + |Cjj| |

ddjkjk

))((

Die Distanz ist also in O(1) Die Distanz ist also in O(1) berechenbar.berechenbar.

Page 17: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

Der Algorithmus von UPGMA:Der Algorithmus von UPGMA:

•Initialisierung: Bilde aus jeder Sequenz ein Cluster der Größe 1 und Initialisierung: Bilde aus jeder Sequenz ein Cluster der Größe 1 und der Höhe 0.der Höhe 0.

•Wähle 2 Cluster CWähle 2 Cluster Cii und C und Cjj mit minimaler Distanz. mit minimaler Distanz.

•Bilde neues Cluster CBilde neues Cluster Ckk = C = Ci i UU C Cjj, streiche C, streiche Cii, C, Cjj, berechne alle d, berechne alle dklkl

ss1 1 ss2 2 ss3 3 ss44

ss1 1 ss2 2 ss3 3 ss44 Cluster: CCluster: C11 = {s = {s11}, C}, C22 = {s = {s22}, C}, C33 = {s = {s33}, C}, C4 4 = {s= {s44} }

ss1 1 ss2 2 ss3 3 ss44 Cluster: CCluster: C11 = {s = {s11}, }, CC22 = {s = {s22}}, , CC33 = {s = {s33}}, C, C4 4 = {s= {s44} }

Also:Also:

Cluster: CCluster: C11 = {s = {s11}, }, CC55 = {s = {s22,s,s33}}, C, C4 4 = {s= {s44}}

•Bilde Knoten für CBilde Knoten für Ckk mit Kindern C mit Kindern Cii und C und Cjj und Höhe und Höheddijij

22

ddijij

22

Page 18: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

Ultra-Metriken:Ultra-Metriken:

In einer Ultra-Metrik gilt für 3 Werte a,b,c entwederIn einer Ultra-Metrik gilt für 3 Werte a,b,c entweder

•a = b = c a = b = c •oder (sei oder (sei cc o.B.d.A. der o.B.d.A. der kleinstekleinste der 3 Werte) der 3 Werte) a = ba = b > c> c

Übertragen auf die Distanzen bedeutet dies:Übertragen auf die Distanzen bedeutet dies:

a ba b c c

ddabab = d = dacac = d = dbcbc

a ba b c c

ddacac = d = dbcbc > d> dabab

Besitzen die Distanzen der Eingabe-Sequenzen zueinander Besitzen die Distanzen der Eingabe-Sequenzen zueinander nichtnicht die die Ultrametrik-Eigenschaft, dann kann es bei dem durch UPGMA Ultrametrik-Eigenschaft, dann kann es bei dem durch UPGMA konstruierten Baum zu konstruierten Baum zu falschen Ergebnissenfalschen Ergebnissen kommen. kommen.

Page 19: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

UPGMA mit Ultra-MetrikUPGMA mit Ultra-Metrik

Behauptung:Behauptung: Wenn die Distanzen eine Ultra-Metrik bilden, bekommen wir Wenn die Distanzen eine Ultra-Metrik bilden, bekommen wir duch den UPGMA-Algorithmus einen vernünftigen Baum. duch den UPGMA-Algorithmus einen vernünftigen Baum. (d.h. Höhe Eltern ≥ Höhe Kinder)(d.h. Höhe Eltern ≥ Höhe Kinder)

Beweis (durch Widerspruch):Beweis (durch Widerspruch):

Annahme: Höhe(p) < Höhe(k)Annahme: Höhe(p) < Höhe(k) (also k kein Blatt, da Blätter Höhe 0 haben)(also k kein Blatt, da Blätter Höhe 0 haben)

pp

llkk

ii jj

ddklkl = =11

|C|Cii| + |C| + |Cjj||(d(dil il |C|Cii| + d| + djl jl | |

CCjj|)|)

= 2 = 2 Höhe(p) Höhe(p) < 2 < 2 Höhe(k) =d Höhe(k) =dij ij (nach (nach

Annahme)Annahme)11

|C|Cii| + |C| + |Cjj|||C|Cii| | d dilil + |C + |Cjj| |

ddjljl

))((Also:Also: < d< dijij

=> |C=> |Cii| | d dilil + |C + |Cjj| | d djl jl < d< dijij |C |Cii| + | + ddijij | |

CCjj||Nach der Ultrametrik-Eigenschaft gilt:Nach der Ultrametrik-Eigenschaft gilt: ddilil = d = djljl ≥ d ≥ dijij

=> d=> dilil < d < dijij und d und djljl < d < dijij

ddijij nicht kleinste Distanz war. (Widerspruch) nicht kleinste Distanz war. (Widerspruch)=> i und j durften gar nicht verbunden werden, weil=> i und j durften gar nicht verbunden werden, weil

Page 20: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

Beispiel:Beispiel:

A:A: A ATTCGAATACAGATTCGGTCGAATACAGATTCGGT

B:B: A AAACGAATACAGATTCGGTCGAATACAGATTCGGT

C:C: ACCGTATGCAGCTTCGGT ACCGTATGCAGCTTCGGT

D:D: AGTGCATCCAGTTTCAGT AGTGCATCCAGTTTCAGT

E:E: AGAGCATCCAGTTTCCGT AGAGCATCCAGTTTCCGT

Wir haben 5 unterschiedliche Sequenzen:Wir haben 5 unterschiedliche Sequenzen:

- 1 4 6 6

- 4 6 6

- 6 6

- 2

-

AA BB CC DD EE

AA

BB

CC

DD

EE

Bestimmen des Minimus:Bestimmen des Minimus: d(A,B) = 1d(A,B) = 1

=>=> neues Cluster = {{A},{B}} neues Cluster = {{A},{B}}

Berechnung der Kantenlänge bis zum Berechnung der Kantenlänge bis zum Knoten: Knoten: => d(A,B)/2 = 0,5=> d(A,B)/2 = 0,5

A B C D EA B C D E0,50,5

Distanzmatrix MDistanzmatrix M

Page 21: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

d((i,j),k)d((i,j),k)11

|C|Cii| + |C| + |Cjj||== |C|Cii| | d dikik + |C + |Cjj| |

ddjkjk

))((

Die Distanz zwischen zwei Clustern CDie Distanz zwischen zwei Clustern Ci,ji,j und C und Ckk berechnet man (wie schon berechnet man (wie schon

gezeigt) mit folgender Formel:gezeigt) mit folgender Formel:

Man erhält somit folgende neue Distanzmatrix:Man erhält somit folgende neue Distanzmatrix:

- 1 4 6 6

- 4 6 6

- 6 6

- 2

-

AA BB CC DD EE

AA

BB

CC

DD

EE

alte Distanzmatrix Malte Distanzmatrix M

{A,B}{A,B} CC DD EE

{A,B}{A,B}

CC

DD

EE

neue Distanzmatrix M’neue Distanzmatrix M’

- (4+4)/2 =4

(6+6)/2 =6

(6+6)/2 =6

- 6 6

- 2

-

Page 22: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

Bestimmen des Minimus:Bestimmen des Minimus: d(D,E) = 2d(D,E) = 2

=>=> neues Cluster = {{D},{E}} neues Cluster = {{D},{E}}

Berechnung der Kantenlänge bis zum Berechnung der Kantenlänge bis zum Knoten: Knoten: => d(D,E)/2 = 1=> d(D,E)/2 = 1

{A,B}{A,B} CC DD EE

{A,B}{A,B}

CC

DD

EE

Distanzmatrix M’Distanzmatrix M’

- 4 6 6

- 6 6

- 2

-

Mit der neuen Matrix M’ fahren wir nun genauso fort:Mit der neuen Matrix M’ fahren wir nun genauso fort:

A B C D EA B C D E0,50,5

11{A,B}{A,B} CC {D,E}{D,E}

neue Distanzmatrix M’’neue Distanzmatrix M’’

- 4 (6+6)/2 =6

- (6+6)/2 =6

-

CC

{D,E}{D,E}

{A,B}{A,B}

Page 23: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

Bestimmen des Minimus:Bestimmen des Minimus: d((A,B),C) = 4d((A,B),C) = 4

=>=> neues Cluster = {{A,B},{C}} neues Cluster = {{A,B},{C}}

Berechnung der Kantenlänge bis zum Berechnung der Kantenlänge bis zum Knoten: Knoten: => d((A,B),C)/2 = 2=> d((A,B),C)/2 = 2

Distanzmatrix M’’Distanzmatrix M’’

Analog geht es weiter mit der Matrix M’’:Analog geht es weiter mit der Matrix M’’:

{A,B,C}{A,B,C} {D,E}{D,E}

neue Distanzmatrix M’’’neue Distanzmatrix M’’’

{D,E}{D,E}

{A,B,C}{A,B,C}

{A,B}{A,B} CC {D,E}{D,E}

- 4 6

- 6

-

CC

{D,E}{D,E}

{A,B}{A,B}

A B C D EA B C D E0,50,5

11

1,51,5- (12+6)/(2+1) =6

-

Page 24: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

Bestimmen des Minimus:Bestimmen des Minimus: d((A,B,C),(D,E)) = 6d((A,B,C),(D,E)) = 6

=>=> neues Cluster = {{A,B,C},{D,E}} neues Cluster = {{A,B,C},{D,E}}

Berechnung der Kantenlänge bis zum Berechnung der Kantenlänge bis zum Knoten: Knoten: => d((A,B,C),(D,E))/2 = 3=> d((A,B,C),(D,E))/2 = 3

Als letztes wird die Matrix M’’’ bearbeitet:Als letztes wird die Matrix M’’’ bearbeitet:

{A,B,C}{A,B,C} {D,E}{D,E}

Distanzmatrix M’’’Distanzmatrix M’’’

{D,E}{D,E}

{A,B,C}{A,B,C} - 6

-

Unser fertiger UPGMA-Baum!Unser fertiger UPGMA-Baum!

A B C D EA B C D E0,50,5

11

1,51,5

2211

Page 25: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

Bei dem Bei dem UPGMA-VerfahrenUPGMA-Verfahren entstehen immer Bäume entstehen immer Bäume mitmit Urvater, wobei Urvater, wobei zwei Sequenzen als benachbart angesehen werden, deren Abstand minimal ist.zwei Sequenzen als benachbart angesehen werden, deren Abstand minimal ist.

Bei dem nächsten Algorithmus entstehen Bäume Bei dem nächsten Algorithmus entstehen Bäume ohneohne Urvater. Es werden Urvater. Es werden Distanzen gebildet, die die mittlere Distanz zu allen anderen Sequenzen Distanzen gebildet, die die mittlere Distanz zu allen anderen Sequenzen abziehen.abziehen.

Es handelt sich um den Es handelt sich um den Neighbour –Joining-AlgorithmusNeighbour –Joining-Algorithmus..

Es können hier Kanten zwischen Sequenzen entstehen, die nicht die minimale Es können hier Kanten zwischen Sequenzen entstehen, die nicht die minimale Distanz zueinander haben.Distanz zueinander haben.

Es wird ein Es wird ein ungewurzelterungewurzelter, additiver Baum konstruiert., additiver Baum konstruiert.

Page 26: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

Unser Ziel bei der Konstruktion von phylogenetischen Bäumen ist es Unser Ziel bei der Konstruktion von phylogenetischen Bäumen ist es möglichst nah am optimalen Baum zu bleiben.möglichst nah am optimalen Baum zu bleiben.

D.h. wir wollen die „Fehler“ zum optimalen Baum möglichst gering D.h. wir wollen die „Fehler“ zum optimalen Baum möglichst gering halten, also folgenden Ausdruck minimieren:halten, also folgenden Ausdruck minimieren:

(D(i,j) - d(i,j))(D(i,j) - d(i,j))22

(i,j)(i,j)

D(i,j) = vorgegebene DistanzD(i,j) = vorgegebene Distanz

d(i,j)= im Baum abgelesene Distanzd(i,j)= im Baum abgelesene Distanz

NP-hartes ProblemNP-hartes Problem

Zur Erinnerung: Zur Erinnerung:

Wie der UPGMA-Algorithmus bietet der Neighbour-Joining eine Wie der UPGMA-Algorithmus bietet der Neighbour-Joining eine effiziente Alternative mit einer Laufzeit von O(Neffiziente Alternative mit einer Laufzeit von O(N33).).

3.2 Neighbour-Joining Algorithmus3.2 Neighbour-Joining Algorithmus

Page 27: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

mm

ii jj

k = (i,j)k = (i,j)

Gegeben sind dGegeben sind dimim, d, dijij, d, djmjm..

ddimim = d = dikik + d + dkmkm

ddjmjm = d = djkjk + d + dkmkm

2 d2 dkmkm = = ddimim – d– dikik + d + djmjm - d- djkjk

= d= dimim + d + djmjm - d- dijij (wegen d(wegen dijij = d = dikik + d + djkjk))

Distanz von einem neuen Elterknoten k zu allen anderen KnotenDistanz von einem neuen Elterknoten k zu allen anderen Knoten

ddkmkm = =ddimim + d + djmjm - d - dijij

22Also:Also:

Wir haben also zwei Knoten i und j miteinander verbunden, erhalten dabei Wir haben also zwei Knoten i und j miteinander verbunden, erhalten dabei den Knoten k, und berechnen die Distanzen von k zu allen anderen Knoten.den Knoten k, und berechnen die Distanzen von k zu allen anderen Knoten.

Doch es bleibt die Frage, welche Knoten i und j man verbinden soll.Doch es bleibt die Frage, welche Knoten i und j man verbinden soll.

Dazu definieren wir eine sog. “Kunstdistanz” K:Dazu definieren wir eine sog. “Kunstdistanz” K:

KKijij := d := dijij – (r – (rii +r +rjj))

rrii ist der ist der durchschnittliche Abstanddurchschnittliche Abstand zu allen anderen Knoten zu allen anderen Knoten

rrii := :=n-2n-211 ∑∑ m≠im≠i ddimim

Wir definieren dWir definieren dikik und d und djkjk::ddijij+(r+(rii-r-rjj))ddikik = =

22

ddijij+(r+(rjj-r-rii))ddjkjk = =22

Page 28: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

Wir haben nun alle Formeln, mit denen der Wir haben nun alle Formeln, mit denen der Neighbour-JoiningNeighbour-Joining Algorithmus Algorithmus arbeitet:arbeitet:

Es folgt jetzt der Algorithmus.Es folgt jetzt der Algorithmus.

rrii ist der durchschnittliche Abstand zu allen anderen Knoten ist der durchschnittliche Abstand zu allen anderen Knoten

rrii := :=n-2n-211 ∑∑ k≠ik≠i ddikik

Wir haben eine “Kunstdistanz” K definiert, um i und j zu wählen:Wir haben eine “Kunstdistanz” K definiert, um i und j zu wählen:

KKijij := d := dijij – (r – (rii +r +rjj))

ddkmkm = =ddimim + d + djmjm - d - dijij

22

ddijij+(r+(rii-r-rjj))ddikik = =22

ddijij+(r+(rjj-r-rii))ddjkjk = =22

mm

ii jj

Zusammgefasst:Zusammgefasst:

k = (i,j)k = (i,j)

Die Kantenlängen dDie Kantenlängen dkiki und d und dkjkj::

Distanz von neuem Knoten k zu allen anderen KnotenDistanz von neuem Knoten k zu allen anderen Knoten

Page 29: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

Algorithmus: Neighbour JoiningAlgorithmus: Neighbour Joining

1) Berechne alle r1) Berechne alle rii und alle K und alle Kijij..

2) Wähle i und j mit minimalem K2) Wähle i und j mit minimalem Kijij..

ddijij+(r+(rii-r-rjj))ddikik = =22

ddijij+(r+(rjj-r-rii))ddjkjk = =22

Dann ist zwar dDann ist zwar dikik ≠≠ d djkjk, aber d, aber dijij ist richtig widergegeben. ist richtig widergegeben.

3) Erzeuge den neuen Knoten k=(i,j) und Kanten (i,(i,j)) und (j,(i,j)) mit den3) Erzeuge den neuen Knoten k=(i,j) und Kanten (i,(i,j)) und (j,(i,j)) mit denLängen:Längen:

4) Berechne für m 4) Berechne für m {i,j}{i,j}ddkmkm = =

ddimim + d + djmjm - d - dijij

225) Die neue Blättermenge B’ ergibt sich aus der alten Blättermenge B durch5) Die neue Blättermenge B’ ergibt sich aus der alten Blättermenge B durch

B’ = (B – {i,j}) B’ = (B – {i,j}) UU {k} {k}

Alle Schritte werden iteriert, bis alle Blätter im Baum durchlaufen sind, also Alle Schritte werden iteriert, bis alle Blätter im Baum durchlaufen sind, also (n-1)-mal.(n-1)-mal.

Page 30: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

Beispiel:Beispiel:

- 8 7 12

- 9 14

- 11

-

AA BB CC DD

AA

BB

CC

DD

Gegeben seien 4 Sequenzen, die sich in Gegeben seien 4 Sequenzen, die sich in der folgenden Distanzmatrix darstellen der folgenden Distanzmatrix darstellen lassen.lassen.

Distanzmatrix MDistanzmatrix M

1) Alle r1) Alle rii werden berechnet: werden berechnet:rrAA = ½ (8+7+12)=13,5 = ½ (8+7+12)=13,5rrBB = ½ (8+9+14)=15,5 = ½ (8+9+14)=15,5rrCC = ½ (7+9+11)=13,5 = ½ (7+9+11)=13,5rrDD = ½ (12+14+11)=18,5 = ½ (12+14+11)=18,5

Alle Kunstdistanzen KAlle Kunstdistanzen Kijij werden berechnet: werden berechnet:

KKABAB = d = dABAB – (r – (rAA +r +rBB))

= 8 – (13,5 +15,5) = = 8 – (13,5 +15,5) = -21-21

-21-21

-20-20 -20-20

-20-20 -20-20 -21-21

2) Wähle i und j mit minimalem K2) Wähle i und j mit minimalem Kijij..

=> K=> KABAB oder K oder KCDCD

Wir wählen die Knoten A und BWir wählen die Knoten A und B AA

BBCC

DD

kk11

B= {A,B,C,D}B= {A,B,C,D}

3) Bestimmung der Kantenlänge:3) Bestimmung der Kantenlänge:

33

55

4) 4) nächste Seite nächste Seite

5) B’ ={C,D,5) B’ ={C,D,kk11}}

8 +(13,5-15,5)8 +(13,5-15,5)ddA,kA,k = =22

= 3= 311

8 +(15,5-13,5)8 +(15,5-13,5)ddB,kB,k = =22

= 5= 511

Page 31: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

- 8 7 12

- 9 14

- 11

-

AA BB CC DD

AA

BB

CC

DD

alte Distanzmatrix Malte Distanzmatrix M

-21-21

-20-20 -20-20

-20-20 -20-20 -21-21

4) Distanzen von k4) Distanzen von k11 werden neu ermittelt. Es entsteht eine neue Distanzmatrix. werden neu ermittelt. Es entsteht eine neue Distanzmatrix.

- 44 99

- 11

-

KK11 CC DD

KK11

CC

DD

= = 44

Hierbei ist:Hierbei ist:

ddk C k C ==ddACAC + d + dBCBC - d - dABAB

2211

ddk D k D ==ddADAD + d + dBDBD - d - dABAB

2211= = 99

neue Distanzmatrix M’neue Distanzmatrix M’

Mit dieser Distanzmatrix wird Mit dieser Distanzmatrix wird analog verfahren.analog verfahren.

Page 32: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

- 44 99

- 11

-

KK11 CC DD

KK11

CC

DD

Distanzmatrix M’Distanzmatrix M’

B ={C,D,kB ={C,D,k11}}1) Alle r1) Alle rii werden berechnet: werden berechnet:

rrKK = ½ (4+9)=6,5 = ½ (4+9)=6,5

rrCC = ½ (4+11)=7,5 = ½ (4+11)=7,5rrDD = ½ (9+11)=10 = ½ (9+11)=10

11

Alle Kunstdistanzen KAlle Kunstdistanzen Kijij werden berechnet: werden berechnet:

-10-10

-7,5-7,5 -6,5-6,5

2) Wähle i und j mit minimalem K2) Wähle i und j mit minimalem Kijij..

Wir wählen die Knoten KWir wählen die Knoten K1 1 und Cund C

CC

DD

AA

BB

kk11

33

55 kk22

3) Bestimmung der Kantenlänge:3) Bestimmung der Kantenlänge:

4 +(7,5-6,5)4 +(7,5-6,5)ddC,kC,k = =22

= 2,5= 2,52222

4+(6,5-7,5)4+(6,5-7,5)ddk , kk , k = = = 1,5= 1,52211

1,51,5

2,52,5

5) B’ ={D,5) B’ ={D,kk22}}

Es bleibt nur noch die Kantenlänge von kEs bleibt nur noch die Kantenlänge von k22 zu D zu berechnen. zu D zu berechnen.

4) Da wir nur noch 2 Knoten verbinden müssen, 4) Da wir nur noch 2 Knoten verbinden müssen, berechnen wir keine neue Distanzmatrix,sondern berechnen wir keine neue Distanzmatrix,sondern verbinden sie direkt.verbinden sie direkt.

Aus der vorgegebenen Distanzmatrix entnehmen wir die Distanz dAus der vorgegebenen Distanzmatrix entnehmen wir die Distanz dCDCD = 11. = 11.

8,58,5

Hieraus ergibt sich dHieraus ergibt sich dk Dk D = 8,5. = 8,5.22

Page 33: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

Zur Laufzeitanalyse von Neighbour Joining:Zur Laufzeitanalyse von Neighbour Joining:

In der ersten Runde ergibt sichIn der ersten Runde ergibt sich

1. Schritt:1. Schritt: Berechnung rBerechnung rii: O(n: O(n22))

Berechnung KBerechnung Kijij: O(n: O(n22))

2. Schritt:2. Schritt: Minimales KMinimales Kijij wählen: O(n wählen: O(n22))

3. Schritt:3. Schritt: Neuer Knoten mit Längen: O(1)Neuer Knoten mit Längen: O(1)

4. Schritt:4. Schritt: Neue Distanzmatrix erstellen: O(n)Neue Distanzmatrix erstellen: O(n)

5. Schritt:5. Schritt: Neue Blättermenge erstellen: O(n)Neue Blättermenge erstellen: O(n)

Für die weiteren Durchläufe gilt:Für die weiteren Durchläufe gilt:

1. Schritt:1. Schritt: Berechnung rBerechnung rii: O(n): O(n)

Berechnung KBerechnung Kijij: O(n): O(n)

3.- 5. 3.- 5. Schritt:Schritt:

Zusammen in O(nZusammen in O(n22))

Damit hat der Algorithmus eine Gesamtlaufzeit von O(nDamit hat der Algorithmus eine Gesamtlaufzeit von O(n33))

Page 34: Phylogenetische Bäume & ihre Konstruktion referiert von Marc Bachstein und Youssef Ben cheikh Proseminar Algorithmen und Datenstrukturen im WS 02/03 im.

4. Zusammenfassung4. Zusammenfassung