Ausarbeitung

Werbung
1
Phylogenetische Bäume – Distanzbasierte Methoden
SoSe 2016, Proseminar Bioinformatik (Heun)
Jonas Strauss
Die folgende Ausarbeitung ist stark an die Quellen [3] und [1] angelehnt (siehe
Literaturverzeichnis).
1. Einleitung
Seit Charles Darwins Veröffentlichung seiner Theorie über den Ursprung der Arten (On the Origin
of Species, 1859) ist uns, trotz (vor allem anfänglicher) Zweifel und Gegenstimmen, der
grundlegende Mechanismus der Evolution und Artbildung bekannt. In neuerer Zeit ergänzt um
neuere wissenschaftliche Erkenntnisse (Synthetische Evolutionstheorie) bildet sie noch immer einen
der Hauptpfeiler der modernen Biologie. Alle Populationen (und damit Arten) dieser Welt
unterliegen einem fortwährenden Anpassungsprozess, in dem sich die Bestangepassten Individuen
durchsetzen und so den Genpool verändern. Dadurch bilden sich ständig neue Spezies, während
andere aussterben. Das bedeutet unter anderem, dass alle heute lebenden Arten auf eine einzige
Ursprungsart zurückgehen.
Die Phylogenetik beschäftigt sich damit, den Evolutionären „Stammbaum“ der Arten zu
rekonstruieren. Da die meisten Vorfahren der heute lebenden Arten jedoch bestenfalls nur noch als
Fossilien vorhanden sind, viele nicht einmal das, ist dies meist schwierig bis unmöglich. Bevor
bekannt war, dass das Genom eines Lebewesens über die DNA weitergegeben wird bzw. dieses
effizient gelesen werden konnte, mussten Forscher sich auf phänotypische Merkmale der
betreffenden Lebewesen sowie ihre Erfahrung verlassen. Entsprechend ungenau und fehlerbehaftet
waren die entstehenden Bäume. Mathematische oder algorithmische Verfahren kamen kaum zum
Einsatz.
Seitdem das bestimmen von DNA-Sequenzen relativ schnell und billig geworden ist, und diese in
Datenbanken jedermann zur Verfügung stehen, werden zunehmend auch genotypische Vergleiche
genutzt. Algorithmische Methoden zur Bestimmung von Verwandtschaftsgraden zwischen Spezies
wurden zunächst nur langsam eingeführt, mittlerweile gibt es jedoch ein breites Spektrum an
Programmen und Werkzeugen, um phylogenetische Bäume zu erstellen, und zu be- und verarbeiten.
Auch kann man phylogenetische Bäume nicht nur für Spezies, sondern auch für Populationen,
Sequenzen (z.B. DNA, RNA, mtDNA ) etc. erstellen.
Dies kann man vor allem auf zwei Wegen tun: Über eigenschaftsbasierte (character based) oder
distanzbasierte (distance based) Algorithmen. Eingenschaftsbasierte phylogenetische Bäume
basieren auf einer Eigenschaftsmatrix der beteiligten Arten, die vorher für ein oder mehrere
Merkmale, die als wichtig für die Entwicklung der Spezies festgelegt/erachtet wurden.
Distanzbasierte Algorithmen verlassen sich dagegen auf eine Distanzmatrix M, die numerische
Daten zum evolutionären „Abstand“ von Arten beinhaltet.
2. Problemstellung
„Mit einer gegebene Distanzmatrix M würden wir gerne einen kanten-gewichteten Baum bauen, ,
sodass jedes Blatt genau einem Wert aus M entspricht und die Entfernung zwischen zwei Blättern i
und j mit dem exakten Wert von M ij korrespondiert. Kann ein solcher Baum gebaut werden, so
nennen wir die Distanzen in M additiv“.
Um einen additiven Baum auf einer Matrix M bauen zu können, muss diese die Kriterien eines
metrischen Raums erfüllen, d.h. alle Paare von Objekten aus M müssen eine Distanz d ij voneinander
haben, die entweder positiv oder gleich Null sowie symmetrisch ist, und für die die
Dreicksungleichung, d ij ⩽d ik +d kj gilt. Diese Eigenschaften gelten logischerweise auch für den
Baum, den wir erstellen wollen.
Um festzustellen, ob die Matrix und damit der Baum additiv sind, kann man die sogenannte Vier-
2
Punkt-Bedingung anwenden:
Lemma: M ist genau dann additiv, wenn für vier beliebige Objekte i , j , k , l∈M
gilt:
M ik +M jl =M il +M jk ⩾M ij +M kl
Beweis des Lemmas über Induktion über k:
Bäume im metrischen Raum mit bis zu drei Elementen müssen additiv sein. Sei O die Menge der
Objekte von M und P(k) die Annahme, dass für jede Teilmenge O' von O mit k Elementen ein
Baum existiert, falls die Vier-Punkt-Bedingung erfüllt ist. Wir nehmen an, dass
P(k-1) wahr ist (Induktionshypothese). Nachdem P(k-1) erfüllt ist und für zwei beliebige
a,b ϵ O' O' – {a} bzw. O' – {b} k-1 Elemente hat, existiert nach der IH ein additiver Baum Ta bzw.
Tb für diese. Da diese beiden Bäume in O'xO'-{a,b} identisch sein müssen, können wir sie
„übereinander legen“, sodass wir den Baum T erhalten. Für beliebige Objekte i,j aus O' – {a,b} ist
die Pfadlänge in T nun gleich Mij, also der Pfadlänge in Ta oder Tb. Für (a,b) kann man einen Pfad
zwischen zwei anderen Objekten c und d finden, sodass a und b ebenfalls an diesem hängen. Die
Pfadlänge zwischen a und b ist daher M ad +M bc−M cd =M ab → T ist ein additiver Baum auf M.
Auf der anderen Seite, falls M additiv ist, können wir vier beliebige Objekte so als i,j,k,l benennen,
dass wir folgenden Unterbaum erhalten:
l
Offensichtlich gilt in diesem Baum die
i
Vier-Punkt-Regel
x
y
k
j
Abb. 1
3. Konstruktion eines additiven Baumes
Besitzt der Baum nur ein oder zwei Blätter, so besteht er nur aus einem Punkt beziehungsweise
einer Linie mit zwei Punkten an ihrem Ende. Kommt ein dritter Knoten hinzu, benötigen wir einen
inneren Knoten. Die Position dieses Knotens lässt sich leicht berechnen, indem man die
Gleichungen
M ik =d ix +d kx (I)
M jk =d jx+d kx (II)
M ij =d ix +d jx (III)
Löst man nun III nach djx auf und setzt es in die Differenz von II und I ein, erhält man drei
Gleichungen, um die Position des inneren Knotens im Verhältnis zu den Blättern zu berechnen:
d ix =(M ij +M ik−M jk )
d jx =(M ij +M jk−M ik )
d kx =(M ik +M jk−M ij )
Das Hinzufügen weiterer Knoten zum Baum erfolgt auf die gleiche Weise: Man ersetzt k durch das
hinzuzufügende Blatt und i und j mit zwei beliebigen Blättern im Baum. Dann berechnet man den
neuen inneren Knoten mithilfe der unteren Gleichungen. Jetzt gibt es zwei Möglichkeiten:
Entweder der Knoten liegt auf der Kante zwischen den beiden gewählten Blättern; in diesem Fall
trägt man den neuen inneren Knoten und das neue Blatt ein. Beim zweiten Fall liegt der neue innere
Knoten genau auf einem schon bestehenden inneren Knoten k. Man ersetzt jetzt eines der beiden
Blätter i,j mit einem Blatt aus dem Unterbaum von k. Dann wiederholt man obige Schritte, so lange,
bis der erste Fall eintritt.
Dieser Algorithmus besitzt eine Zeit- und Speicherkomplexität von O(n²), da für n Elemente der
bestehende Baum einmal ganz durchlaufen werden muss (1+2+3+...+n-mal) und die Distanzmatrix
der wichtigste Speicherfaktor ist.
Allerdings bringt der additive Baum auch einige Probleme mit sich. Der Baum bzw. die zugehörige
Matrix gibt nur einfache Veränderungen zwischen zwei Objekten wieder. Er unterscheidet nicht,
wann eine Veränderung stattgefunden hat, ob sie etwa wiederum verändert wurde (z.B. Base A
3
mutiert zu T mutiert zu G, für die additive Matrix hat die T-Variante nie stattgefunden) oder sich
analog entwickelt hat (konvergente Evolution, z.B. Flügel bei Vögeln und Fledermäusen).
4. Ultrametrische Bäume
Eine simple Möglichkeit, dies bis zu einem gewissen Grad zu vermeiden, bieten ultrametrische
Matrizen bzw. Bäume. Diese bauen auf dem Modell einer konstant tickenden evolutionären Uhr
auf, das heißt alle Spezies entwickeln sich gleich schnell fort. Ultrametrische Matrizen und Bäume
sind immer auch additiv, allerdings sind sie im Gegensatz zu den „normalen“ gewurzelt. Alle Pfade
von der Wurzel zu jedem beliebigen Blatt sind genau gleich lang. Innere Knoten eines
ultrametrischen Baumes besitzen eine Höhe h, die als Summe der Pfade zu einem beliebigen Blatt
des eigenen Unterbaums definiert ist. Ist k der letzte gemeinsame Vorfahre zweier Blätter i und j, so
ist h(k )=M ij /2
Die Ultrametrie ist definiert durch die Drei-Punkt-Bedingung: M ist genau dann ultrametrisch,
wenn man drei beliebige Objekte so mit i,j,k benennen kann, dass gilt: M ik =M jk ⩾M ij
Seien a,b Blätter, die Mab maximieren (d.h. der Pfad zwischen a und b ist möglichst lang) und x der
Knoten, der Mab halbiert (also die Wurzel). Für alle Objekte o ϵ O gilt dann M ox =M ab /2 Der
Baum T(M) mit Wurzel x ist ultrametrisch, sowie M ob=M ab=M oa und damit auch
M ob=M ab ⩾M oa (Drei-Punkt-Bedingung ist erfüllt).
Andersherum gilt: Falls M ultrametrisch ist, können wir drei Objekte aus O so in i,j,k umbenennen,
dass der Unterbaum der drei Blätter folgendermaßen aussieht:
x
Es gilt offensichtlich M ik =M jk =2(M iy +M yx)≥ 2M iy=M iy +M jy =M ij
y
i
j
Abb. 2
k
5. Der UPGMA-Algorithmus
Der UPGMA-Algorithmus (UPGMA steht für Unweighted-Pair-Group-Method-with-Arithmeticmean) wird genutzt, um einen ultrametrischen Baum aufzubauen. Er basiert darauf, dass
ähnliche Objekte sich im Baum auch näher stehen. Dazu verbindet er je die
beiden sich am nächsten stehenden Cluster zu einem neuen Cluster C, wobei die Distanz zwischen
∑iϵC 1 (∑ jϵC 2 (M ij ))
zwei Clustern mithilfe von dist (C 1, C 2)=
berechnet wird. Die beiden
∣C 1∣∗∣C 2∣
nächststehenden Cluster werden mittels einer neuen Wurzel r miteinander verbunden. Die Höhe der
durch diesen Algorithmus erstellten Bäume ist hierbei definiert durch h(C) = dist(C1, C2) / 2
Damit die Ultrametrikbedingung weiterhin erfüllt ist (alle Blätter haben dieselbe Entfernung zur
Wurzel), müssen d(r,r1) = h(C) – h(C1) und d(r,r2) = h(C) – h(C2).
Jetzt müsste man für alle verbleibenden Cluster die dist-Gleichung erneut errechnen, um den
nächsten minimalen Abstand zu finden, was sehr zeitaufwendig wäre. Glücklicherweise ist es
jedoch möglich, die Distanz dist(C, C') zwischen dem neuen Cluster C und einem beliebigen
anderen Cluster C' auch aus den Werten von C1 und C2 zu errechnen:
(∣C ∣∗dist (C 1, C ' )+∣C 2∣∗dist (C 2, C ' ))
dist (C , C ')= 1
∣C∣
∑ iϵC 2 (∑ jϵC ' ( M ij ))
∑ iϵC 1(∑ jϵC ' (M ij ))
und dist (C 2, C ' )=
einsetzen →
dist (C 1, C ' )=
∣C 2∣∗C '
∣C 1∣∗∣C '∣
∣C 1∣∗∑iϵC 1 (∑ jϵC ' (M ij )) ∣C 2∣∗∑ iϵC 2 (∑ jϵC ' ( M ij ))
+
∣C 1∣∗∣C '∣
∣C 2∣∗∣C '∣
∣C∣
=
4
=
=
=
=
∑ iϵC 1 (∑ jϵC ' (M ij )) ∑iϵC 2 (∑ jϵC ' (M ij ))
+
∣C '∣
∣C '∣
=
∣C∣
∑ iϵC 1 (∑ jϵC ' (M ij )) ∑ iϵC 2 (∑ jϵC ' ( M ij ))
=
+
∣C '∣∗∣C∣
∣C '∣∗∣C∣
∑ iϵC 1 (∑ jϵC ' (M ij ))+∑iϵC 2 (∑ jϵC ' ( M ij ))
=
∣C '∣∗∣C∣
∑ iϵC (∑ jϵC ' ( M ij ))
= dist (C ,C ' )
∣C∣∗∣C '∣
Dieser Vorgang wird solange wiederholt, bis nur noch ein Cluster übrig ist. Dieses ist dann der
vollständige Baum.
Was noch zu zeigen bleibt, ist, ob der UPGMA-Algorithmus tatsächlich für jede ultrametrische
Matrix auch einen ultrametrischen Baum erstellt: Tatsächlich sind sogar alle Cluster, die der
UPGMA-Algorithmus erstellt ultrametrisch.
Beweis durch Induktion über i: Beim 0-ten Durchlauf der Schleife des Algorithmus sind alle Blätter
eigenständige Cluster, die logischerweise alle ultrametrisch sind. Bei der i-ten Wiederholung ist der
Knoten Ci bestehend aus Ci,1, Ci,2 ultrametrisch.
Wir zeigen, dass die Höhe des in der i+1-ten Iteration entstandenen Clusters größer ist als die Höhe
des in der i-ten Iteration entstandenen ( h(C(i+1) )≥h (C i ) ). Hierbei unterscheidet man zwei Fälle.
Fall 1: C i∉{C(i+1,1) ,C (i+1,2) } → Ci+1,1,Ci+1,2,Ci,1,Ci,2 sind mögliche Cluster, die das Cluster Ci bilden
können. Da wir letzendlich Ci,1 und Ci,2 Clustern, müssen die restlichen Distanzen zwischen den
Clustern größer sein als dist(Ci,1,Ci,2), das heißt auch dist (C(i+1,1) ,C (i+1,2) )≥ dist (C(i ,1) , C(i ,2))
dist (C(i+1,1) , C(i+1,2) ) dist (C (i ,1) ,C (i ,2) )
≥
= h (C i)
und damit h( C(i+1) )≥h (C i ) , da h(C(i+1) ) =
2
2
Fall 2: C i ϵ C (i+1,1) ,C (i+1,2) → Wir setzen Ci = Ci+1,1 → Ci+1,2,Ci,1,Ci,2 sind mögliche Cluster, die
das Cluster Ci bilden können. Da wir letzendlich C i,1 und Ci,2 Clustern, müssen die restlichen
Distanzen zwischen den Clustern größer sein als dist(Ci,1,Ci,2), das heißt auch
dist (C(i ,1) , C(i+1,2) )≥ dist (C (i ,1) , C (i ,2)) und dist (C(i ,2) , C(i+1,2) ) ≥ dist (C (i ,1) , C (i ,2))
Daher ist auch dist (C(i+1,1) ,C (i+1,2) )=dist (C i ,C (i+1,2)) ) =
(∣C (i ,1)∣∗dist (C (i ,1) , C (i+1,2 )) + ∣C(i ,2)∣∗dist (C (i ,2) ,C (i+1,2) ))
=
≥
(∣C (i ,1)∣ + ∣C(i ,2)∣)
(∣C (i ,1)∣∗dist (C (i ,1) , C (i ,2)) + ∣C (i ,2)∣∗dist (C (i ,2) , C (i ,2)))
≥
=
(∣Ci ,1∣ + ∣Ci ,2∣)
= dist ( C(i ,1) ,C (i ,2) )
→ h( C(i+1) )≥h (C i )
Ci+1 besteht nun aus zwei ultrametrischen Bäumen, C i+1,1 und Ci+1,2 ,sowie einer Wurzel r. Um nun zu
zeigen, dass Ci+1 ein ultrametrischer Baum ist, muss nur noch bewiesen werden, dass d(r,r 1) und
h( C(i+1) )≥h (C i ) , ist auch
d(r,r2) nicht negativ sind: Da, wie oben bewiesen,
h( C(i+1) )≥ h(C (i+1,1) ) , h( C(i+1,2) )
d (r , r1)=h(C (i+1) ) – h(C (i+1,1))≥ 0
und damit
bzw.
d (r , r2)=h (C (i+1) )– h (C(i+1,2) )≥ 0
Das heißt, dass der UPGMA-Algorithmus für ultrametrische Matrizen tatsächlich nur ultrametrische
Cluster und damit auch einen ultrametrischen Baum erstellt.
5
Der UPGMA durchläuft insgesamt n-1-Mal die Hauptschleife, wobei er für die Neuberechnung der
Distanzen jedes Mal O(n²) Schritte braucht, da er jedes Mal die gesamte Matrix durchläuft. Daher
hat dieser UPGMA eine Zeitkomplexität von O(n³). Mit der verbesserten Variante dagegen benötigt
er nur O(n) Schritte, da er die Distanz aus den Distanzen der Teilbäume 'recycelt', wodurch der
Algorithmus nur noch eine Zeitkomplexität von O(n²) hat.
Platztechnisch wird der UPGMA von der Eingangsmatrix dominiert, die eine Platzkomplexität von
O(n²) besitzt.
Der UPGMA-Algorithmus ist nicht sehr anfällig gegenüber einer fehlerbehafteten Eingabe, auch
wenn die Eingangsmatrix nicht exakt ultrametrisch ist, findet der UPGMA meistens einen Baum,
der sich dem ultrametrischen zumindest annähert. Auf der anderen Seite liegen die Schwächen des
UPGMA natürlich darin, dass zum einen die meisten Distanzmatrizen nicht in additiver Form
vorliegen, geschweige denn in ultrametrischer. Zum anderen ist bekannt, dass sich die
Evolutionsgeschwindigkeit bei verschiedenen Arten oder Populationen, sogar innerhalb von
Genomen, teils massiv unterscheidet. Ein für den Organismus essentielles Protein wird eher selten
bis nicht mutieren (z.B. Cytochrom C), bzw. die betreffenden Organismen sind oft nicht mehr
lebensfähig und damit auch nicht zur Fortpflanzung in der Lage. Auf der anderen Seite kann eine
Population gezwungen sein, sich schnell an ihre Umgebung anzupassen, um nicht auszusterben oder
sich selbst zu viel Konkurrenz zu machen (z.B. 'Darwinfinken' auf den Galapagos-Inseln).
Literaturverzeichnis:
[1] J. Setubal, J. Meidanis: Introduction to Computational Molecular Biology, PWS,
Abschnitte 6.1, 6.5.1
1997;
[2] P. Clote, R. Backofen: Computational Molecular Biology – An Introduction, Wiley 2000;
Abschnitte 4.3.0 und 4.3.1
[3] W.-K: Sung: Algorithms in Bioinformatics – A Practical Introduction, Abschnitt, 7.1, 7.3, CRC
Press, 2010
Herunterladen