Posts mit dem Label Neighbor-Joining werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Neighbor-Joining werden angezeigt. Alle Posts anzeigen

Dienstag, 10. Mai 2016

Optimierung von phylogenetischen Bäumen

Siehe auch...
...Einen Neighbor-Joining Baum erstellen...
...Phylogentische Analysen - Grundlagen von Bäumen...

Nachdem man einen phylogenetischen Baum mit z.B. MEGA berechnet hat, stellt sich die Frage, was man mit dem Baum zeigen will. Phylogenetische Bäume lassen sich in der Regel unterschiedlich darstellen. Zum einen gibt es grundsätzliche Darstellungen (MEGA unterscheidet hier zwischen klassisch, radiär und kreisförmig) und zum anderen ist vielleicht nicht jede Information im Baum relevant für die aktuelle Fragestellung.

Abb. 1: NJ-Phylogeny von Bambus, basierend auf rbcL Sequenzen. Klassisches Phylogram. Rohfassung.
In Abbildung 1 sehen wir die direkte Ausgabe (Rohfassung) eines phylogenetischen Baumes (NJ) der mit 1000 Bootstrap Replikaten getestet wurde. An den Knotenpunkten stehen Prozent Angaben. Diese geben wieder, wie oft die nachfolgenden Einheiten bei den Baum-Replikaten in dieser Zusammensetzung vor kamen. Je höher die Zahl, desto sicherer ist es, dass diese Aufteilung von Bedeutung ist. Im dargestellten Phylogram wird Wert auf die Darstellung der genetischen Distanz (in Form von Veränderungen innerhalb des untersuchten Sequenz-Bereichs) gelegt. Deswegen findet man in der Abbildung auch einen Maßstab. Die Länge von Knotenpunkt zu Knotenpunkt bzw. zum Ende eines Zweiges ist relativ zur genetischen Distanz. Im angeführten Beispiel entspricht die Länge des Maßstabes 0.2 % genetischer Distanz. Bei einer Sequenz Länge von 500 Nucleotiden wäre das 1 Nucleotid, dass im Vergleich anders ist.
Will man mit seinem Baum besonders auf die genetische Distanz hinweisen, würde es sich anbieten, diese für die Zweige anzuzeigen und die Bootstrap Werte auszublenden. Das lässt sich bewerkstelligen indem man über das View-Menü die Optionen auswählt und im Branch-Tab die Anzeige der Statistik/Frequenz abwählt und statt dessen die Zweig-Längen anzeigen lässt.

Abb. 2: Branch Tab, Tree Options Menü von MEGA
Zur Veranschaulichung der 3 Hauptgruppen innerhalb der Bambus Gewächse habe ich diverse Gruppierungen zusammengeklappt.

Abb. 3: Modifizierter Baum aus Abb. 1 mit Schwerpunkt auf die Distanzen zwischen den Bambus Hauptgruppen Arundinarieae, Bambuseae und Olyreae.
Will man mehr auf die Gruppierungen eingehen, empfiehlt es sich den Baum als Cladogram darzustellen und Verzweigungen nur dann zu berücksichtigen, wenn die zugrunde liegenden Daten diese mit einer gewissen Sicherheit unterstützen. In MEGA lässt sich das erreichen indem man einen kondensierten Baum erstellt (Compute - Condensed Tree):

Abb. 4: Modifizierter (kondensierter) Baum aus Abb. 1 mit Schwerpunkt auf Gruppierungen (hier innerhalb der Arundinarieae) die mit mehr als 50% der Bootstrap Replikate unterstützt werden. 
Zuletzt will ich noch auf die Subtree Drawing Options hinweisen, mit denen man auf übergeordnete Gruppierungen hinweisen kann (Abb. 4, Arundinarieae).


Zusammen mit den Tree Options lässt sich so auf besondere Dinge hinweisen, die in der Rohfassung des Baumes nicht direkt ersichtlich sind.

Abb. 5: Modifizierter (kondensierter) Baum aus Abb. 1 mit Schwerpunkt auf Arundinarieae und Bambuseae einschließlich einer Blatt Charakteristik (40 X stereomikroskopische Aufnahme, getrocknertes Blatt, Unterseite).
Mehr Informationen, wie z.B. alternative Software für die Darstellung von phylogenetischen Bäumen findet man hier.

Grüße
Thomas

Samstag, 2. Mai 2015

