Evolutionäre Bäume

Werbung
Evolutionäre Bäume
Madox Sesen
30. Juni 2014
1
Einleitung
Phylogenetische Bäume sind ein wichtiges Darstellungsmittel der Evolutionsforschung.
Durch sie werden Verwandtschaftsbeziehungen zwischen Spezies simpel, aber dennoch
informationsreich aufgezeigt. Durch die stetig wachsenden Datenbanken an genetischen
Daten verschiedenster Spezies ist die Erstellung phylogenetischer Bäume zu einer wichtigen, bioinformatischen Problemstellung geworden. In meiner Ausarbeitung werde ich
einige Beispiele an Algorithmen zur Erstellung von phylogenetischen Bäumen vorstellen.
2
Definition[2]
Ein phylogenetischer Baum kann für jede mögliche taxonomische Einheit erstellt werden. So lassen sich beispielsweise taxonomische Familien, Stämme, Spezies und sogar
einzelne Populationen vergleichen.
Ein phylogenetischer Baum ist ein ungerichteter, azyklischer, zusammenhängender
Graph. In den äußeren Knoten, den Blättern, werden die zu untersuchenden Objekte
angezeigt. Die inneren Knoten stellen hypothetische Objekte dar. Diese müssen evolutionär gesehen nicht existiert haben, werden aber als Abspaltpunkt der beiden Objekte
definiert. Der früheste Vaterknoten von zwei Knoten ist der letzte gemeinsame Vorfahre
der Kinderknoten.
Phylogenetische Bäume enthalten Informationen auf zwei verschiedene Arten. Die
erste ist die Topologie. Eine Topologie ist die Konfiguration eines Baumes. Sie beschreibt die Struktur, in der die Knoten zueinander aufgebaut sind.
Abbildung 1: Eine simple Topologie für 3 Objekte
1
Die zweite sind die Kantenbeschriftungen. Diese können je nach Methode zusätzliche
Informationen zur Verfügung stellen, die Auskunft über die Verwandtschaftsbeziehungen geben. Üblicherweise wird hier der evolutionäre Abstand dargestellt.
In der Regel sind phylogenetische Bäume zweigabelig. Das bedeutet, jeder Knoten
(mit Ausnahme der Wurzel) hat entweder den Grad 1 (Blätter) oder den Grad 3 (innere
Knoten). Es gibt jedoch Algorithmen, die vor allem bei Unsicherheiten mehrgabelige
Bäume ausgeben können.
Phylogenetische Bäume können gewurzelt oder ungewurzelt sein. Gewurzelte Bäume
geben mehr Informationen über die Verwandtschaftsbeziehungen, da dadurch alle Blätter
einen gemeinsamen Vorfahren zu allen anderen haben - sind allerdings auch schwieriger zu berechnen. Für eine Anzahl von n Objekten gibt es deutlich mehr mögliche
gewurzelte als ungewurzelte Bäume:
Die Anzahl möglicher gewurzelter Bäume für n Objekte ist:
Qn
i=2 2i
−3
Die Anzahl möglicher ungewurzelter Bäume für n Objekte ist:
Qn
i=3 2i
−5
Da diese zwei Funktionen schneller als n! wachsen, wird deutlich, dass alle möglichen
Topologien zu erstellen und nach einer sinnvollen zu suchen schon bei kleinem n viel
zu ineffizient ist. Man sucht also Algorithmen, die Bäume in effizienter Zeit aufbauen
können.
Algorithmen, die Bäume aufbauen können auf verschiedene Eigenschaften der zugrunde liegenden Daten basieren: Diskrete Eigenschaften, numerische Eigenschaften
und Sequenzen.
• Diskrete Eigenschaften werden in einer n ∗ m-Matrix übergeben, wobei n die
Anzahl der Objekte und m die Anzahl der Eigenschaften sind. Objekte belegen
dabei Zustände jeder Eigenschaft. Bei binären Eigenschaften sind diese lediglich 0
und 1, bei nicht binären kann jede Eigenschaft eine endliche Menge von Zuständen
besitzen. Um aus diskreten Eigenschaften Bäume erstellen zu können müssen die
Zustände eine feste Ordnung besitzen.
• Numerische Eigenschaften werden aus dem genetischen Unterschied der Objekte
berechnet. Dafür gibt es eine n∗n-Matrix M, die in der Zelle Mi,j den genetischen
Unterschied der Objekte i und j beinhaltet. Da diese Matrix symmetrisch ist wird
nur die halbe Matrix benötigt. Diese numerischen Werte können durch diverse Methoden anhand der genetischen Sequenzen der Objekte berechnet werden.
Beispiele dafür wären die p-Distanz, die lediglich den Anteil der unterschiedlichen
Stellen ausgibt, Jukes-Kantor, welches auch Rückmutationen berücksichtigt, und
Kimura, das unterschiedliche Frequenzen für Transversionen und Transitionen
angibt.
2
• Die sequenzbasierten Bäume bekommen als Eingabe für jede der n Spezies eine
repräsentative Sequenz und erstellen dadurch eine Topologie.
Im Folgenden werden einige Methoden zur Erstellung von Bäumen aus diskreten Eigenschaften und numerischen Eigenschaften vorgestellt.
3
Diskrete Eigenschaften
Um aus diskreten Eigenschaften einen phylogenetischen Baum zu erstellen sind einige
Kriterien zu beachten. Zum Einen müssen die betrachteten Eigenschaften evolutionär
bedeutend sein, das heißt, sie müssen Selektionskriterien darstellen. Weiterhin muss
jede Eigenschaft unabhängig von jeder anderen vererbbar sein.
3.1
Perfekte Phylogenie[1]
Das Problem der Perfekten Phylogenie ist für diskrete Eigenschaften mit binären Zuständen
definiert. Dabei geht man von einer Ordnung 0 → 1 aus. Eine perfekte Phylogenie ist
die Topologie eines Baumes, die an jeder Kante maximal eine Eigenschaft dazugewinnt.
Aufgrund dieser Bedingung sind evolutionäre Ereignisse wie Koevolution und Verlust
von Eigenschaften nicht erlaubt. Perfekte Phylogenien sind immer gewurzelt. Dies geschieht ohne zusätzlichen Aufwand und ist einer der Vorteile des Algorithmus. Der
Algorithmus ist im Idealfall mit beiden Schritten in O(nm) realisierbar. Ich beschränke
mich im Folgenden jedoch auf die naive Variante.
Der naive Algorithmus wird in 2 Teilen ausgeführt, wobei der erste Teil überprüft,
ob die Matrix die Voraussetzungen für eine perfekte Phylogenie erfüllt, und der zweite
Teil den Baum erstellt.
• Für die Überprüfung liegen folgende Definitionen zu Grunde: S(j) ist die Menge
der Objekte, die für Eigenschaft j den Zustand 1 belegen. Nun ist zu überprüfen,
ob:
∀i, j
S(i) in S(j) enthalten ist,
S(j) in S(i) enthalten ist
oder die beiden Mengen disjunkt sind.
Dafür geht man die Matrix spaltenweise durch und überprüft jede Menge mit
allen anderen auf diese Bedingungen. Sind diese Bedingungen nicht erfüllt kann
man keinen perfekte Phylogenie aus den Daten erstellen.
• Der zweite Teil erstellt schließlich den Baum. Der Anfangszustand ist nur ein
existierender Knoten: die Wurzel, die im Augenblick auch der aktuelle Knoten ist.
Nun geht man die Matrix zeilenweise durch. Bei jeder 1 in der Zelle überprüft man,
ob vom aktuellen Knoten eine Kante mit Beschriftung der Eigenschaft zu einem
Knoten führt. Wenn ja, geht man die Kante entlang und setzt diesen Knoten als
aktuellen Knoten. Wenn nein, erstellt man eine so beschriftete Kante und einen
3
Knoten. Am Anfang jeder Zeile wird der aktuelle Knoten wieder auf die Wurzel
gesetzt.
Nachdem man so alle Zeilen bearbeitet hat müssen nur noch die Objekte hinzugefügt werden. Dafür geht man einfach für jedes Objekt die Kanten entlang, welche die
Eigenschaften des Objekts enthalten. Ist der aktuelle Knoten am Ende der Zeile ein
Blatt, wird dieser lediglich mit dem Objekt beschriftet. Ist er ein innerer Knoten, wird
von diesem aus ein neues Blatt mit dem Objekt erstellt.
Der Algorithmus der Perfekten Phylogenie ist simpel und effektiv, sein Problem
liegt lediglich im beschränkten Anwendungsgebiet, da in der Praxis nur selten Fälle
eintreten in denen es weder Koevolution oder Verlust von Eigenschaften gibt.
4
Numerische Eigenschaften
Um Bäume aus numerischen Eigenschaften herzustellen muss die Matrix bestimmte
Voraussetzungen erfüllen. Alle numerischen Bäume müssen die Metrik erfüllen. Seien
a,b,c zu untersuchende Objekte der Matrix, so muss gelten:
∀ a, b, c
d(a, c) ≤ d(a, b) + d(b, c)
Trivial ausgedrückt bedeutet dies, dass die Kantenlänge von a nach c nicht länger sein
kann als ein Umweg von a nach b und anschließend von b nach c. Ebenfalls muss die
Symmetrie gelten, also d(a, b) = d(b, a). Es handelt sich also um eine an der Hauptdiagonalen gespiegelte Matrix.
4.1
Ultrametrische Bäume
Zusätzlich zur Metrik müssen ultrametrische Bäume noch die sogenannte 3-PunktBedingung erfüllen: Seien a,b,c zu untersuchende Objekte der Matrix, so muss gelten:
∀ a, b, c
d(a, c) ≤ max(d(a, b), d(b, c))
Dies ist eine Einschränkung der Metrik, die besagt, dass der direkte Weg von a nach c
nicht länger sein kann als der Längste der Wege a → b oder b → c.
Ultrametrische Bäume gehen von der Hypothese der molekularen Uhr aus. Dies
bedeutet, dass die Evolutionsraten aller Objekte gleich ist. Auf einer Achse wird mit
Hilfe einer Legende die Zeit dargestellt, beginnend von den Blättern aus(siehe Abb. 2).
Innere Knoten sind hier von jedem Blatt unter ihnen gleich weit entfernt. Die andere
Achse ist nur für die optische Aufteilung der Bäume zuständig.
4
Abbildung 2: Beispiel für einen ultrametrischen Baum
4.2
UPGMA - “Unweighted Pair Group Method with Arithmetic
Mean“[3]
Bei UPGMA wird Schritt für Schritt der Baum von den Blättern aus aufgebaut. Dabei
durchsucht man die Matrix nach der kleinsten Distanz zwischen zwei Knoten a und
b. Diese beiden Knoten werden nun durch einen neuen Knoten k ersetzt. Die Höhe
von k zu jedem seiner Kinder wird mit d(a,b)
neu initialisiert. Anschließend wird die
2
Matrix neu berechnet. Dabei wird für alle übrigen Objekte n die neue Distanz wie folgt
berechnet (Na ist hier die Anzahl alle Blätter unter dem Knoten a):
d(n, k) =
Na d(n,a)+d(n,b) Nb
Na +Nb
Dies ist der Durchschnitt aus den Distanzen der zusammengefügten Objekte. Das Schema wird nun so lange wiederholt, bis nur noch ein Objekt in der Matrix übrig ist. Dieser
Knoten ist nun die Wurzel des ultrametrischen Baumes.
Durch den einfachen Algorithmus und die effektive Darstellung ist UPGMA zu einer
der populärsten Algorithmen für ultrametrische Bäume geworden. Sein Nachteil liegt
vor allem in der Distanzmatrix. Diese ist oft nicht ultrametrisch, bzw. lässt sich nicht
durch einen ultrametrischen Baum darstellen.
4.3
Additive Bäume
Sowohl für ultrametrische, als auch additive Bäume muss die Distanzmatrix die Eigenschaft einer Metrik erfüllen. Im Gegensatz zur Ultrametrik, muss für die Algorithmen
allerdings nicht die 3-Punkt-, sondern zusätzlich die sogenannte 4-Punkt-Bedingung
gelten:
∀ a, b, c, d
d(a, b) + d(c, d) ≤ max(d(a, c) + d(b, d), d(a, d) + d(b, c))
Vereinfacht ausgedrückt müssen alle Punkte folgende Form einnehmen können.
5
Abbildung 3: 4-Punkt-Bedingung für a,b,c und d
4.4
Fitch-Margoliash[4]
Im Gegensatz zu UPGMA geht Fitch-Margoliash nicht von einer gleichen Evolutionsrate aus. Der Algorithmus resultiert in einem ungewurzelten, additiven Baum. Dafür
zerlegt Fitch-Margoliash den Baum in Abschnitte aus drei Knoten, die über einen inneren Knoten miteinander verbunden sind.
Abbildung 4: Additiver Baum für drei Knoten
Seien a,b,c Knoten dieses Konstruktes, dann besteht der Weg von a nach c aus den
Kanten b1 und b2, der Weg von b nach c aus b3 und b1 und der Weg von a nach b
aus b2 und b3. Da man die Weglängen anhand der Matrix ablesen kann muss man nun
nur noch die Längen der einzelnen Kanten berechnen. Die Länge einer dieser Kanten
besteht dabei aus der Summe aller Wege, die diese Kante beinhalten, subtrahiert von
dem Weg, der diese Kante nicht beinhaltet. Da man auf diese Weise die Länge der
Kante doppelt ausgerechnet hat, muss man nun nur noch das Ergebnis halbieren. Für
die Kante b2 wäre dies:
b2 = 0.5(d(a, b) + d(a, c) − d(b, c))
Nach diesem Prinzip wird bei Fitch-Margoliash der ganze Baum aufgebaut. Man beginnt mit den zwei Objekten, die laut der Matrix die geringste Distanz haben, also dem
minimalen Wert der Matrix. Der dritte Knoten ist ein Platzhalter, der alle anderen Kanten der Matrix enthält. Im nächsten Schritt würde man nun die bereits berechneten
6
Knoten in einem inneren Knoten k, und deren Kanten zu einer temporären Kante zusammenfassen. Deren Länge ist der Mittelwert der Kantenlängen zum inneren Knoten.
Dies wiederholt man nun so lange bis der Baum vollständig ist.
Das Problem bei Fitch-Margoliash ist, dass bei zu großen evolutionären Abständen
sowohl die falsche Topologie, als auch falsche Kantenlängen entstehen können. Um dies
zu umgehen wird im Folgenden der Neighbor Joining Algorithmus vorgestellt.
4.5
Neighbor Joining[4]
Wie auch Fitch-Margoliash geht der Neighbor Joining-Algorithmus nicht von einer
konstanten Evolutionsrate aus. Um einen Baum mit Neighbor Joining zu erstellen,
benötigt man zwei Hilfskonstrukte:
• Zum Einen muss man den sogenannten U -Wert für alle Objekte der Matrix wie
folgt berechnen. Wobei i ein Objekt der Matrix ist:
Ui =
Pn
j=1 d(i, j)
Ui entspricht also der Zeilensumme der Matrix für das Objekt i.
• Außerdem wird eine Hilfsmatrix δ wie folgt berechnet(N ist dabei die Anzahl
Objekte in der Matrix):
δ(i, j) = d(i, j) −
Ui +Uj
N −2
Nun sucht man sich die Zelle mit dem Minimum δ(a, b) in δ. Die beiden Knoten a,b
werden nun zu einem neuen inneren Knoten k vereinigt. Dabei lassen sich die Distanzen
wie folgt berechnen:
d(a, k) = 0.5(d(a, b) +
Ua −Ub
N −2 )
d(b, k) = d(a, b) − d(a, k)
Anschließend werden beide Matrizen und die U -Werte neu berechnet. Dabei benutzt
man nun den neuen Knoten k anstatt a und b. Die Berechnungen für den U -Wert und
für δ sind analog. Die Distanzmatrix wird für alle Zellen, die den neuen Knoten k
enthalten wie folgt berechnet (dabei sind a und b die zu k vereinigten Knoten, und c
ein beliebiger anderer der Matrix):
d(c, k) = 0.5(d(a, c) + d(b, c) − d(a, b))
Diese Schritte werden nun so lange wiederholt, bis die Matrix leer und somit der
Baum vollständig ist.
7
Der Vorteil am Neighbor Joining liegt vor allem in der Geschwindigkeit. Er ist
auch bei großen Datenmengen, die andere phylogenetische Algorithmen nicht mehr
schaffen, noch gut durchführbar. Aus jeder Distanzmatrix, die die Voraussetzungen
erfüllt, kann mit Neighbor Joining ein passender Baum berechnet werden. Ein Problem
des Algorithmus ist jedoch, dass, wie auch bei Fitch-Margoliash, die Distanzmatrix nur
selten die 4-Punkt-Bedingung erfüllt.
5
Zusammenfassung
Die Mittel zur Erstellung von phylogenetischen Bäumen sind vielfältig. Zur Auswahl
stehen diverse Methoden, alle mit unterschiedlichen Eigenschaften und Voraussetzungen. Pauschal gibt es keine richtige Antwort, welchen Algorithmus man verwenden
sollte. Es kommt hierbei auf die zu untersuchenden Daten und das gewünschte Anwendungsgebiet des Baumes an.
6
Quellen
[1] J. Setubal, J. Meidanis: Introduction to Computational Molecular Biology, PWS,
1997; Abschnitte 6.1, 6.2, 6.5.1 sowie Errata zu Lemma 6.1.
[2] M. Waterman: Introduction to Computational Biology, Chapman & Hall, 1995;
Abschnitt 14.1.0
[3] P. Clote, R. Backofen: Computational Molecular Biology — An Introduction, Wiley
2000; Abschnitte 4.3.0 und 4.3.1.
[4] M. Zvelebil, J. O. Baum: Understanding Bioinformatics, Garland Science, 2008;
Abschnitte 7 und 8.
8
Herunterladen