Filtern von MCMC-treesamples zum Testen von

Werbung
1
Ablauf der Übungen:
Die Übungen finden Dienstag bis Freitag, jeweils von 14 bis spätestens
18 Uhr im CIP-Cluster des FB, Raum 118 Gebäude A, Biologie-Campus
Siesmayerstraße statt.
Dienstag:
1.
2.
3.
4.
5.
6.
Einführung in GenBank und Blast
Alignment mit Clustal X
Nachalignierung mit BioEdit
Anlegen der Phylip- und Nexusfiles
Einführung in Paup
Phylogenetische Analyse mit Branch-and-Bound
Mittwoch:
1.
2.
3.
4.
5.
Einführung in TreeView
Konsistenzindices
Einführung in Modeltest
Maximum Likelihood
Bootstrap-Analyse
Donnerstag:
1. Molekulare Uhr
2. Bayes´sche Analysen
3. Filtern von MCMC Hypothesen
Freitag:
1. Incongruenz Length Differenz Test
2. Kombinierte Datensätze
3. Substitutionssättigung
2
Konventionen in diesem Text
Manche im Kurs verwendete Programme lassen sich über Menüs steuern. Die
entsprechenden Befehle werden folgendermaßen dargestellt:
>File>Load Sequences bedeutet „Wähle im Menüpunkt File den Unterpunkt Load
Sequences und klicke ihn mit der Maus an.
PAUP und MrBayes werden über Eingaben in Menüzeilen bzw. Befehlsblöcke im Datenfile
gesteuert.
export file=[Dateiname.nex] format=nexus interleaved=no; bedeutet „Gib
diesen Text in die Menüzeile ein und führe den Befehl mit der <enter>-Taste aus bzw.
schreibe diese Zeile in den Befehlsblock. „[Dateiname.nex]“ bedeutet hierbei, dass ein
eigener Dateiname mit der entsprechenden Erweiterung gewählt werden kann, der dann
ohne „[ ]“ eingegeben wird.
Nachschlagewerke und Lehrbücher
Balding D. J., Bishop, M. Cannings, C. 2001. Handbook of statistical genetics. Chichester
etc., John Wiley & Sons.
Felsenstein, J. 2004. Inferring phylogenies. Sunderland, MA, Sinauer.
Knoop, V., Müller, K. 2006. Gene und Stammbäume. Ein Handbuch zur molekularen
Phylogenetik. Heidelberg, Elsevier, Spektrum Akademischer Verlag.
Sokal, R. R. & Rohlf F. J. 1995. Biometry. The principles and practice of statistics in
biological research. 3rd ed. New York, Freeman & Co.
Zar, J. H. 1999. Biostatistical analysis. 4th ed. Upper Saddle River, NJ, Prentice Hall.
3
Suchen in Genbank
Das National Institute of Health, das European Molecular Biology Laboratory und die DNA
Databank of Japan unterhalten untereinander vernetzte Sequenz-Datenbanken. Alle
renommierten wissenschaftlichen Zeitschriften verlangen heute, dass Sequenz-Daten von
publizierten Artikeln in einer dieser Datenbanken hinterlegt werden. Diese Daten können
dann von jedem anderen für wissenschaftliche Arbeiten verwendet werden. Über:
http://www.ncbi.nlm.nih.gov/Taxonomy/taxonomyhome.html/
kann man z. B. nach Sequenzen bestimmter Organismen suchen. Als Beispiel das
Suchergebnis für Homo sapiens neanderthalensis.
Homo sapiens neanderthalensis
Taxonomy ID: 63221 [Datenbank ID]
Rank: subspecies [Taxonomischer Rang]
Genetic code: Translation table 1 (Standard)
Mitochondrial genetic code: Translation table 2 (Vertebrate
Mitochondrial) [Translationstabellen]
Other names:
Entrez records
Database name
Nucleotide
PubMed Central
Taxonomy
Direct links
6
11
1
synonym: Homo neanderthalensis
Lineage( full )
cellular organisms; Eukaryota; Fungi/Metazoa group;
Metazoa; Eumetazoa; Bilateria; Coelomata;
Deuterostomia; Chordata; Craniata; Vertebrata;
Gnathostomata; Teleostomi; Euteleostomi; Sarcopterygii;
Tetrapoda; Amniota; Mammalia; Theria; Eutheria;
Primates; Catarrhini; Hominidae; Homo/Pan/Gorilla
group; Homo; Homo sapiens [detaillierte taxonomische
Position]
Comments and References:
extinct
This taxon is extinct.
-
-
Um die Nukleotidsequenzen zu sehen, den entsprechenden Link rechts oben
anklicken.
Um die drei Sequenzen der hypervariablen D-loop Region zu sehen, entsprechende
Kästchen anklicken.
Es gibt verschiedene Formate: drop-down Menü oben links neben „Display“ -> erst
„GenBank“ wählen. Es erscheint der vollständige GenBank Eintrag. Wichtig
Accessionsnummer „AY149291“ usw. eindeutige Nummern.
Besser zum Importieren in eigene Datensätze ist das FASTA-Format. Entsprechend
wählen und anklicken.
4
-
Zum exportieren „Send + all to file“ anklicken (wenn nichts angeklickt ist, werden
alle verschickt, wenn man welche angeklickt hat, nur die). Danach Dateinamen
und gewünschten Ordner angeben.
FASTA-Format:
-
Einfachstes Format für Sequenzen
Einzelne Einträge sind durch Zeilenwechsel getrennt
Jeder Eintrag besteht aus 2 Blöcken: der 1. beginnt mit „>“ und enthält die
Beschreibung, der 2. enthält die Sequenz
Beschriebungszeile: Alles bis zum ersten Zwischenraum ist Name der Sequenz, alles
weitere Beschreibung, die von vielen Programmen nicht gelesen wird.
Zeilenwechsel im Sequenzblock sind egal, Zeilen sollten nicht länger als 80 Zeichen
sein.
BLAST-Suche
Mit Hilfe eines Suchalgorithmus namens BLAST (basic local alignment search tool) kann
man in Genbank nach ähnlichen Sequenzen suchen. Auf diese Weise findet man z. B.
heraus, ob eigene Sequenzen wirklich vom untersuchten Organismus stammen (und nicht
von kontaminierenden Bakterien, Pilzen oder einem selbst). Oder man sammelt auf diese
Weise Sequenzen, um einen eigenen Datensatz zu vervollständigen.
http://www.ncbi.nlm.nih.gov/BLAST/
nucleotide-nucleotide BLAST [blastn] wählen, wenn man DNA-Sequenzen blasten will,
protein-protein BLAST [blastp], wenn es um Proteinsequenzen geht.
-
-
-
Eine bereits vorhandene Sequenz in das „Search“-Fenster kopieren und eventuelle
Zeilenumbrüche entfernen.
Weitere interessante Felder: „Choose database“, „Limit by entrez query or select
from“ (wir wählen “Homo sapiens sapiens”)
Auf „Blast!“ klicken. Genbank teilt mit, wie lange die Suche ungefähr dauern wird. Die
angegebene „Request ID“ mit einer kleinen Erklärung für späteren Gebrauch in einen
Textfile kopieren. Es kann vorkommen, dass die Datenbank (oder das Netzwerk)
versagt. Mit dieser Nummer können Ergebnisse auch später noch abgefragt werden
(„Retrieve Results for an RID“).
Nach Ablauf der Zeit auf „Format!“ klicken. In einem separaten Fenster erhält man
das Resultat der Anfrage. Falls man zu früh klickt, abwarten: Fensterinhalt erneuert
sich regelmäßig
Resultat: eine graphische Darstellung mit „query“ (Such-)Sequenz und ähnlichen
Sequenzen aus Genbank. Die Farbe der Balken gibt den Grad der Ähnlichkeit an.
Weiter unten eine Liste mit Genbank-Nummern, Arten, Kurzbeschreibungen der
Gene, Ähnlichkeits-„Score“ und E-value. Die Angaben sind nach Ähnlichkeit sortiert.
Linker link „Genbank acc. no.“ führt zum Genbank-Eintrag. Rechter Link („Score“) zu
einem Alignment der „Query-Sequenz“ mit der entsprechenden Sequenz.
Gute Übereinstimmung der Sequenzen mit den ähnlichsten Sequenzen in Genbank
bedeutet in der Regel eine enge Verwandtschaft bzw. Orthologie oder Homologie.
Zum Einfügen ausgewählter Sequenzen Boxen anklicken „Get selected sequences“
wählen.
Dann wieder „Display FASTA“ und „Send all to file“.
5
Alignieren von Sequenzen
Fast alle phylogenetischen Algorithmen vergleichen homologe Positionen der DNASequenzen. In fast allen Genen kommt es aber gelegentlich zu Deletionen oder Insertionen
von Nukleotiden oder längeren Genabschnitten. Dadurch entstehen unterschiedlich lange
Sequenzen. Durch Einsetzen von „Leerstellen“, sog. „gaps“ an den Stellen der Insertionen/
Deletionen („indels“) werden die Sequenzen auf gleiche Länge gebracht und homologe
Nukleotide verschiedener Sequenzen an die gleiche Position gerückt. Diesen Vorgang nennt
man „alignen“, das Resultat ist das „Alignment“.
ClustalX vergleicht zunächst alle Sequenzen paarweise miteinander, erstellt paarweise
alignments und eine Ähnlichkeitsmatrix. Aufgrund der Ähnlichkeit wird dann ein
Dendrogramm errechnet. Mit diesem Dendrogramm als „Wegweiser“ werden im dritten
Schritt alle Sequenzen „alignt“.
Befehle in ClustalX
- >File>Load Sequences (Datensatz laden).
- >Edit>Cut Sequences (bestimmte Sequenzen, z.B. alle, die länger als 390 bp sind,
entfernen, 1 für später stehenlassen!)
- >File>Append Sequences (Datensatz hinzufügen)
- >Alignment>Alignment Parameters>Pairwise Alignment Parameters
- >Alignment>Alignment Parameters>Multiple Alignment Parameters
Die für uns interessanten Parameter sind die “Gap Opening Penalty” und die “Gap
Extention Penalty”. Der erste Wert bezeichnet die Kosten für das Einfügen einer neuen
gap, der zweite den für die Verlängerung einer solchen gap. Die Verlängerung eines
indels ist „kostengünstiger“, weil längere indels oft in einem einzigen Schritt als Ganzes
entstehen und nicht als mehrere Ereignisse gerechnet werden müssen.
- >Alignment>Output Format Options (In welchem Format soll das Alignment
ausgegeben werden? Wichtig: Phylip, Nexus, Clustal)
- >Alignment>Do Complete Alignment. Das Programm alignt die Sequenzen mit den
vorgewählten oder Default-Voreinstellungen.
- >File>Save Sequences As … Wählen Sie einen neuen Namen, unter dem Sie das
alignment speichern. Klicken Sie unter „Format“ >Nexus an.
- >Edit>Remove All Gaps
Spaßeshalber jetzt noch ein Alignment erstellen, bei dem das Einfügen von Indels
kostenfrei ist, bei dem also das Programm nur nach Ähnlichkeit der Nukleotide
entscheidet. Alle Sequenzen mit der Maus markieren und alle Gaps entfernen. Dann
wieder:
- >Alignment>Alignment Parameters>Pairwise Alignment Parameters
- >Alignment>Alignment Parameters>Multiple Alignment Parameters>Alignment
Parameter auf „0.00“ stellen und >CLOSE drücken.
- >Do Alignment from Guide Tree (alignt vom vorher gespeicherten Baum
ausgehend).
Wenn man Sequenzen zu einem bestehenden Alignment hinzufügen möchte:
- Profile Alignment Mode anklicken
- >File>Load Profile 1 (sollte bereits alignt sein)
- >File>Load Profile 2 (kann ein einfacher FASTA-file sein)
- >Alignment>Align Sequences to Profile 1
- >Edit>Add Profile 2 to Profile 1
- >Align Profile 2 to Profile 1 nur, wenn beide Profiles schon alignt sind.
6
Manuelle Nachbearbeitung von Alignments
Möglich z. B. in „Bioedit“
http://www.mbio.ncsu.edu/BioEdit/bioedit.html
Bioedit bietet eine Vielzahl von Funktionen, die wir nicht alle besprechen können.
-
-
>File>Open (Clustal-File laden. Zusätzlich zu den Sequenzen sieht man eine weitere
Zeile, die invariable Positionen des alignments anzeigt).
Links Namen der Sequenzen, rechts Sequenzen.
Namen der Clustal-Consensus-Sequenz anklicken, danach >Edit>Delete
Sequence(s) (Sequenz löschen, falls mit dem File weitergearbeitet werden soll.
>View bzw. Funktionsbalken (verschiedene Ansichtsmodi erklären).
Font und Schriftgröße wählen
Mode (Edit: Schreiben, Select/Slide: verschieben)
Insert/ Overwrite (wichtig beim Editieren)
Im Modus Edit alle Sequenzteile am Anfang und Ende markieren, die nicht bei allen
Sequenzen vorliegen, wegschneiden durch Delete-Taste.
>File>Export>Sequence Alignment (Das endgültige alignment in PAUP/NEXUSFormat exportieren, dann Namen wählen und unter „Dateityp“ >PAUP/NEXUS
(*.pau, *.nex wählen). Dieses Format wird von PAUP gelesen.
Alternativ mit >File>Save As als Phylip 4 File speichern (Endung *.phy).
Alle Formate lassen sich mit ganz normalen Texteditoren öffnen und betrachten.
PAUP kann als Texteditor verwendet werden.
7
Phylogenetische Analyse
Auf Joe Felsensteins Homepage finden sich links zu einer Vielzahl von
Auswertungsprogrammen, die Lösungen für die unterschiedlichsten Probleme bieten.
http://evolution.genetics.washington.edu/phylip/software.html.
Die am häufigsten verwendeten Computerprogramme zur phylogenetischen Analyse sind
PAUP, Phylip und MrBayes. Phylip (http://evolution.genetics.washington.edu/phylip.html) und
MrBayes (http://morphbank.ebc.uu.se/mrbayes/) sind kostenlos im Internet erhältlich.
PHYLIP implementiert eine Vielzahl verschiedener Methoden und ist gemeinsam mit PAUP
das am weitesten verbreitete phylogenetische Programmpaket. PAUP ist in der Benutzung
einfacher, allerdings nicht kostenlos. Es existieren Versionen für Mac und Windows. Die
Programme benötigen unterschiedliche Datenformate als input files. Mit Hilfe von Bioedit
können Sie alignments auch in Phylip-Format (*.phy) speichern. PAUP verwendet das sog.
Nexus-Format (*.nex) und kann selber Phylip-files konvertieren. Sie können aber Alignments
auch aus Bioedit in Nexus-Format exportieren.
Die Windows-Version von PAUP wird zunächst über eine Befehlszeile gesteuert. Wir
beginnen mit einer einfachen Analyse. PAUP benutzt in der Grundeinstellung Maximum
Parsimony (MP) als Optimierungskriterium.
PAUP öffnen und das alignment (>File>Open) laden. Wenn alles gut gegangen ist,
sollte der file ohne Fehlermeldung eingelesen werden. Häufige Fehlerquelle bei
diesem Schritt sind Leerzeichen, Punkte oder Striche in den Artnamen.
- Sie erhalten im Fenster oberhalb der Befehlszeile einige Informationen zu ihrem
Datenfile. Wenn Sie auf >Window>[Name Ihres Files] klicken, öffnet sich ein
zweites Fenster mit dem Datenfile. Sie können nun zwischen diesen Ansichten
wechseln.
Erklärungen zum NEXUS-Format:
- File beginnt mit #NEXUS
- Dann folgt in der Regel eine Liste der Sequenzen mit ausführlichen Namen, Angaben
zur Länge usw.
- Danach können verschiedene Blöcke kommen, die jeweils mit „begin [block name];“
beginnen und mit „end;“
- Nach „begin data;“ folgt der Datensatz: 1. Zeile Dimensionen, 2. Zeile: Format,
Erklärungen zu „interleave“ und „missing = -"; Semikola am Ende der Zeilen sind
wichtig! Missing = - ggf. durch „gap = -" „missing = N“ ersetzen!!
- Nach „matrix“ folgt das Alignment, danach „;“, neue Zeile und „end;“
- Weitere Blöcke später.
-
Phylip-file ins Nexus-Format konvertieren:
tonexus fromfile=[Dateiname.phy] interleave=yes
tofile=[Dateiname.nex] format=phylip;
Von interleaved zu sequential umformatieren:
export file=[Dateiname.nex] format=nexus interleaved=no;
8
1. Versuch einer Analyse über Befehlszeile (Parsimonie)
Schon bei Datensätzen von 10 Arten ist die Zahl der möglichen Bäume so groß, dass die
vollständige Suche nach dem besten Baum sehr lange dauert. Im ersten Versuch lassen wir
PAUP mit Branch-and-bound nach dem optimalen Baum suchen.
Syntax:
set autoclose=yes warnreset=no increase=auto;
bandb;
Output im Display Buffer:
Branch-and-bound search settings:
Optimality criterion = parsimony
Character-status summary:
Of 877 total characters:
All characters are of type 'unord'
All characters have equal weight
744 characters are constant
35 variable characters are parsimony-uninformative
Number of parsimony-informative characters = 98
Gaps are treated as "missing"
Multistate taxa interpreted as uncertainty
Initial upper bound: unknown (compute heuristically)
Addition sequence: furthest
Initial 'MaxTrees' setting = 500 (will be auto-increased by 100)
Branches collapsed (creating polytomies) if maximum branch length
is zero
'MulTrees' option in effect
Topological constraints not enforced
Trees are unrooted
Branch-and-bound search completed:
Score of best tree found = 194
Number of trees retained = 53
Time used = 00:06:39.3
9
TREEVIEW
Die Ansicht von Bäumen in PAUP ist recht unbequem. Treeview ist ein Programm, mit dem
man Bäume manipulieren, Ansichten verändern und ausdrucken kann.
ML-Baum durch >File>Open laden.
Cladogram, Phylogram, Radialer Baum erklären.
Eine neue Outgroup für den Baum bestimmen und den Baum danach rooten.
>Tree>Define outgroup Es erscheint eine Dialogbox mit zwei Fenstern.
Arten der Outgroup (z. B. J, K, L) im linken Fenster (Ingroup) markieren und durch Druck auf
die Pfeiltaste in das rechte Fenster (Outgroup) schieben. Mit >OK abschließen.
>Tree>Root with outgroup. Die outgroup steht jetzt zuoberst, der restliche Baum „hängt“
sozusagen an der outgroup. Wenn Sie die outgroup lieber am unteren Ende des Baumes
anhängen wollen, drücken Sie
>Tree>Order>Ladderize left.
Beschriftung ändert man im Menü >Style.
Bootstrap-Baum laden.
Unter >Tree>Show internal edge labels kann man Bootstrap-Werte an den Knoten an- und
abschalten. Fontgröße und Schrifttyp verändern durch >Tree>Internal label font.
Durch >Edit>Edit tree kann man verschiedene andere Manipulationen vor dem Ausdruck
vornehmen.In der Menüzeile oberhalb des neu geöffneten Fensters stehen 9 Symbole und
ein erklärendes Textfenster. Mit der linken Gruppe von 4 Symbolen verändert man die
Topologie des Baumes. Dies stellt aber eine Manipulation der Ergebnisse dar. Mit der
mittleren Gruppe von 4 Symbolen verändert man dagegen nur das Aussehen des Baumes,
nicht die Topologie. Diese Funktionen können jederzeit frei verwendet werden, um den
Baum besser darzustellen. Mit dem rechten Symbol können interne Knoten beschriftet
werden.
Mit >File>Print preview kann man eine Druckansicht des Baumes öffnen (schließen mit
>Close).
Ansicht mit >File>Save as graphic als Graphik speichern, um sie in anderen Programmen
(z. B. Powerpoint) zu verwenden.
Gaps als 5th character
Gaps nicht als fehlende Daten, sondern als neuen Merkmalszustand (character state).
Berechnung nicht durch Branch-and-bound sondern heuristische Suche.
Syntax:
pset gapmode=newstate;
hsearch addseq=random swap=NNI nreps=100;
Bäume anzeigen lassen.
Syntax:
describetrees 1/plot=phylogram; (1. Baum mit Astlängen)
describetrees 1/plot=cladogram tcompress=yes; (1. Baum ohne Astlängen,
Darstellung komprimiert)
describetrees 1/noplot brlens=yes; (kein Baum, Tabelle mit Astlängen)
describetrees 1-3/...;
describetrees all/...;
10
Output im Display Buffer:
Tree description:
Unrooted tree(s) rooted using outgroup method
Optimality criterion = parsimony
Character-status summary:
Of 877 total characters:
All characters are of type 'unord'
All characters have equal weight
733 characters are constant
40 variable characters are parsimony-uninformative
Number of parsimony-informative characters = 104
Gaps are treated as "fifth base"
Multistate taxa interpreted as uncertainty
Character-state optimization: Accelerated transformation
(ACCTRAN)
Tree number 1 (rooted using default outgroup)
Tree length = 230
Consistency index (CI) = 0.7609
Homoplasy index (HI) = 0.2391
CI excluding uninformative characters = 0.7074
HI excluding uninformative characters = 0.2926
Retention index (RI) = 0.8292
Rescaled consistency index (RC) = 0.6309
Wie robust ist mein Baum?
Zur Abschätzung der Robustheit von phylogenetischen Hypothesen können mehrere Indices
berechnet werden, die alle das Ausmaß an Homoplasie im Datensatz beschreiben.
Der Konsistenzindex (CI) bewertet die Anzahl der Homoplasien als Anteil der
Merkmalsänderungen. Er ist abhängig von der Anzahl der Merkmale und Taxa, sowie der
Anzahl der Autapomorphien und der Topologie. Der Homoplasieindex (HI) ist
komplementär zum Konsistenzindex. Er bezeichnet den proportionalen Anteil an Sites mit
parallelen oder Rückmutationen (HI = 1-CI). Der Konservierungsindex ist ein Maß für die
Anzahl der Synapomorphien in einem Stammbaum. Er ist nicht abhängig von Merkmalen
und Taxa, daher als Maß besser geeignet als die obigen Indices.
11
Die Bäume, die von PAUP ausgegeben und berechnet werden, sind ungewurzelt. Um den
Baum mit Hilfe einer Außengruppe zu wurzeln:
Syntax:
outgroup W X Y; (Definieren der Außengruppe)
set root=outgroup outroot=monophyl; (Wurzeln mit der Außengruppe)
describetrees 1-.../root=outgroup outroot=monophyl; (Wurzeln bereits
berechneter Bäume)
Speichern der Bäume.
savetrees from=1 to=10 file=[Dateiname.nex] brlens=yes;
Der Treefile im Nexus-Format ist ähnlich aufgebaut wie ein normaler Nexus-Datenfile,
besteht aber aus einem Treeblock, der mit „Begin trees;“ anfängt. Danach Informationen zu
Einstellungen bei der Berechnung der Bäume, dann Übersetzung der Namen in Nummern
und die 10 Bäume im Newick-Format. Tree-Blöcke können ohne weiteres auch in den
NEXUS-file geschrieben oder kopiert werden. Wenn sie nicht beachtet werden sollen,
müssen sie mit eckigen Klammern auskommentiert werden.
Vorsicht: die eckige Klammer hinter „&U“ (s.u.) wird von PAUP als Ende eines Kommentars
interpretiert. Die erste linke Klammer des Baumes erzeugt dann eine Fehlermeldung. Zum
Auskommentieren müssen alle farbigen Klammern gesetzt werden.
[tree PAUP_1 = [&U]
[((((((1:10,22:7):1,((((2:11,3:3):5,4:6):1,(((6:2,7:5):2,9:8):3,8:3)
:5):3,5:5):3):2,(((10:0,11:4):2,12:0):6,(17:2,(18:1,((19:0,21:1):2,2
0:0):6):3):4):5):18,13:19):37,((14:2,15:0):3,16:0):54):1,((23:0,24:0
):21,25:16):0);]
Für die folgenden Berechnungen die bereits im Puffer gespeicherten Bäume löschen (betrifft
nicht die Bäume im gespeicherten Datenfile):
cleartrees;
Berechnen von Bäumen mit bestimmten Grundannahmen. Definieren von topologischen
„Constraints“:
Syntax:
constraints AVH (monophyly)=((A,V,H));
Alternativ kann man den ganzen Baum beschreiben:
(B,C,D,E,F,G,I,J,K,L,M,N,O,P,Q,R,S,T,U,W,X,Y(A,V,H));
hsearch addseq=random swap=NNI nreps=100 constraints=AVH
enforce=yes;
Danach Vergleich der beschränkten mit den besten Bäumen:
Syntax:
gettrees file=[Dateiname] mode=7;
12
Output im Display Buffer:
Processing TREES block from file "placopsistrees1.nex":
Keeping: trees in memory plus trees from file
7 trees originally in memory
10 trees read from file
10 trees from file kept
Time used = 0.00 sec
17 trees now in memory
Länge vorgefertigter Bäume berechnen
pscores
Um festzustellen, wie ähnlich verschiedene Bäumen einander sind, kann man verschiedene
sogenannte tree-to-tree distances errechnen.
Syntax:
treedist fromtree=1; (vergleicht Baum 1 mit allen anderen, zeigt Häufigkeitsverteilung)
treedist fromtree=0 fd=no; (vergleicht alle Bäume miteinander, unterdrückt
Häufigkeitsverteilung)
Auswahl des besten Substitutionsmodells
Wenn man Maximum Likelihood (ML) als Optimierungskriterium verwenden will, braucht man
ein Substitutionsmodell. ML bietet die Möglichkeit, sich aufgrund eines statistischen
Kriteriums zwischen Modellen zu entscheiden. Man wählt das Substitutionsmodell, für das
die Likelihood-Funktion maximal wird. Das Programm „Modeltest“ kann 56 verschiedene
Modelle testen und erledigt diese Aufgabe in Zusammenarbeit mit PAUP.
PAUP öffnen und den Nexus-file durch >File>Open laden. Unter
http://www.rhizobia.co.nz/phylogenetics/modeltest.html
die Datei modelblockPAUPb10.txt öffnen und in den NEXUS-file hinter den Datenblock
kopieren. Diese Datei sieht folgendermaßen aus:
#NEXUS
[! ***** MODELFIT BLOCK -- MODELTEST 3.4 *****]
[The following command will calculate a NJ tree using the JC69 model of
evolution]
BEGIN PAUP;
log file= modelfit.log replace;
DSet distance=JC objective=ME base=equal rates=equal pinv=0
subst=all negbrlen=setzero;
NJ showtree=no breakties=random;
End;
[!
***** BEGIN TESTING 56 MODELS OF EVOLUTION ***** ]
BEGIN PAUP;
13
Default lscores longfmt=yes;
Set criterion=like;
[!
** Model 1 of 56 * Calculating JC **]
lscores 1/ nst=1 base=equal rates=equal
scorefile=model.scores replace;
pinv=0
Datei speichern und erneut starten. PAUP berechnet für jedes Modell die Likelihood-Werte
und speichert sie unter dem Namen „model.scores“.
PAUP nach Beendigung des Rechenvorgangs schließen.
Die Datei model.scores in den Ordner C:\Programme\Modeltest\ Modeltest 3.06 folder
verschieben und ihr einen neuen Namen geben.
Die DOS-Eingabeaufforderung im Windows-Startmenü durch >Start
>Programme>Zubehör>Eingabeaufforderung öffnen.
Durch die Eingabe cd gefolgt vom vollständigen Pfad gelangt man in den Ordner mit dem
Programm Modeltest.
Wenn angekommen, Modeltest durch die Eingabe: modeltest3.4.win.exe
<[Dateiname] starten. Dateiname ist der soeben verschobene und umbenannte outputfile.
Modeltest führt nun die Likelihood-Verhältnistests durch, bis sich keine signifikante
Verbesserung mehr ergibt. Als Ergebnis das optimale Substitutionsmodell nach LRT oder
AIC und einige Zeilen, die mit „BEGIN PAUP;“ anfangen. Dieser Teil lässt sich in PAUP
übertragen, um mit den richtigen Parametern eine Analyse durchführen zu können.
Den Text von „BEGIN PAUP;“ bis „END;“ mit der Maus markieren, indem man auf das
Symbol links in der Kopfzeile des Eingabefensters klickt und >Bearbeiten>Markieren
anwählt.
>Bearbeiten>Kopieren
In PAUP die Ansicht des Nexus-files öffnen und den Textblock an das Ende der Datei
kopieren.
14
Erstellen eines PAUP-Blocks
PAUP-Analysen lassen sich weitgehend automatisieren, indem man in verschiedenen
zusätzlichen Textblöcken Annahmen zum Datensatz (ASSUMPTIONS Block), vorher
errechnete Bäume (TREES Block) oder Details zur Analyse (PAUP Block) eingibt.
Bei Einkopieren aus Modeltest Zeilenumbruch aus der „lset“-Zeile entfernen. Mit lset werden
die Parameter für eine ML Analyse festgelegt. Dabei bedeutet:
Base=(x y z) (Frequenz der Basen A, C und G, T ergibt sich von alleine)
Nst=x (Zahl der Substitutionstypen)
Rmat=(x y z …) (Rate der verschiedenen Substitutionstypen)
Rates=gamma (Substitutionsraten sind von Position zu Position unterschiedlich und folgen
der Gamma-Verteilung)
Shape=x (Form-Parameter der Gamma-Funktion)
Pinvar=x (Anteil invariabler Positionen)
Um ML als Optimierungskriterium zu verwenden und dafür zu sorgen, dass das Programm
die Analyse ohne Bestätigung abschließt, nach „Begin PAUP“ die folgende Zeile einfügen
(die letzten beiden Befehle erübrigen sich bei ML in der Regel).
set autoclose=yes criterion=likelihood warnreset=no increase=auto;
Danach Außengruppe definieren und mit Außengruppe wurzeln lassen. Um die Suche nach
dem besten Baum zu starten, nach der „lset“ Zeile die folgende m.o.w. bekannte Zeile
einfügen. Nur 5 Replikationen, damit wir heute noch fertig werden.
hsearch addseq=random swap=TBR nreps=5;
Zuletzt Bäume beschreiben und speichern lassen. Vollständiger PAUP-Block:
BEGIN PAUP;
set autoclose=yes criterion=likelihood;
Lset Base=(0.2554 0.2315 0.3046) Nst=6 Rmat=(1.0000 1.6878 1.0000
1.0000 8.5808) Rates=gamma Shape=0.8447 Pinvar=0.6501;
outgroup W X Y;
set root=outgroup outroot=monophyl;
hsearch addseq=random swap=tbr nreps=5;
describetrees all/plot=phylogram tcompress=yes brlens=yes;
savetrees file=placopsis2.tre format=nexus brlens=yes from=1 to=1;
END;
Nexus-file speichern und schliessen. Dann erneut laden. Die Analyse wird durchgeführt,
ohne dass Sie weitere Befehle eingeben müssen.
Phylogenetische Unsicherheit, nicht-parametrischer Bootstrap
Wieviel Vertrauen kann man in das Ergebnis einer phylogenetischen Untersuchung haben?
Da sich die Evolution nur einmal abgespielt hat und nicht experimentell wiederholt werden
kann, kann man übliche Statistiken wie Standardabweichungen und Varianzen nicht
berechnen. Eine Lösung dieses Problems ist die Pseudoreplikation des Datensatzes, bei der
man den bereits vorhandenen Datensatz 100 bis 1000 mal neu besammelt. Beim sog. nichtparametrischen Bootstrapping erstellt man neue Datensätze von gleicher Größe wie der
15
ursprüngliche Datensatz, indem man willkürlich einzelne Positionen des Alignments mit
Zurücklegen sammelt. Durch die zufällige Auswahl werden einige Positionen mehrmals
„gesammelt“, andere fallen dann weg. Jede Pseudoreplikation des Datensatzes
unterscheidet sich von den anderen. Man errechnet für jeden Datensatz einen separaten
Stammbaum, erstellt aus den Bäumen einen Konsensusbaum, und kann für jeden Ast dieses
Baumes ermitteln, in wie vielen der Bootstrap-Bäume er vorhanden war. Diesen „bootstrapsupport“ (in Prozent ausgedrückt) sieht man an fast allen publizierten phylogenetischen
Bäumen.
Begin PAUP;
log start=yes file=[Dateiname].log replace=yes;
outgroup W X Y;
set increase=auto root=outgroup outroot=monophyl;
bootstrap search=heuristic nreps=100 conlevel=50;
describetrees /plot=phylogram tcompress=yes;
savetrees from=1 to=1 file=[Dateiname].tre savebootp=nodelabels
maxdecimals=1 replace=yes;
log stop;
end;
Als Anzeige erscheinen Konsensus-Baum und eine Tabelle mit allen Gruppen, die sich in
mindestens 5 % der Bäume fanden. Die Arten sind als Zahlen oberhalb der Spalten
abgekürzt. Sternchen in den Spalten markieren Gruppen des Baumes, die durch den
betreffenden Ast voneinander getrennt sind. Die rechten Spalten zeigen, in wievielen
Bäumen und in wieviel Prozent der Bäume diese Gruppen (bzw. dieser Ast) angetroffen
wurden. Gruppierungen, die in weniger als 5% der Bäume auftraten, sind nicht gelistet.
Rekonstruktion der Sequenzen von Vorfahren
Begin PAUP;
outgroup W X Y;
set increase=auto root=outgroup outroot=monophyl;
hsearch addseq=random swap=tbr nreps=100;
roottrees;
contree/ strict=no majrule=yes percent=50;
set opt=deltran;
reconstruct 279/trees=1;
end;
alternativ zu den letzten drei Zeilen:
mprsets 279/trees=1;
end;
Festlegen einer Außengruppe und der Wurzeloption, dann heuristische Suche, Wurzeln der
Bäume, Berechnung eines 50%-majority-Konsensus-Baums,
mprsets gibt alle möglichen Merkmalszustände an inneren Knoten an.
reconstruct wählt einen davon aus. Um in Zweifelsfällen entscheiden zu können, gibt es
zwei Optionen:
set opt=acctran; Accelerated transformation: Wenn es verschiedene Möglichkeiten
gibt, werden Merkmalsänderungen so früh wie möglich, also nahe der Wurzel, eingefügt.
set opt=deltran; Delayed transformation: Wenn es verschiedene Möglichkeiten gibt,
werden Merkmalsänderungen so spät wie möglich, also nahe den Spitzen, eingefügt.
16
Berechnung vollständiger Sequenzen für alle internen Knoten:
describetrees 1/plot=cladogram label=yes xout=internal;
Testen phylogenetischer Hypothesen, molekulare Uhr
Die Astlängen eines Baumes sind das Produkt aus Substitutionsrate und Zeit. Wenn die
Substitutionsrate in allen Ästen des Baumes gleich ist, geben die Astlängen direkt das
relative Alter unterschiedlicher Linien an. Um die Knoten eines Baums datieren zu können,
müsste also die Substitutionsrate über alle Ästen des Baumes homogen sein. In den meisten
Fällen variieren aber die Substitutionsraten des optimalen Baums in verschiedenen Ästen
erheblich, was sich an sehr unterschiedlichen Astlängen zeigt. Ein Baum mit homogener
Substitutionsrate gibt in diesem Fall den Datensatz offenbar verzerrt wieder. Die Frage ist,
wie stark diese Verzerrung ist. Ob der Baum den Datensatz fast genau so gut erklären kann
wie der optimale Baum oder ob er signifikant schlechter ist. Nur wenn der Baum nicht
signifikant schlechter ist, kann man ihn zur Datierung verwenden.
Unter ML kann man die Substitutionsrate wie einen Parameter des Substitutionsmodells
betrachten. Im Normalfall maximiert das Programm die Likelihood-Funktion, wobei die
Substitutionsrate frei über den Baum variieren kann. Genauso wie alle anderen Parameter
des Substitutionsmodells (etwa das Verhältnis von Transitionen zu Transversionen; s. oben
„Auswahl des besten Substitutionsmodells“) kann man aber auch die Substitutionsrate
zwischen verschiedenen Evolutionslinien homogen halten. Ein Modell mit homogener
Substitutionsrate stellt lediglich einen Spezialfall des Modells mit heterogener
Subsitutionsrate dar.
Mit einem „likelihood ratio test“ (LRT) kann man feststellen, ob die Likelihood des „Uhr“Baumes signifikant schlechter ist als die Likelihood des optimalen Baumes. Die Werte von:
2 ([-ln Spezialfall] – [-ln komplexes Modell])
folgen asymptotisch einer χ2-Verteilung mit s-2 Freiheitsgraden (s = Anzahl der Arten im
Datensatz). Statistische Tafeln enthalten Signifikanzwerte für die χ2-Verteilung. Alternativ
kann man p-Werte unter: http://ergo.ucsd.edu/unixstats/probcalc/index.shtml errechnen
lassen. Ein p-Wert ≥ 0,05 bedeutet dabei, dass die Likelihood-Werte nicht signifikant
verschieden sind. Die Annahme einer molekularen Uhr ist dann gültig. Bei p-Werten ≤ 0,05
ist der „Uhr“-Baum signifikant schlechter als der optimale Baum und die Annahme
homogener Substitutionsraten wird statistisch zurückgewiesen. Der χ2-Test ist nur zulässig,
wenn man die Topologie sehr genau schätzen kann (genauer: bei sehr langen Sequenzen),
letztlich also, wenn die Topologie mit und ohne Uhr sich nicht wesentlich unterscheiden.
Praktisch vergleicht man die Likelihood des ML-Baums mit und ohne Uhr, wobei das
Substitutionsmodell zur Errechnung beider Bäume identisch ist.
Nacheinander Nexus-file und ML-Baum laden. Ggf. Berechnung abbrechen, PAUP-Block im
Nexus file durch eckige Klammern blockieren, File schließen und nochmal laden. PAUPBlock für den Treefile schreiben:
Begin PAUP;
log start=yes file=placopsisclock.log replace=yes;
lscores 1/ Base=(0.2554 0.2315 0.3046) Nst=6 Rmat=(1.0000 1.6878
1.0000 1.0000 8.5808) Rates=gamma Shape=0.8447 Pinvar=0.6501;
outgroup X W Y;
roottrees outroot=monophyl;
17
lscores 1/ Base=(0.2554 0.2315 0.3046) Nst=6 Rmat=(1.0000 1.6878
1.0000 1.0000 8.5808) Rates=gamma Shape=0.8447 Pinvar=0.6501
clock=yes;
log stop;
end;
lscores 1/...; berechnet den Likelihood-Wert des Baumes unter den mit Modeltest
bestimmten optimalen Parametern.
lscores 1/... clock=yes; berechnet den Likelihood-Wert unter Annahme einer
molekularen Uhr.
Bayessche Analyse
Die Bayessche Methode ist aus mehreren Gründen sehr populär geworden. Hier nur ein
paar praktische Gründe:
-
-
Obwohl hunderttausende oder Millionen von Bäumen berechnet werden, ist die
Methode extrem schnell.
Bootstrap-Analysen sind unter ML extrem zeitaufwändig. Die Bayessche Analyse
berechnet den Baum und die Wahrscheinlichkeit einzelner Parameter in einem
Arbeitsgang.
Damit lässt sich auch die Wahrscheinlichkeit bestimmter Baumtopologien leicht
vergleichen. Hypothesentesten auf der Grundlage von MCMC-samples gewinnt
ständig an Bedeutung.
MrBayes benutzt NEXUS-files, die allerdings etwas abgeändert werden müssen.
NEXUS-file in den Ordner kopieren, in dem sich MrBayes befindet.
Den kopierten NEXUS-file in PAUP öffnen (Berechnung stoppen und in die Ansicht des
NEXUS-files wechseln).
Eventuell vorhandenen Text zwischen „#NEXUS“ und „begin data;“ löschen. Die ersten 3
Zeilen der Datei lauten jetzt:
#NEXUS
begin data;
PAUP-Block einmal ans Ende des files kopieren. Es liegen jetzt zwei identische PAUP-files
vor.
Im 2. PAUP-Block die Zeile „begin paup;“ durch „begin mrbayes;“ ersetzen
Im MrBayes-Block werden genau wie im PAUP-Block die Parameter der Analyse festgelegt.
Das Substitutionsmodell muss ebenfalls festgelegt werden, allerdings bleiben die einzelnen
Parameter variabel. Wir übernehmen das mit Modeltest errechnete Modell, lassen aber
Angaben zu Nukleotidfrequenz, Gamma-Form-Parameter oder dem Anteil invariabler Sites
weg.
log start filename=[Dateiname.nex.out] append;
set autoclose=yes;
lset nst=[Wert] rates=[equal/gamma/invgamma] ngammacat=?;
mcmc ngen=100000 printfreq=100 samplefreq=10 nchains=4
savebrlens=yes;
plot filename=[Dateiname.nex.p];
18
sumt filename=[Dateiname.nex.t] contype=allcompat burnin=1000;
log stop;
end;
Die zweite Zeile bestimmt, dass das Programm die Analyse nach dem letzten Baum
abschließt. Ohne diese Anweisung wird man nach dem letzten Schritt der Berechnung
gefragt, ob die Markov-Kette fortgesetzt werden soll.
Unter „lset“ wird das Modell festgelegt (ohne dass die Parameter fixiert werden). „Nst“ ist
die Zahl der verschiedenen Substitutionsraten [Werte 1, 2 oder 6] „rates“ legt fest, ob die
Substitutionsrate konstant sein soll oder einer Gamma-Verteilung mit oder ohne invariable
Sites folgt. Unter „mcmc“ wird der Suchlauf näher bestimmt. „Ngen“ = Zahl der Generationen
(= Schritte) der Markov-Kette, „printfreq“ = wie oft zeigt das Programm die Werte auf dem
Bildschirm an, „samplefreq“ = jeder wievielte Baum soll gespeichert werden, „nchains“ =
Zahl der parallel laufenden Markov-Ketten.
Den Ordner „MrBayes“ öffnen und „MrBayes3_0b3.exe“ durch Doppelklick starten.
Eingabe: execute [Dateiname]
Das Programm beginnt mit der Analyse. Auf dem Bildschirm wird jeder hundertste Schritt
angezeigt. In der rechten Spalte sieht man, wie viele Sekunden das Programm
voraussichtlich noch rechnen wird.
Nach Beendigung der Analyse Konsensus-Baum mit Astlängen und den A-posterioriWahrscheinlichkeiten der einzelnen Clades ansehen. Bei der Anzeige der Ergebnisse die
„Burnin“-Phase berücksichtigen
sump filename=[Dateiname.nex.p]
Zur Auswertung des Baumes eingeben:
sumt filename=[Dateiname.nex.t] burnin=[Zahl zu verwerfender Bäume]
Als output erhält man eine Liste der Arten und der Häufigkeit verschiedener Gruppierungen,
einen Baum mit A-posteriori-Wahrscheinlichkeiten, einen Baum mit Astlängen und eine
Tabelle mit „Credible sets of trees“. Alle diese Daten werden in neuen Dateien namens
[Dateiname].parts (Gruppierungen), [Dateiname].con (Bäume) und [Dateiname].trprobs
gespeichert.
Die Datei [Dateiname].con lässt sich in Treeview zur besseren Ansicht öffnen.
Falls Sie nach der Wahrscheinlichkeit eines bestimmten, nicht im Konsensus-Baum
enthaltenen Clades suchen, können Sie [Dateiname].parts mit einem Texteditor öffnen.
In der Datei [Dateiname].trprobs finden Sie die Einzelwahrscheinlichkeiten (p) und
kumulativen Wahrscheinlichkeiten (P) aller errechneten Bäume. Anhand der kumulativen
Wahrscheinlichkeit können Sie die Bäume heraussuchen, die gemeinsam eine signifikante
Wahrscheinlichkeit besitzen. Den Schwellenwert der Signifikanz können Sie selber festlegen;
in der Statistik üblich sind 95 % 99 % oder 99,9 %. Statt aufgrund eines Konsensus-Baums
kann man Daten auch auf der Grundlage eines solchen Sets wahrscheinlicher Bäume
analysieren.
19
Filtern von MCMC-treesamples zum Testen von Hypothesen
Den MCMC-treefile [Dateiname.nex.t] in PAUP laden.
Constraints definieren. Altes Beispiel
constraint AVH (monophyly)=((A,V,H));
Bäume filtern:
filter constraint=AVH;
Um eine ganze Reihe Hypothesen zu testen, kann man wieder einen PAUP-Block schreiben
und an den Treefile anhängen.
Begin PAUP;
constraint AVH (monophyly)=((A,V,H));
constraint IVH (monophyly)=((I,V,H));
constraint FGI (monophyly)=((F,G,I));
constraint FGDLJKBCSTUQR (monophyly)=((F,G,D,L,J,K,B,C,S,T,U,Q,R));
filter constraint=AVH;
filter constraint=IVH;
filter constraint=FGI;
filter constraint=FGDLJKBCSTUQR;
end;
Multigen-Datensätzen, bei denen jedes Gen einem eigenen
Substitutionsmodell folgt.
1. Teil ILD und Bayes’scher Kongruenztest
Konsistente statistische Verfahren wie ML führen stets zum richtigen Baum, wenn die
Datenmenge gegen Unendlich geht. Man versucht, die Präzision der phylogenetischen
Rekonstruktion zu erhöhen, indem man mehr als ein Gen sequenziert. Eine Grundannahme
ist dann allerdings, dass alle untersuchten Gene dieselbe phylogenetische Geschichte
reflektieren, bzw. dass die Einzeldatensätze kongruentes phylogenetisches Signal liefern.
Ein einfacher, häufig verwendeter Test ist der ILD (incongruence length difference test).
Gurndannahme des ILD: Konflikt zwischen Datensätzen führt in den kombinierten Datensatz
Homoplasie ein. Ein Baum auf der Grundlage des kombinierten Datensatzes ist dann länger
als die Summe der Längen der Einzelbäume. Der Test errechnet D = L(1+2+…+N) –
(L1+L2+…+LN). Signifikanztest: Man vergleicht D mit einer Häufigkeitsverteilung, die man
dadurch erhält, dass man den kombinierten Datensatz n-mal willkürlich in Partitionen von
gleicher Länge unterteilt und für jeden der n Datensätze D errechnet (Permutationstest,
künstlich generierte „Nullverteilung“).
Achtung: Für den ILD müssen invariable Positionen des Alignments entfernt werden!
Festlegen der Partitionen
begin sets;
20
charset ITS (Standard)=1-xxx; (Name des ersten Merkmalssets, Positionen, die
diesem Set angehören)
charset mtSSU (Standard)=xxx-xxx; (Name des zweiten Merkmalssets, Positionen,
die diesem Set angehören)
charpartition ITSmtSSU=1:1-xxx,2:xxx-xxx; (Partition/ Unterteilung der Daten,
Positionen, die den jeweiligen Sets angehören. Scheinbar redundant, aber wichtig, wenn
verschiedene Teildatensätze in einer Analyse untersucht werden sollen.)
end;
ILD (“partition homogeneity test”) in PAUP durchführen
begin paup;
set autoclose=yes;
weights x:ITS,x:mtSSU; (Wichtungen für die einzelnen Partitionen (ganzzahlig))
hompart partition=ITSmtSSU nreps=100 / addseq=random swap=tbr
nreps=100;
end;
Der ILD wird zwar nach wie vor häufig verwendet, hat sich bei näherem Hinsehen aber als
sehr schwacher Test für die Kombinierbarkeit von Datensätzen erwiesen. Das liegt einerseits
an seiner sehr hohen Rate an Typ-I-Irrtümern (die Nullhypothese „Kongruenz der
Datensätze“ wird abgelehnt, obwohl sie zutrifft). Simulationsstudien haben gezeigt, dass
phylogenetische Rekonstruktionen durch Kombination von Datensätzen selbst dann oft
präziser werden, wenn die Einzeldatensätze inkongruentes Signal enthalten. Andererseits
wird die Präzision durch Kombination in sehr vielen Fällen schlechter als in Einzelanalysen,
selbst wenn der ILD nicht signifikant ist. Der ILD misst, wie viel Homoplasien entstehen,
wenn Datensätze zusammengeführt werden. Die phylogenetischen Rekonstruktionen
(Bäume), die mit verschiedenen Datenpartitionen errechnet werden, werden nicht verglichen.
Auf der Grundlage einer Bayes’schen MCMC-Stichprobe kann man alternativ die von
verschiedenen Datenpartitionen bevorzugten phylogenetischen Bäume miteinander
vergleichen und testen, ob die Ergebnisse einander widersprechen. Man prüft dabei, wie
häufig durch Gen 1 gut unterstützte phylogenetische Beziehungen (Knoten mit P ≥ 95%) in
den auf Gen 2, 3, … basierenden MCMC-Stichproben (dem „Confidence Envelope“)
auftreten. Dazu definiert man aus dem Konsensus-Baum der Analyse von Gen 1 einen
topologischen Constraint, der nur die gut unterstützten monophyletischen Gruppen
beschreibt, und filtert mit diesem Constraint die Treefiles der MCMC-Stichproben der
Analysen der Gene 2, 3, … Wenn phylogenetische Beziehungen von einem Gen gut
unterstützt werden aber in den Stichproben anderer Gene in weniger als 5% der Bäume
vorkommen, haben die zu Grunde liegenden Genpartitionen offenbar verschiedene
Evolutionswege hinter sich.
Arbeitsschritte:
(1) Berechnen von MCMC-Stammbäumen für jede einzelne Genpartition mit MrBayes (s.o.)
(2) Aufrufen des Konsensusbaums von Gen 1 in einem Texteditor und definieren des
Constraints. Aus diesem Baum mit A-posterioir-Wahrscheinlichkeiten
(A,B,((C,D)1.00,(((E,F)0.64,(G,(H,(I,J)0.98)0.83)0.50)0.98,(K,(L,M)0.50)0.96)0.43)1.00);
wird dabei z. B. der folgende „95% Majority Rule Konsensusbaum“.
(A,B,((C,D),(E,F,G,H,(I,J),(K,L,M))));
(3) Aufrufen des Nexus-Files von Gen 2 in PAUP.
(4) Aufrufen des Files [Dateiname.nex.t] für Gen 2 in PAUP.
(5) Die Bäume aus der Burnin-Phase löschen. Den File unter neuem Namen abspeichern.
(6) Definieren des Constraints in der Befehlszeile von PAUP (s.o.).
(7) Filtern der Bäume, die diesem Constraint genügen (s.o.).
21
(8) Die Anzahl der gefilterten Bäume durch die Zahl der verbliebenen Bäume im Treefile
(Dateiname.nex.t – Bäume aus der „burnin“-Phase) dividieren.
(9) Wenn diese Zahl größer 5% ist, kann die Nullhypothese nicht zurückgewiesen werden.
2. Teil MCMC-Analyse des kombinierten Datensatzes
MrBayes kann bei Analyse kombinierter Datensätze unterschiedliche Substitutionsmodelle
für jede Datenpartition berücksichtigen.
Allgemeine Einstellungen, Partitionen definieren:
begin mrbayes;
log start filename=Trapcomb.out append;
set autoclose=yes;
charset ITS = 1-474;
charset mtSSU = 475-1241;
partition ITSmtSSU = 2:ITS,mtSSU;
set partition=ITSmtSSU;
Subsitutionsmodelle für einzelne Partitionen bestimmen
lset applyto=(1) nst=6 rates=invgamma ngammacat=3;
lset applyto=(2) nst=2 rates=invgamma ngammacat=4;
Parameter in einzelnen Partitionen “entkoppeln”. Ansonsten benutzt MrBayes für alle
Partitionen dieselben Parameterwerte.
unlink shape=(all);
unlink pinvar=(all);
unlink statefreq=(all);
unlink revmat=(all);
Übliche Einstellungen zum MCMC-Lauf.
mcmc ngen=2500000 printfreq=1000 samplefreq=100 nchains=4
savebrlens=yes;
plot filename= Trapcomb.p;
sumt filename=Trapcomb.t contype=allcompat burnin=5000;
log stop;
end;
Berechnung von Substitutionssättigung
Im Verlaufe der Evolution kann es durch Mehrfachmutation an ein und derselben
Nukleotidposition zu Substitutionssättigungen kommen. Dadurch werden
evolutionäre Distanzen zwischen den Sequenzen von Taxa maskiert. Da aufgrund
von Mehrfachsubstitutionen Konvergenzerscheinungen auftreten können, die die
verwandtschaftlichen Beziehungen verfälschen können, sollte ein für
phylogenetische Fragestellungen herangezogener Datensatz keine allzu starke
Substitutionssättigung aufweisen
Der Anteil an Sättigung eines Datensatzes lässt sich auf verschiedene Weise
berechnen, ein einfaches Verfahren stellt der Test von Xia et al. (2003) dar, welcher
im Programm DAMBE implementiert ist. Iss ist dabei der Wert für die
Substitutionssättigung in einem Alignment. Ist Iss gleich 1, liegt eine extrem hohe
Sättigung vor. Da das Alignment allerdings schon vor erreichen dieses Wertes nicht
22
mehr einwandfrei eine Phylogenie-Rekonstruktion erlaubt, wird mittels
Computersimulation ein kritischer Wert Iss.c berechnet. Wenn Iss nicht signifikant
kleiner als Iss.c, dann liegt eins starke Sättigung vor, und das Alignment sollte nicht
verwendet werden.
Befehle in DAMBE:
>File >Open Standard Sequence File
>Non Protein Seq
>1 2 oder 3 wählen
>Seq.Analysis >Measure Substitution Saturation >Test by Xia et al.
>Eingabe der Proportion of invariable sites (aus Modeltest)
23
Zum ILD-Test:
Baumlänge
Kombiniert
Gen 1
Gen 2
=
ILD
1569
565
999
=
5
=
=
=
=
=
=
=
=
=
5
0
0
0
0
2
0
1
0
Randomisierungen
1569
1569
1569
1569
1569
1569
1569
1569
1569
…
570
572
575
557
580
550
583
520
560
994
997
994
1012
989
1017
986
1048
1009
30 von 1000 Randomisierungen sind 5 oder größer, p < 0.03
Herunterladen