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