Bioinformatik Einführung in die Phylogenie (lat.: phylum = Stamm) Distanzbasierte phylogenetische Algorithmen Ulf Leser Wissensmanagement in der Bioinformatik CLUSTAL W: Grundaufbau • Gegeben k Sequenzen • Drei Schritte – Berechne alle paarweisen Alignmentscores – Konstruiere einen „Guide Tree“ durch hierarchisches Clustering – Berechne Teil-MSA und verschmelze sie gemäß dem Guide Tree • Idee dahinter – Aligniere erst sehr ähnliche Sequenzen – Signale werden verstärkt – Werden z.B. zwei sehr verschiedene Cluster von Sequenzen betrachtet, berechnet CLUSTAL automatisch erst zwei (homogene) MSA und verschmilzt diese am Ende • Hohe Chance, dass konservierte Blöcke erhalten bleiben – Außenseiter kommen erst spät dazu und können die Blockstruktur nicht mehr stören – Orientierung an der „tatsächlichen“ Entstehungsgeschichte, dem phylogenetischen Baum Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 2 Konstruktion des Guide Trees A A B C D E A 17 59 59 77 B 37 61 53 C 13 41 D 21 E B C D A A A B E CD 17 77 59 53 49 C 31 D B E B E E E CD CD 31 AB 65 54 Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 A A B B C C D D E E 3 Schritt 3: Progressive MSA Generierung • Berechnung paarweiser Alignments in der Reihenfolge des Guide Trees • Alignment einer Sequenz/MSA A1 mit einem MSA A2 – Dynamische Programmierung mit linearem Gapscore – Wert eines Mismatches/Matches ist der Durchschnittsscore aller Paare mit einer Aminosäure aus A1 und der anderen aus A2 – Gaps werden mit dem schlechtesten Score der verwendeten Substitutionsmatrix bestraft – Bei k Sequenzen sind das maximal k/2*k/2 = O(k2) Scores • Beispiel A B C …P… …G… …P… D E F …A… …A… …Y… • Score – (2*s(P,A)+s(P,Y)+ 2*s(G,A)+s(G,Y)+ 2*s(P,A)+s(P,Y) )/9 Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 4 Iterative Verfahren • CLUSTAL W ist „greedy“ – Ergebnis abhängig von der Reihenfolge des Hinzunehmens von Sequenzen – Der Guide Tree kann (evolutionär) falsch sein oder wenig Aussagekraft haben, wenn Unterschiede nur sehr klein sind – Was am Anfang schief läuft, ist besonders schlimm • „Once a gap, always a gap“ • Einmal getroffene Alignments werden nie mehr korrigiert, nur „gestreckt“ – Gefahr eines lokalen Minimums ist immer gegeben • Was kann man tun? – Vieles ausprobieren und Ergebnisse vergleichen • Verschiedene Reihenfolgen • Sampling – verschiedene Sequenzmengen – Iterative Verfahren – sukzessive Verbesserung des (progressiv gefundenen Alignments) • Jede Sequenz einmal entfernen und neu alignen • Solange bis Konvergenz • Weitere Iterationsstrategien bekannt Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 5 Aktuelles • • • • • 21.10.2004. Kleinstes Wirbeltiergenom birgt Erkenntnisse für Menschwerdung Paris/London (dpa) - Französische Forscher haben das kleinste bekannte Erbgut eines Wirbeltiers entziffert und damit auch neue Einblicke in die Entwicklung des Menschen ermöglicht. Die Entzifferung der 21 Chromosomen des Grünen Kugelfischs (Tetraodon nigroviridis) mit mehr als 300 Millionen «DNA-Buchstaben» erlaube Rückschlüsse auf das menschliche Erbgut, schreibt die Gruppe unter der Leitung von Hughes Roest Crollius vom französischen Forschungszentrum CNRS im Fachjournal «Nature» (Bd. 431, S. 946). Die oft als Zierfische gehaltenen Allesfresser enthielten zahlreiche «Schlüsselgene», die bisher bei Fischen unbekannt waren, und 900 zuvor unerkannte menschliche Gene. Für die meisten menschlichen Gene gebe es zwei Gegenstücke im Genom des Grünen Kugelfischs, heißt es. Bei den Vorfahren des Fischs habe es also einmal eine Genverdoppelung gegeben. Die Erkenntnisse ließen darauf schließen, dass der gemeinsame Vorfahr des Grünen Kugelfischs und des Menschen - ein Knochenfisch, der vor mehr als 400 Millionen Jahren lebte - zwölf Chromosomenpaare besessen habe. Das Genom des Grünen Kugelfisches ist nur ein Achtel so umfangreich wie das in menschlichen Zellen. Bestimmte Sequenzen sind verkleinert. In den vergangenen 400 Millionen Jahren sei das Genom des Grünen Kugelfischs nur zehn Mal in größerem Maße verändert worden, sehr viel seltener als das des Menschen, hieß es. Die 8 bis 17 Zentimer langen Tropenfische bevorzugen Brackwasser und leben in Flüssen und Sümpfen sowie küstennahen Meeren Süd- und Ostasiens. Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 6 Inhalt dieser Vorlesung • Phylogenetische Bäume • Entstehung von Stammbäumen: Evolution • Distanzbasierte Algorithmen zur Berechnung von Stammbäumen – Ultrametriken und additive Bäume Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 7 Phylogenetische Bäume Stammbaum (Phylogenetic Tree) Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 8 Stammbäume versus Klassifikation • Zuerst war die Klassifikation – Carl Linnaeus, ca. 1740: Systema Naturae – Annahme: Arten verändern sich nicht (Prä-Darwin) – Einteilung der Lebewesen in • Kingdoms - classes – orders –families – genera- species • SKOFGA (Stamm, Klasse, Ordnung, Familie, Gattung, Art) – Innere Knoten einer Klassifikation sind abstrakt • Stammbäume – Ergeben sich aus der Annahme der Evolution – Auch Stammbäume wurden lange aus morphologischen Eigenschaften abgeleitet – Jeder Knoten in einem Stammbaum hat einmal als Art existiert – Knoten im Baum (also Spezies) heißen taxa • Was definiert eine Spezies? Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 9 Klassifikation • • • • • • • • • • • • • Eukaryoten Tiere diverse Zwischenstufen Chraniata (Schädelknochen) Vertebraten (Wirbeltier) Viele Zwischenstufen Mammals (Säugetiere) Eutheria (Placenta) Primaten (Affen) Catarrhini Hominidae (Mensch, Schimpanse, OrangUtan, Gorilla) Homo (erectus, sapiens ...) Homo Sapiens Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 10 „Homo floresiensis“ (Hobbit?) H. sapiens H. habilis Homo (humans) H. ergaster H. rudolfensis H. erectus H. Floresiensis ? • Entdeckung 2003 • Lebte vermutlich vor 95 000 bis vor 12 000 Jahren auf der indonesischen Insel Flores • Körperhöhe nur ca. 100 cm • Gehirnvolumen nur 380 cm3 – Homo erectus: 600-1200, h. sapiens: 1400 • Rückentwicklung? Vorläufer? Quelle: Brown, P. et al. Nature 431, 1055-1061 (2004). Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 11 Evolutionsgeschichte neu geschrieben • Stammbaum – welche Art geht aus welcher hervor? Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 12 Charles Darwin „The origin of species“ (1859) Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 13 Bsp.: The Computer Tree Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 14 Moderne Stammbaumberechnung • Molecular phylogeny • „Berechnung“ von Stammbäumen aus molekularen Eigenschaften seit Mitte der 60ziger Jahre – Zuckerkandl und Pauling, 1965 • Berechnung aufgrund von DNA oder Proteinsequenzen • Annahme: Evolution verläuft in kleinen Schritten • Wenn sich also Sequenzen ähnlich sind, sind die Spezies evolutionär eng verwandt Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 15 Wozu? • Aufklärung der evolutionären Verhältnisse • Aufklärung von familiären Verhältnissen – Wenn genügend Sequenzen vorhanden • Aufklärung von Infektionswegen – Bei schnell mutierenden Viren (z.B. HIV) – Varianten werden in verschiedenen Personen gefunden – Herausrechnen des Verbreitungsweges anhand der Abstammungsverhältnisse • Phylogenetic Inference – Wenn alle nahe verwandten Spezies ein bestimmtes Gen haben, dann sollte ich das auch haben Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 16 Evolutionsmodell • Alles Leben stammt von einem Vorfahren ab • Dieser und seine Nachkommen vermehren sich durch Kopie • Beim Kopieren treten Fehler auf (Mutationen) – Nachfahren sind mehr oder weniger überlebensfähig • Selektion – „Survival of the fittest“ – Fatale Mutationen lassen Nachkommen gar nicht erst entstehen – Einschränkungen der Überlebensfähigkeit führen zur schnellen Ausrottung – Verlust der Fortpflanzungsfähigkeit führt zur Ausrottung nach einer Generation • Unterschiedliche Mutationen sind in unterschiedlichen Lebensräumen unterschiedlich vorteilhaft – Anpassung an ökologische Nischen Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 17 Artenbildung • Arten entstehen durch Veränderungen aus einer anderen Art Vorfahr Gorilla Humanoide Fische Reptilien H erectus H sapiens Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 Amphibien 18 Beobachtungen • Beobachten können wir immer nur die Mutationen, die sich durchgesetzt haben – Das können natürlich verschiedene Varianten sein – Wir können i.A. Mehrfachmutationen an einer Position nicht erkennen • Damit ist nicht alles festgelegt – Sind alle Mutationen gleich wahrscheinlich? • Substitutionsmatrizen – Treten Mutationen in gleicher Frequenz auf? • Gibt es Zeiten erhöhter Mutationshäufigkeit? – Bzw. – in denen Mutationen besonders häufig überleben – Sonneneruptionen, Dinosauriersterben, Klimaverschiebungen • Gibt es Lebewesen / Teilbäume, die schneller mutieren? – Abhängig vom Anpassungsdruck oder der Güte der Reparaturmechanismen • Gibt es Sequenzabschnitte, die unterschiedlich schnell mutieren? – Coding versus non-coding Regions • Annahme der Molecular Clock – Mutationen setzen sich bzgl. der Zeit immer mit gleicher Häufigkeit durch – Das heißt auch, dass alle Spezies die gleiche Mutationsrate haben Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 19 Daten • Messen kann man nur die DNA existierender Arten – Ur-DNA ist nicht bekannt – Vom Stammbaum kennt man also nur die Blätter • Zwei mögliche Ziele – Rekonstruktion des wahrscheinlichsten Stammbaums der Arten – Rekonstruktion der wahrscheinlichsten Ur-DNA und aller Zwischenstufen • Den tatsächlichen Stammbaum kann man nicht berechnen – Man kennt die ausgestorbenen Arten nicht – Man kann ausgestorbene Mutationen nicht erkennen – Man kann Doppelmutationen nicht erkennen Bekannt AGGTAGCT Bekannt Identisch! AGGTTGCT AGGTAGCT AGGTTGCT AGGTTTCT Unbekannt Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 AGGTTGCT Bekannt 20 Ein Baum? • Wir wollen Bäume für Spezies, aber Messen nur die DNA von Individuen • Stammbäume kann man unmittelbar berechnen für – Ein Gen innerhalb einer Art • Wunderbar zur Abstammungsbestimmung (Vaterschaftstest) – Ein Gen in verschiedenen Spezies • Damit erhält man einen Gen/Artenstammbaum • Den Artenstammbaum berechnet man als „Mittelwert“ aus den Stammbäumen vieler genspezifischer Stammbäume • Wir beschäftigen uns nur mit genspezifischen Stammbäumen Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 21 Probleme mit dem Modell • Gene Fusion • Paralogs • Horizontal gene transfer • Evolutionsereignisse sind nicht nur Mutationen • Homoplasy – Gene in einem Genom können verschmelzen – Die haben dann tatsächlich zwei Vorfahren im Genom des Vorfahrens – – – – Gene duplizieren sich innerhalb eines Genoms und divergieren durch Mutationen Ortholog – Ähnliches Gen in anderer Art (mit wahrscheinlich gleicher Funktion) Paralog – Ähnliches Gen in gleicher Art (mit eventuell anderer Funktion) Man darf nur orthologe Gene miteinander vergleichen, sonst werden Voraussetzungen verletzt – Gerade im Viren / Bakterienbereich bekannt – Auch in höheren Lebewesen schon beobachtet (vermittelt durch Bakterien) – Rekombination bei geschlechtlicher Fortpflanzung – Verschieben / Löschen von ganzen Sequenzblöcken – Sequenzen, die sich ähnlich sind aber nicht miteinander verwandt sind – „Convergent evolution“ – Arten entwickeln Fähigkeiten oft unabhängig voneinander Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 22 Bäume • Knoten = Arten • Blätter = Lebende Arten? • Kanten • • Jeder Knoten hat exakt einen Vater Wurzel • Unser Bäume sind alle binär • Es gibt viele Visualisierungsvarianten – Lebend oder ausgestorben – Die Sequenz der Blätter kennt man, die von inneren Knoten nicht – Endpunkte einer bekannten Entwicklung – Symbolisieren Mutationen – Länge kann (muss nicht) mit zeitlicher Entfernung korrelieren (Scaled trees) – I.A. muss ein Baum keine Wurzel haben – Bei Stammbäumen ist die Wurzel u.U. nicht ohne weiteres berechenbar (siehe Maximum Parsimony) – Jeder Knoten hat exakt zwei Kinder – Reihenfolge der Kinder ist egal Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 23 Wie schwierig wird das? Wie viele binäre, ungeordnete Bäume für n Spezies gibt es? A A B B A C A A B B D A C C B D C A A C B D B B Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 D A C B A B C C C 24 D Von Blättern zu inneren Knoten • Aus einem binären Baum mit n Blättern und k Kanten können k+1 binäre Bäume mit n+1 Blättern hervorgehen • Wie viele Kanten hat ein binärer Baum? – Jeder Knoten außer der Wurzel hat genau eine eingehende Kante – Also sind es „Anz. Blätter“ + „Anz. innere Knoten“ -1 (Wurzel) • Wie viele innere Knoten k hat ein binärer Baum mit n Blättern? • Umgedreht: Wie viele Blätter (n) hat ein binärer Baum mit k inneren Knoten? – Induktionsanfang: Für k=1 ist n=2; n(1)=2=k+1 – Sei n(k) bekannt. Wo können wir neue innere Knoten hinzufügen? An jeder Kante. Der neue Knoten teilt die Kante und muss als Kind den alten Teilbaum und ein neues Blatt haben. Also gilt: k n(k + 1) = n(k ) + 1 = n(k − 1) + 1 + 1 = ... = ∑1 + 1 = k + 1 i =1 Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 25 Von Knoten zu Bäumen • Für die Anzahl innerer Knoten k (inkl. Wurzel) eines binären Baums mit n Blättern gilt: n=k+1; also k=n-1 • Ein binärer Baum mit n Blättern hat damit n+(n-1)-1=2n-2 Kanten • Also – Aus einem Baum mit 2 Blättern können (2*2-1)=3 Bäume mit 3 Blättern hervorgehen – Aus einem Baum mit 3 Blättern können (2*3-1)=5 Bäume mit 4 Blättern hervorgehen – ... – Aus einem Baum mit n Blättern können (2*n-1) Bäume mit n+1 Blättern hervorgehen Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 26 Ergebnis • Sei t(n) die Zahl binärer Bäume mit n Blättern t (n) = t (2) * t (3) * t (4) * ... * t (n − 1) = = 1* 3 * 5 * ... * (2(n − 1) − 1) = = = = = (2n − 3)! = 2 * 4 * 6 * ... * (2n − 4) (2n − 3)! = 2n − 4 2 4 6 2 * 2 * 2 * ... * 2 2 2 2 2 (2n − 3)! = 2 * (1) * 2 * (2) * 2 * (3) * ... * 2(n − 2) (2n − 3)! 2 n − 2 * (n − 2)! 1 1 2 1 3 3 4 15 5 105 6 945 7 10.395 8 135.135 9 2.027.025 10 34.459.425 11 654.729.075 12 13.749.310.575 13 316.234.143.225 14 7.905.853.580.625 15 213.458.046.676.875 16 6.190.283.353.629.370 17 191.898.783.962.511.000 18 6.332.659.870.762.850.000 19 221.643.095.476.700.000.000 20 8.200.794.532.637.890.000.000 Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 27 • Ultrametrische Bäume • Additive Bäume Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 28 Ultrametriken 100 Millionen Jahre 80 Millionen Jahre 30 Millionen Jahre A D B C • Stammbaum enthält die „branch points“ der Arten • Wenn man den Baum und die Zeitpunkte weiß, dann gilt – Alle Zahlen auf einem Pfad von der Wurzel zu einem beliebigen Blatt nehmen strikt ab – Wir können den Zeitpunkt der Aufsplitting als Abstandsmaß für zwei Arten (Blätter) benutzen • Für Blätter X, Y sei d(X,Y) das Label des kleinsten gemeinsamen Vorfahren • Im Beispiel: d(A,B)=80, d(B,C)=100, d(A,D)=80 – Das ist eine Metrik • d(X,X)=0, d(X,Y)=d(Y,X), und d(X,Y)≤d(X,Z)+d(Z,Y) Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 29 Alles ganz einfach? • Schreibt man diese Abstände in eine Ähnlichkeitsmatrix, hat diese bestimme Eigenschaften (Ultrametrik) • Jede Matrix mit diesen Eigenschaften entspricht genau einem Baum und umgekehrt • Den Baum kann man aus der Matrix effizient berechnen – Siehe gleich • Also ist das Phylogenie-Problem überhaupt kein Problem? • Doch – denn wir wissen die Zeitpunkte nicht – Wir approximieren sie durch „irgendwelche“ Abstandsmasse (EditDistanz, Hamming-Abstand, ...) – Diese (gemessenen) Abstände müssen nicht die UltrametrikEigenschaften erfüllen (und tun es in der realen Welt auch nicht) Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 30 Ultrametrische Bäume • Definition Sei T ein Baum und D eine symmetrische Matrix mit n Zeilen und n Spalten. T heißt ultrametrischer Baum für D wenn gilt: – T hat n Blätter, beschriftet mit den Zeilen von D – Jeder innere Knoten von T hat zwei Kinder und ist mit einem Wert aus D beschriftet – Auf jedem Pfad von der Wurzel zu einem Blatt in T sind die Zahlen strikt abnehmend – Für alle Blätter i,j mit i≠j gilt: der kleinste gemeinsame Vorfahr von i und j ist mit D(i,j) beschriftet • Bemerkung – Jeder echte Stammbaum ist ultrametrisch für die Abstandsmatrix mit den Aufsplittzeitpunkten als Abstandsmaß Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 31 Beispiel 8 A A B C D E 8 8 5 3 3 8 8 8 8 B C D 5 3 3 5 A E E D B C Das geht nicht immer! A A B B 8 C 3/8 ? 5/8 ? 5/3 ? 5 3 A B C A C C Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 B A B C 32 Überlegungen • Das kann auch nicht immer gehen – Matrix hat (n2-n)/2 relevante Zellen – Baum hat nur n-1 innere Knoten – Eine Matrix, zu der man einen ultrametrischen Baum konstruieren kann, muss also Duplikate enthalten • Definition Eine symmetrische Matrix D mit n Spalten und Zeilen ist ultrametrisch, wenn für beliebige Zeilen i, j, k gilt, dass das Maximum von D(i,j), D(j,k) und D(i,k) genau zweimal vorkommt • Bemerkung – Sprich: Entweder • D(i,j)=D(j,k) und D(i,j)>D(i,k) • D(i,j)=D(i,k) und D(i,j)>D(j,k) • ... – Begriff: Eine Ultrametrik ist eine Metrik mit der zusätzlichen Bedingung d(a,c)≤max(d(a,b), d(b,c)) • Für Metriken gilt nur d(a,c) ≤ d(a,b)+d(b,c) Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 33 Von der Matrix zum Baum und zurück • Theorem Eine symmetrische Matrix D hat einen ultrametrischen Baum dann und nur dann wenn D selber ultrametrisch ist • Beweis – (1) Nehmen wir erst an, dass zu D ein ultrametrischer Baum T existiert. Nehmen wir an, dass i, j, k wie folgt liegen (alle anderen Knoten können wir ignorieren) i j k – Dann gilt offensichtlich D(i,k)=D(j,k) und D(i,k)>D(i,j) – Dito kann man für die zwei anderen Varianten der möglichen Lage von i, j, k verfahren – Also ist D ultrametrisch Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 34 Beweis Gegenrichtung • (2) Nehmen wir an, dass D ultrametrisch ist. Wir konstruieren einen ultrametrischen Baum T aus D – Betrachten wir eine beliebige Zeile i. Diese entspricht einem Blatt i in T – i hat n-1 kleinste gemeinsame Vorfahren (mit den n-1 anderen Blättern), die beschriftet werden müssen mit den Werten D(i,x), x≠i. Und das in sortierte Reihenfolge – Der Pfad von i zur Wurzel muss nicht n-1 Knoten enthalten, denn Werte können doppelt vorkommen. Nehmen wir an, dass es auf dem Pfad d verschiedene Werte gibt (d≤n-1) ... d Knoten ...... i ...... ... ... Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 35 Beweis Gegenrichtung -2• Die Menge aller Blätter (ohne i) zerfällt also in d Klassen – Alle Knoten einer Klasse befinden sich in einem Teilunterbaum bzgl. des Pfades von i zur Wurzel – Alle Knoten einer Klasse haben den selben Abstand zu i • Wir basteln jetzt aus jeder Klasse einen Baum, dessen Wurzel der Knoten auf dem Pfad von i zur Wurzel ist • Betrachten wir ein Blatt j≠i und ein beliebiges anderes Blatt k≠i. Drei Möglichkeiten – k liegt in der selben Klasse wie j – k liegt in einer Klasse „links“ von j – k liegt in einer Klasse „rechts“ von j ... ... i ...,k?,... ...,k?,... Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 ...,k?,... ...,k?,... ...,j,...,k?,... ...,j,...,k?,... 36 Beweis Gegenrichtung -3• Fall 1: j und k in derselben Klasse – Es folgt: D(i,j)=D(i,k) und D(j,k)<D(i,j) • Fall 2: k liegt links von j – Es folgt: D(i,j)=D(k,j) und D(i,k)<D)i,j) • Fall 3: k liegt rechts von j – Es folgt: D(i,k)=D(j,k) und D(i,j)<D(j,k) • Da j und k beliebig waren, ist die Bedingung für ultrametrische Matrizen für alle Tripel mit i erfüllt • Nun kann man den Teilbaum für die Klasse bauen, die j enthält • Und so weiter .... • qed. ... ... i ...,k?,... ...,k?,... Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 ...,k?,... ...,k?,... ...,j,...,k?,... ...,j,...,k?,... 37 Folgerung • Der Beweis ist konstruktiv; man kann genau auf diese Weise einen ultrametrischen Baum bauen • Theorem Sei D eine ultrametrische Matrix. Dann gibt es genau einen ultrametrischen Baum T für D. • Beweis – Offensichtlich durch Konstruktion (siehe Gusfield, p453) • Kann in O(n2) implementiert werden – Ist also effizient lösbar Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 38 Aber Vorsicht • Reale Sequenzdaten sind selten ultrametrisch – Unterschiedlicher Selektionsdruck auf den Codon Positionen auf DNA Ebene – Unterschiedlicher Selektionsdruck auf verschiedenen Aminosäuren eines Proteins und auf unterschiedlichen Proteinen – Mehrfachmutationen erzeugen zu geringe Abstände • Wenn wir nur ein Gen betrachten und das alles nicht passieren würde (bzw. wir annehmen, dass das alles nicht passiert – Molecular Clock), dann sollte der Editabstand eine Ultrametrik ergeben • Beispiel: Keine Ultrametrik 1 Mutation 1 1 B 5 A 1 A C A B 5 D C B 6 C D 8 12 4 8 6 D Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 39 UPGMA - Hierarchisches Clustering • UPGMA – „Unweighted pair group method with arithmetic mean“ – Anderer Name: Hierarchisches Clustering • Sehr allgemeines Verfahren, kann bei allen möglichen Problemen angewandt werden • Sehr einfach, mit schönen Eigenschaften – Wenn eine Matrix ultrametrisch ist, dann findet UPGMA den richtigen Baum – Alle UPGMA Bäume sind binär • UPGMA nimmt die Molecular Clock an – alle Pfade von einem Blatt zur Wurzel haben am Ende die selbe Länge • Achtung: UPGMA konstruiert immer einen Baum – Auch wenn die Matrix nicht ultrametrisch ist Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 40 UPGMA Verfahren • Gegeben: Distanzmatrix D • Erzeuge ein „Baumgerüst“ mit n Blättern • Wähle den kleinsten D(i,j) Wert der Matrix und verbinde die Knoten i und j durch einen neuen Knoten (ij) mit Beschriftung D(i,j) und Kanten zu i und zu j – Anfangs sind i und j Blätter, später können es auch innere Knoten sein • Lösche Zeilen und Spalten i und j aus M • Füge in D eine Zeile und eine Spalte (ij) hinzu mit D(ij,k) = (D(i,k)+D(j,k))/2 • Wiederhole, bis D leer ist Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 41 Beispiel A B C D E 8 8 5 3 3 8 8 8 8 B C D 3 BC B C A D E 5 A BC D E 8 5 3 8 8 BC D 3 B 5 C AE BC D 8 5 3 A D 5 BC 3 AE BC E AED AE BC 3 8 B C Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 D A E 42 Beispiel 5 AE AE BC D 8 5 BC 3 AED AE BC 3 8 B C 8 D A E AEDBC Kontrolle 5 AED BC AED 8 3 A AE BC 3 B C D B C D A Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 B C D E 8 8 5 3 3 8 8 8 8 5 E 43 Wo UPGMA irrt 1 A Der echte Baum B B C D 6 8 12 4 8 C 1 B A D 6 8 12 4 8 B 4 6 C 5 B A BC BC D 7 12 7 A BCD D BC C D 9.5 A ABCD 7 A C A Was UPGMA erzeugt C 1 5 6 D B 1 9.5 4 BCD BC B Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 C D A 44 Wo UPGMA (hoffentlich) nicht irrt • Sequenzierung der mitochondrialer DNA (16 KB) von 86 geographisch verteilt lebenden Personen • Ergebnis: Mitochondriale DNA scheint nach einer molekularen Uhr abzulaufen; Divergenz ist ca. 1,7E-8 pro Base und Jahr Quelle: Ingman, M., Kaessmann, H., Pääbo, S. & Gyllensten, U. (2000) Nature 408: 708-713 Quelle: http://www.genpat.uu.se/mtDB/sequences.html Methode: UPGMA Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 45 Komplexität • n Durchläufe – In jedem Durchlauf wird die Matrix um eine Zeile/Spalte kleiner • n+2 Berechnungen – 2 Kantenlängen – O(n) neue Einträge in der Matrix • Also O(n2)? • So nicht – Es bleibt das Problem, den größten Eintrag in der Matrix zu finden – Damit sind wir bei O(n*(n*log(n)+n)) = O(n2log(n)) • Es gibt aber O(n2) Algorithmen – Siehe Gusfield, Errata Webseite Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 46 Additive Bäume • Abschwächung der Kriterien für Bäume – Additivität statt Ultrametriken • Definition Sei D eine symmetrische Matrix mit n Spalten und Zeilen (und nur positiven Werten; D(i,i)=0). Ein Baum T mit Kantengewichten heißt additiver Baum für D, wenn gilt – T hat n Blätter, beschriftet mit den Zeilen von D – Für jedes Paar i,j ist D(i,j) gleich der Summe der Kantengewichte auf dem (eindeutigen) Pfad von i nach j • Bemerkung – Die Kantengewichte gilt es natürlich zu bestimmen – T muss keine Wurzel haben • Dem „rooten“ eines Baumes werden wir uns später widmen – Jede ultrametrische Matrix besitzt einen additiven Baum (nämlich den ultrametrischen), aber nicht umgekehrt Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 47 Voraussetzungen • Fragen – Existiert zu jeder Matrix ein additiver Baum? – Wie findet man einen additiven Baum zu einer gegebenen Matrix? • Theorem Eine Matrix D hat einen additiven Baum gdw für alle Zeilen i, j, k, l ein Baum wie unten angegeben konstruiert werden kann, so dass die 4-Punkt Bedingung gilt: D(i,k)+D(j,l) ≤ D(i,j)+D(k,l) = D(i,l)+D(k,j) i b a k j m c e n f l • Bemerkung – 4-Punkt Bedingung heißt, das Knoten Nachbarn haben, zu denen Sie näher sind als zu NichtNachbarn (a+b) + (e+f) ≤ (b+c+e) + (a+c+f) Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 48 Gegenbeispiel • Nicht alle Matrizen haben additive Bäume A A B B 2 C D 2 2 2 2 C A 1 1 3 D C B 0,5 0,5 0,5 oder 2,5? D • Beweis des Theorems • Siehe Literatur Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 49 Neighbor-Joining • Matrizen, Eigenschaften, Bäume, Algorithmen – Ultrametrische Daten – UPGMA – Additive Daten – Neighbor Joining • Hierarchisches Clusterverfahren (wie UPGMA) – Erzeugt einen binären Baum ohne Wurzel – Grundaufbau wie UPGMA • • • • Beginne mit so vielen Clustern wie Blättern Wähle nach bestimmtem Kriterium zwei Cluster Verschmelze die zwei Cluster und verbinde Knoten im Baum Iteriere, bis nur noch ein Cluster vorhanden ist • Unterschiede – UPGMA • wählt Cluster zur Verschmelzung nach Nähe zueinander • Erzeugt inhärent eine Wurzel (durch wachsenden Abstand) – Neighbor Joining • Wählt Cluster nach der Nähe zueinander und dem Abstand zu anderen Clustern – Sucht (und findet) die nächsten, echten, nahesten Nachbarn • Erzeugt einen Baum ohne Wurzel Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 50 Verfahren • • Bilde aus jeder Zeile einen Cluster Berechne für jeden Cluster i den Abstand ui zu allen anderen Clustern ui = ∑ k ≠i • • • D (i, k ) n−2 Suche das Clusterpaar (i,j), für das gilt – Bemerkung: ! • Wenn die Matrix einen additiven Baum hat, findet man damit die engsten Nachbarn; Beweis in der Literatur Erzeuge Cluster ij mit Kanten zu i und j mit Kantenlängen D(i, j ) + ui − u j D (i, j ) + u j − ui d (i, ij ) = d ( j , ij ) = 2 2 Erzeuge neuen Clusterknoten mit Abständen zu anderen Clustern D (k , ij ) = • • D (i, j ) − ui − u j = min D (i, k ) + D ( j , k ) − D (i, j ) 2 Lösche Cluster i und j Iteriere, solange mehr als ein Cluster existiert Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 51 Beispiel (hier scheiterte UPGMA) A C B D NJ-Abstände der Clusterpaare A A B C D 6 8 12 4 8 B C 6 ui 13 9 A A 9 13 B CD 6 7 B ui 13 9 A B C D -16 -14 -14 -14 -14 B C A 1 CD -16 3 A 10 B B CD -16 -16 A 5 B D A C CDB 2 -16 1 1 B A C CD A BCD D 5 5 C CDBA 2 B 1 5 1 1 CD 1 1 5 D Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 B 5 A 1 C 5 52D Rooting eines Baumes A CDBA B C 5 1 2 CDBA A 1 CD CD B 5 D C D CDBA • NJ berechnet nur Abstände zueinander • Eine zeitliche Reihenfolge der Knoten kommt nicht heraus • Ein Wurzelknoten kann prinzipiell auf jeder Kante platziert werden • Wie findet man die echte Wurzel? – Externe Datierung einzelner Knoten, z.B. durch Fossilienfunde und C14-Methode – Benutzung einer „Outgroup“ Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 CD B A D C CD D CDBA C A B 53 Outgroups • Eine Outgroup ist ein Taxa, das weiter von allen anderen Taxa entfernt ist also diese untereinander – Beispiel: Menschen, Mäuse, Ratten, Schweine – Wale • Was passiert mit der Outgroup? – NJ ordnet sie im Baum ein – Offensichtlich muss die Kante, die zu der Outgroup führt, den zeitlich korrekten Wurzelknoten enthalten • Beispiel 2 1 A B C B 5 D 1 A CD 1 1 CBDAO O 1 CDBA 5 D C 5 1 CDBA 15 1 C 5 1 1 5 A B 1 CD 5 1 D 1 CBDAO 12 Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 O O 54 Wenn die Daten nun ... • Weder ultrametrisch noch additiv sind? • Approximieren; z.B. durch – Sei D(i,j) der beobachtete Abstandswert – Wähle eine Baumtopologie T und berechne die tatsächlichen Abstände im Baum d(i,j) so, dass der Fehler minimiert wird n 2 error (t ) = min ∑∑ (D(i, j ) − d (i, j ) ) d i =1 j ≠ j – Für gegebene Topologie T ist das effizient lösbar, aber ... – Man muss alle Topologien ausprobieren – Damit ist das Problem NP-vollständig • Oder man versucht Heuristiken: UPGMA, Neighbor Joining • Oder ganz anders aufgebaute Methoden: Maximum Parsimony, Maximum Likelihood Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 55 Literatur • Eine gute Einleitung zu den Problemen (sehr praktisch orientiert) – Baldauf, S. L. (2003). "Phylogeny for the faint of heart: a tutorial." Trends Genet 19(6): 345-51. • Schöne, ausführliche Übersicht (weniger über die Algorithmen) – Morrison „Phylogenetic Tree Building“, Int J of Parasitology, 1996 • Ultrametriken und Additivität – Gusfield (Kapitel 17 ) • UPGMA und Neighbor Joining – Oft beschrieben, z.B. im Script von Ron Shamir, University Tel Aviv – http://www.math.tau.ac.il/~rshamir/algmb/98/scribe/ps/lec09.ps Ulf Leser: Algorithmische Bioinformatik, Wintersemester 2004/2005 56