Einen Neighbor-Joining Baum erstellen...

Die Erstellung eines Neighbor-Joining Baumes lässt sich in drei Schritte gliedern:
  1. Erstellung eines Alignments
  2. Berechnung einer Distanz Matrix
  3. Erstellung eines Baumes
Alle Punkte können mit Hilfe von MEGA ausgeführt werden. Zur Erstellung des Alignments öffnet man eine entsprechende Sammlung von Sequenzen und lässt diese mit Clustal oder Muscle angleichen. Im Anschluss schaut man sich die Seitenbereiche an und schneidet diese entweder entsprechend zu, oder entfernt extrem kurze Sequenzen und schneidet anschließend zu. Hier muss man abwägen zwischen den Informationen, die verloren gehen wenn man die Ränder zuschneidet, und den Informationen die in einer entsprechend kurzen Sequenz stecken.
Die Schritte 2 und 3 werden von MEGA in einem durchgeführt. Wenn man mit dem Alignment zufrieden ist, exportiert man die Daten für eine phylogenetische Analyse.
Danach wechselt man zum Hauptfenster von MEGA und wählt unter Phylogeny "Construct/Test Neighbor-Joining Tree...".
Im nun offenen Fenster (Analysis Preferences) wählt man die gewünschten Einstellungen zur Berechnung der Distanz Matrix (siehe Phylogentische Analysen - Grundlagen von Bäumen) und definiert wie man die Phylogenie testen will. Zweiteres kann man mit gutem Gewissen mit einem Bootstrap Test (500 Replikate) durchführen.
Durch die Bestätigung der Einstellungen wird die Baumkonstruktion und der Test der Phylogenie gestartet.

Das Ergebnis lässt sich als MEGA Tree-Session speichern, um später weiter zu arbeiten, als Bild exportieren um es in einer Präsentation zu verwenden oder man kann an den Details der Darstellung arbeiten. Mehr dazu in einem anderen Post.

Thomas

Phylogentische Analysen - Grundlagen von Bäumen

Ein phylogenetischer Baum (Baum) repräsentiert Verwandtschaftsverhältnisse zwischen biologischen Einheiten basierend auf messbaren Eigenschaften. Anfänglich wurden in der numerischen Taxomonie morphologische Daten verwendet. Später folgten Sequenz-Informationen von Proteinen und DNA sowie Informationen aus DNA Fingerprint Analysen.

Die einfachste und gleichzeitig schnellste Methode, um einen Baum zu erstellen, ist mit Hilfe einer Distanz Matrix. Hierfür werden die einzelnen Sequenzen paarweise verglichen und jeweils ein Wert, der die Distanz beschreibt, festgehalten. In MEGA stehen Neighbor-Joining (NJ) und Unweighted Pair Group Method with Arithmetic Mean (UPGMA) als Distanz basierte Methoden zur Generierung eines phylogentischen Baumes zur Verfügung. Bei der Berechnung der entsprechenden Distanzen gibt es einfache Methoden und komplexere Modelle die man verwenden kann.

Zu den einfachen Methoden gehört, die Distanz als die Anzahl der Unterschiede (No. of differences) oder als proportionale Distanz (p-distance) zu bewerten. Die komplexeren Modelle (z.B. das Kimura 2-parameter Model) beziehen bei der Berechnung der Distanz verschiedene andere Faktoren mit ein. Zum Beispiel werden die DNA Veränderungen Transition und Transversion separat Betrachtet und können mit unterschiedlichen Raten belegt werden, was im Umkehrschluss dazu führt, dass die Distanz abhängig davon ist, wie viele Transversionen und Trasitionen im Vergleich vorkommen.
Neben der Wahl des Models bzw. der Methode, spielt auch der Umgang mit fehlenden Daten und Deletionen (gaps) eine nicht unwesentliche Rolle bei der Erstellung der Distanz Matrix. Zur Wahl steht, alle Positionen mit fehlenden Daten und Deletionen vor dem paarweise Vergleich aus dem Datensatz zu löschen (complete deletion), die entsprechenden Positionen nur beim Vergleich zweier Sequenzen zu ignorieren (pairwise deletion) oder Positionen deren Datengehalt unter einem bestimmten Maß liegt vor dem paarweise Vergleich aus dem Datensatz zu löschen (partial deletion).
Für unsere Zwecke - die DNA Diagnostik - spielen in erster Linie nur die tatsächlichen Unterschiede eine Rolle, weswegen wir auf die Verwendung eines komplexen Modells verzichten und die p-distance als Methode zur Erstellung der Distanz Matrix wählen. Beim Umgang mit fehlenden Date und Deletionen richten wir uns in der Regel nach der Art des Markers. Bei kodierenden Regionen (z.B. rbcL, matK), wo wir in der Regel keine Deletionen finden, verwenden wir complete deletion und bei Spacern (z.B. psbA-trnH) und Introns nutzen wir pairwise deletion um die entsprechende Information (InDels) nicht zu verlieren.

Voraussetzung für ein gutes Ergebnis ist allerdings ein gutes Alignment!

Wenn wir pairwise deletion verwenden, sollten das Alignment möglichst komplett sein (keine Positionen mit fehlenden Daten enthalten).

Simulationsdaten:

Ein kompletter Datensatz...

S1: ACTACTACTACTACT
S2: ACTACTACTACTATT
S3: ACTACTACTACTATT
S4: ACTACTACTACTAAT
S5: ACTACTACTACTAAT

NJ Baum auf S1 gewurzelt, pairwise deletion, kompletter Datensatz
Der selbe Datensatz mit fehlenden Daten...

S1: ACTACTACTACTACT
S2: ACTACTACTACTATT
S3: ACTACTACTACTATT
S4: --------TACTAAT
S5: ACTACTACTACTAAT

NJ Baum auf S1 gewurzelt, pairwise deletion, Datensatz mit fehlenden Informationen
Man sieht hier wie sich die Distanzen im Baum durch unvollständige Daten verändern und die "wahre" Situation verzerrt wird.

Bei complete deletion ist es besonders wichtig, dass keine sehr kurzen oder sehr schlechten Sequenzen (viele N's) enthalten sind, da sich das Löschen an der schlechstesten und kürzesten Sequenz orientiert und die Gefahr relevante Daten zu verlieren hoch ist.

So weit zu den wichtigsten Punkten...

Thomas

Mittwoch, 22. April 2015

Bäume aus selbst gemachten Sequenzen

Hypothese: Ähnliche Sequenzen bilden in einem phylogentischen Baum einen Cluster.

Künstliche Sequenzen:

S1: AAAAAAAAAA
S2: TTTTTTTTTT
S3: TTTTTTTTTT
S4: AAAAAAAAAA


Neighbor-Joining (NJ) Baum 1:
NJ-Baum 1 (original)
NJ-Baum 1 (Topologie)
Der auf diesen Sequenzen basierende Neighbor-Joining (NJ) Baum 1 besteht aus zwei Cluster. Wie zu erwarten bilden S2 und S3 einen und S1 und S4 einen weiteren Cluster.
Im Vergleich zu den sehr unterschiedlichen Sequenzen wollen wir nun auf ein Beispiel mit sehr ähnlichen Sequenzen schauen.

S1: AAAAAAAAAA
S2: AAAAAAAAAT
S3: AAAAAAAAAT
S4: AAAAAAAAAA

NJ Baum 2:
NJ-Baum 2 (original)
NJ-Baum 2 (Topologie)
Bis auf die Distanz der beiden Zweige unterscheidet sich der Baum nicht vom vorherigen.

In den vorangegangenen Beispielen ist die proportionale Distanz (p-Distanz) zwischen den Sequenzen das Maß welches im Baum notiert wird. Im ersten Beispiel sind 10 der Basen von S1 und S4 anders als bei S2 und S3. Also 100 % unterschiedlich. Im Baum wird das erkenntlich an der Summe der Distanz der verbindenden Zweige (50 % = 0.5). Im zweiten Beispiel ist nur eine der 10 Basen unterschiedlich was 10 % (= 0.1) Distanz entspricht.

Was passiert, wenn wir nun innerhalb einer der beiden Cluster einen weiteren Unterschied einführen?

S1: AAAAAAAAAA
S2: AAAAAAAAAT
S3: AAAAAAAATT
S4: AAAAAAAAAA
NJ-Baum 3 (original)
NJ-Baum 3 (Topologie)
Die Distanz zwischen dem Cluster S1+S4 und S3 beträgt 0.1+0.1 = 0.2 (20 % = 2 Basen). Die Distanz zwischen S2 und S3 sowie S2 und dem Cluster S1+S4 beträgt je 10 % (0.1 = 1 Base).

to be continued...