Die von Darwin begründete Evolutionstheorie hat gezeigt, dass sich alle biologischen Arten (auch Spezies genannt) in einer fortwährenden Entwicklung befinden. Dabei spielt die Umweltanpassung eine entscheidende Rolle, aber auch andere Faktoren wie die geographische Isolation sind von Bedeutung. Neue Arten entstehen dabei aus den existierenden.
Diese Abstammungsverhältnisse lassen sich oft in der Form eines Baumes darstellen. Dabei entsprechen die Blätter den heutigen Arten, die Verzweigungen den Artentstehungsereignissen und die Länge der Äste veranschaulicht die verflossene Zeit.
Aufgrund der dynamischen Entwicklung der wissenschaftlichen Genetik ist es heute möglich, die evolutionären Ereignisse sicherer und umfassender zu rekonstruieren als mit den ursprünglichen morphologischen Methoden. Die Grundlage sind nun Sequenzen, die aufgrund einer enormen Anzahl von abgeschlossenen Sequenzierprozessen in umfassender Fülle bekannt sind. Aus der Ähnlichkeit der genetischen Informationen lässt sich auf Verwandtschaft und Nachbarschaft im (‚Speziesbaum‘ genannten) Abstammungsbaum schließen. Die Berechnung eines Speziesbaumes kann auf einer Sequenz oder auf mehreren beruhen. Es wird davon ausgegangen, dass durch eine Konkatenation dieser Sequenzen ein zuverlässigeres Ergebnis erzielt werden kann. Für die Berechnung eines Speziesbaumes eignen sich nur Sequenzen der RNA oder von solchen Proteinen, die in praktisch jeder der betrachteten Arten vorkommen. Allerdings ist es hierfür notwendig, die entsprechenden Sequenzen in Datenbanken zu finden und auf dieser Grundlage Datensätze zusammenzustellen. Diese Aufgabe kann durch geeignete Software enorm vereinfacht werden.
Phylogenetische Bäume können auch benutzt werden, um die Entwicklung einzelner Proteine zu rekonstruieren. Hierfür wird ein sogenannter Genbaum berechnet, der sich aus den in heutigen Arten vorkommenden Sequenzen des jeweiligen Proteins ergibt. Mit spezieller Software wird anschließend aus dem Baum und den heute vorkommenden Proteinsequenzen die Sequenz von Vorläufern rekonstruiert. Diese Rekonstruktion ist
umso zuverlässiger, je breiter die Informationsbasis und je besser der zugrunde liegende Baum ist. Daher kombinieren moderne Ansätze jeweils einen Genbaum mit einem
Speziesbaum.
Im Rahmen dieser Arbeit wurde ein Programm entwickelt, das Datensätze zusammenstellt, die für die Berechnung eines Speziesbaumes genutzt werden können.
Inhaltsverzeichnis
Zusammenfassung
1 Einleitung
1.1 Konventionen und Namen
1.2 Biologische Grundlagen
1.2.1 Proteine
1.2.2 DNA
1.2.3 RNA
1.2.4 Homologie
1.2.5 Genbäume und Speziesbäume
1.3 Aufgabenstellung
2 Die Sequenzzusammenstellung aus biologischer Perspektive
2.1 Motivation der Aufgabe
2.2 Die Identifizierung der Spezies
2.3 Die Auswahl der Sequenzen
2.3.1 Molekulare Uhren
2.3.216S rRNA-basierte Phylogenetik
2.3.3 Proteinbasierte Phylogenetik
2.3.4 Clusters of Orthologous Groups (COG)
2.3.5 Proteinauswahl
3 Nutzung von RNA- und Proteindatenbanken
3.1 Einführung
3.2 Zugriff auf die Daten
3.3 rRNA-Datenbanken
3.4 Proteinsequenzdatenbanken
3.5 Der Ablauf der Speziesidentifizierung
4 Der Sequenzprozessor aus funktionaler Perspektive
4.1 Die Programmfunktionen
4.2 Die Qualitätsfunktion
4.3 Die Komponenten der Programmfunktionen
4.3.1 Die Sequenzwahl
4.3.2 Die Spezieskandidatenidentifizierung
4.3.3 Die Kandidatenbewertung
4.3.4 Die Speziesauswahl
4.3.5 Erzeugen der 16S rRNA-Sequenzfolge
4.3.6 Performance der Datensuche
4.3.7 Die MSA-Proteinidentifizierung
4.3.8 Der Protein-Sequenzfetch
4.3.9 Die Protein-Sequenzauswahl
4.3.10 Die Spezies-Alternativenwahl
5 Aufbau des Programmes
5.1 Paketorganisation
5.2 Verzeichnisstruktur der Projektbearbeitung
5.3 grundlegende Algorithmen des Programms
5.3.1 Pseudocode-Notation und Datenstrukturen
5.3.2 Diagramm derAblauflogik
Anhang
A LUCA (Last Uniform Common Ancestor)
В COGs des Projekts
C UniProt-API-Fehler (Version 0)
D Benutzerdokumentation Sequenzprozessor
D 1 Allgemeines
D 2 Allgemeine Projektfunktionen
D 2.1 Projekt gründen
D 2.2 Projekt öffnen
D 2.3 Projekt speichern
D 2.4 Projekt bearbeiten
D 2.4.1 MSA einlesen
D 2.4.2 Blast Anfrage und Export in File
D 2.4.3 MSA-Proteine
D 2.4.4 Spezies-File einlesen
D 2.4.5 neue Projektversion
D 3 Erzeugung der RNA Ergebnissequenzen
D 3.1 RNA Match-File erzeugen
D 3.2 Ergebnisfile erzeugen
D 4 Erzeugung der Protein Ergebnissequenzen
D 4.1 Suchproteine einlesen
D 4.2 Datenbank Suchkriterien
D 4.3 Protein Match-File erzeugen
D 4.4 Vollständigkeitskontrolle
D 4.5 Protein-Ergebnisfiles schreiben
D 5 Bearbeiten der Eingabe-Selektion
D 5.1 Alternativen einlesen
D 5.2 Alternativen evaluieren
D 5.3 Alternativen auswählen
D 5.4 Projektstatus berechnen
D 6 16S-rRNA Datenbanken initialisieren
D 6.1 Der Download der Files
D 6.2. Initialisieren der Datenbanken
D 7. Genbaum berechnen (Neighbour Joining)
Glossar
Literaturverzeichnis
Quellen zu den Abbildungen
Zusammenfassung
Die von Darwin begründete Evolutionstheorie hat gezeigt, dass sich alle biologischen Arten (auch Spezies genannt) in einer fortwährenden Entwicklung befinden. Dabei spielt die Umweltanpassung eine entscheidende Rolle, aber auch andere Faktoren wie die geographische Isolation sind von Bedeutung. Neue Arten entstehen dabei aus den existierenden.
Diese Abstammungsverhältnisse lassen sich oft in der Form eines Baumes darstellen. Dabei entsprechen die Blätter den heutigen Arten, die Verzweigungen den Artent stehungsereignissen und die Länge der Äste veranschaulicht die verflossene Zeit.
Aufgrund der dynamischen Entwicklung der wissenschaftlichen Genetik ist es heute möglich, die evolutionären Ereignisse sicherer und umfassender zu rekonstruieren als mit den ursprünglichen morphologischen Methoden. Die Grundlage sind nun Sequenzen, die aufgrund einer enormen Anzahl von abgeschlossenen Sequenzierprozessen in umfassender Fülle bekannt sind. Aus der Ähnlichkeit der genetischen Informationen lässt sich auf Verwandtschaft und Nachbarschaft im (,Speziesbaum‘ genannten) Abstammungsbaum schließen. Die Berechnung eines Speziesbaumes kann auf einer Sequenz oder auf mehreren beruhen. Es wird davon ausgegangen, dass durch eine Konkatenation dieser Sequenzen ein zuverlässigeres Ergebnis erzielt werden kann. Für die Berechnung eines Speziesbaumes eignen sich nur Sequenzen der RNA oder von solchen Proteinen, die in praktisch jeder der betrachteten Arten vorkommen. Allerdings ist es hierfür notwendig, die entsprechenden Sequenzen in Datenbanken zu finden und auf dieser Grundlage Datensätze zusammenzustellen. Diese Aufgabe kann durch geeignete Software enorm vereinfacht werden.
Phylogenetische Bäume können auch benutzt werden, um die Entwicklung einzelner Proteine zu rekonstruieren. Hierfür wird ein sogenannter Genbaum berechnet, der sich aus den in heutigen Arten vorkommenden Sequenzen des jeweiligen Proteins ergibt. Mit spezieller Software wird anschließend aus dem Baum und den heute vorkommenden Proteinsequenzen die Sequenz von Vorläufern rekonstruiert. Diese Rekonstruktion ist umso zuverlässigere breiter die Informationsbasis undje besser der zugrunde liegende Baum ist. Daher kombinieren moderne Ansätze jeweils einen Genbaum mit einem Speziesbaum.
Im Rahmen dieser Arbeit wurde ein Programm entwickelt, das Datensätze zusammenstellt, die für die Berechnung eines Speziesbaumes genutzt werden können. Es nimmt als Eingabe eine Datei mit den Sequenzen eines oder weniger Proteine der zu vergleichenden Arten entgegen (diese wird von nun an Eingabe-MSA genannt und dient der Berechnung eines Genbaumes). Zunächst muss durch das Programm herausgefunden werden, aus welchen Genomen (Arten) diese Sequenzen stammen. Aus diesen Genomen werden anschließend die Sequenzen zusammengestellt, die der Berechnung des Genbaumes dienen. Der Nutzer kann diese Auswahl beeinflussen, indem er die Proteinnamen in einer weiteren Eingabedatei des Programms spezifiziert. Als Ausgabe werden Dateien erzeugt, die einzeln und konkateniert die für die Berechnung des Genbaumes erforderlichen
Proteinsequenzen enthalten. Alternativ oder ergänzend ist die Bereitstellung der Sequenzen der ribosomalen 16S rRNA möglich.
Um dieses Ziel zu erreichen, mussten Datenbankanbindungen realisiert werden. Somit bestand eine wesentliche Aufgabe darin, die Nutzbarmachung der relevanten Datenquellen zu implementieren. Außerdem müssen alle Zwischenergebnisse protokolliert werden, was auch eine Interpretationshilfe zu deren Beurteilung einschließt. Das Ergebnis dieser Arbeit besteht also in einem Programm, welches aus einem beliebigen Arngabe- MSN die zugehörigen Spezies bestimmt und von diesen die 16S RNA- und
Aminosäuresequenzen relevanter Proteine aus nutzbar gemachten Datenbanken heraussucht und in Ergebnisdateien schreibt.
1 Einleitung
In der Bioinformatik ist ein hinreichendes Verständnis des fachlichen Kontextes unabdingbar. Deshalb soll zunächst aus der biologischen Perspektive in die Aufgabenstellung eingeführt werden. Dabei werden für das Verständnis der zu lösenden Probleme zentrale Begriffe erläutert. Mit dem so erreichten Verständnis lässt sich die zu lösende Aufgabe formulieren und motivieren.
1.1 Konventionen und Namen
Ein im Glossar erklärter Begriff wird bei seinem ersten Auftreten fett geschrieben. Dasselbe gilt für Wörter, die eine Zwischenüberschrift in einem Textabschnitt markieren. Um Begriffe zu kennzeichnen, die im Sinne einer hier gegebenen Definition verwendet werden oder um ein Wort besonders zu betonen, wird eine kursive Schreibweise benutzt. Ebenfalls kursiv werden Namen geschrieben, etwa Namen von Datenbanken.
Hinsichtlich eines flüssigeren Textes werden einige Namen eingeführt. Um sperrige Formulierungen wie „das im Rahmen dieser Arbeit realisierte Programm“ zu vermeiden, wird es auch als Sequenzprozessor bezeichnet werden. Dieser Namen ist zugleich seine kürzest mögliche Beschreibung, denn es werden damit Sequenzen aus Sequenzen erzeugt. Das Programm wurde mit Hilfe von zwei A/ngahe-MXA entwickelt. Die Verwaltung des Bearbeitungszustandes und die Speicherung von Zwischenresultaten werden als Projekt bezeichnet.
Das erste Projekt, das im Kontext der Rekonstruktion von LUCA[1] (siehe Anhang A) steht, wird LUCAi-Projekt, das zweite, welches zur Programm-Validation diente, VALIDProjekt genannt.
1.2 Biologische Grundlagen
Die vorliegende Arbeit befindet sich im Kontext evolutionsbiologischer Fragestellungen. Bei der Programmierung eines Tools, welches der Rekonstruktion der Entwicklungsgeschichte dient, stößt man naturgemäß immer wieder auf die maßgeblichen biologischen Sachverhalte. Zu den für ein Verständnis der bearbeiteten Aufgabe wesentlichen Begriffen zählen die folgenden: Proteine, DNA, RNA, 16S rRNA, Homologie, Genbäume und Speziesbäume. Diese sollen in den nächsten Abschnitten kurz erläutert werden.
1.2.1 Proteine
Proteine (oder Eiweiße) sind ein wesentlicher Bestandteil aller Zellen. Sie können strukturgebende Funktion besitzen: so bestehen Haut, Haare und Muskeln aus Proteinen. Komplexer und für diese Arbeit auch von größerer Bedeutung sind die Stoffwech selfunktionen. So katalysieren Proteine chemische Reaktionen und ermöglichen damit überhaupt erst die Lebensfunktionen. Proteine sind aus Aminosäuren zusammengesetzt.
Aminosäuren sind organische Verbindungen, die eine Carboxylgruppe (-COOH) und eine Aminogruppe (-NH2) besitzen. Diese beiden Gruppen können miteinander reagieren, sodass sich Aminosäuren zu Ketten zusammenschließen können. Abhängig von der Zahl der beteiligten Aminosäuren bezeichnet man diese dann als Peptide oder als Proteine.
Es gibt zwanzig durch die DNA kodierte Aminosäuren; diese werden als kanonisch bezeichnet. Jede Aminosäure kann durch einen Buchstaben repräsentiert werden und jedes Protein, das aus einer Sequenz von Aminosäuren besteht, durch eine Folge von Buchstaben. In dieser Form lässt sich die als Primärstruktur bezeichnete Aminosäurefolge auch in einer Datenbank abspeichern.
Die einzelnen Aminosäuren haben verschiedene Eigenschaften. So unterscheiden sie sich in ihrer Größe, ihrem Säure-/Baseverhalten und in ihrer Wasserlöslichkeit[2]. Diese unterschiedlichen physikalisch-chemischen Eigenschaften entscheiden über den Grad ihrer Austauschbarkeit (Substituierbarkeit). Eine Mutation in den kodierenden Genen kann dazu führen, dass in der betroffenen Position eine andere Aminosäure eingesetzt wird. Die konkrete Auswirkung einer solchen Substitution hängt davon ab, wie ähnlich die neue Aminosäure der von ihr ersetzten ist. In ihrem komplexen Zusammenwirken bestimmt die konkrete Sequenzfolge das Faitnngsverkaiten, worunter die Art und Weise verstanden wird, wie sich aus der eindimensionalen Sequenz einer Aminosäurenkette eine dreidimensionale Struktur ausbildet. So tendieren hydrophobe Aminosäuren dazu, sich im Inneren der Proteine zu konzentrieren, wohingegen die hydrophilen eher an der
Oberfläche zu finden sind. Die Form der Proteine ist von ausschlaggebender Bedeutung für ihre Funktion, denn sie gibt vor, an welchem Ort welche Reaktionen katalysiert werden können und wohin die entsprechenden Stoffe transportiert werden. Außer der eindimensionalen Sequenzfolge (Primärstruktur) und der räumlichen Form (Tertiärstruktur) spielen für das Verständnis und die Beschreibung der Proteine bestimmte zweidimensionale Strukturen - Faltblätter und Helices - eine Rolle, die in ihrer Gesamtheit als Sekundärstruktur bezeichnet werden.
In allen Proteinen gibt es Abschnitte, die für die von ihnen realisierten Funktionen von ausschlaggebender Bedeutung sind. Mutationen an diesen Positionen haben größere Auswirkungen als an funktional weniger wichtigen Orten, weshalb dort auch die vererbten Mutationen entsprechend seltener sind. Man spricht in diesem Zusammenhang von stärker konservierten Positionen.
Diese meist zusammenhängenden Sequenzabschnitte bilden strukturelle und funktionale Einheiten und werden als Proteindomänen bezeichnet. Ein Protein kann mehrere Domänen besitzen. Im Verlauf der Evolution können mehrere Proteine mit je einer
Domäne zu einem Mehrdomänen-Protein verschmelzen.
1.2.2 DNA
Die Erbinformation ist in Form der Desoxyribonukleinsäure (DNA)[3] gespeichert. Die DNA besteht aus Sequenzen von Nukleotiden, deren Bestandteil jeweils eine der vier Nukleinbasen Adenin(A), Guanin(G), Thymin(T) und Cytosin(C) ist. Die DNA ist in der Form einer Doppelhelix strukturiert, wobei sich im Normalfall A-T und G-C Paare ausbilden.
Jeweils drei aufeinanderfolgende Basen auf dem kodierenden (bei der Proteinsynthese abgelesenen) Strang der DNA kodieren für eine Aminosäure[4]. Es gibt also 64 mögliche Kodes für zwanzig Aminosäuren, was bedeutet, dass die einzelnen Aminosäuren auf unterschiedliche Art kodiert werden können. In diesem Zusammenhang spricht man von der Degeneration öes genetischen Coöes. Die jeweiligen Realisierungen der Aminosäurekodierungen werden als Coöone bezeichnet. Da die Häufigkeitsverteilung der Codone artspezifisch ist, lassen sich mit diesbezüglichen Informationen Rückschlüsse hinsichtlich der Phylogenese[5] ziehen. Dasselbe gilt für die Verteilung der Nukleinbasen, dem GC- Anteil der DNA.
Die genetische Reproduktion verläuft mit einer außerordentlichen Präzision[6]. Nur in einem von einer Milliarde Fällen kommt es zu einem Fehler. Der Einbau einer anderen Base in den erzeugten Genstrang wird als eine (Punkt)Mutation bezeichnet. Durch die Akkumulation von Mutationen verändert sich die Erbinformation allmählich, es kommt zur Herausbildung neuer Arten.
Neben dieser vertikalen, in der Generationenfolge begründeten genetischen Drift spielt auch der horizonta/e Gentrans/er eine wichtige Rolle, insbesondere bei zellkernlosen Lebewesen (Prokaryoten). Dabei werden genetische Sequenzen von einer Art direkt in eine andere übertragen und in der Folge weitervererbt. Diese Übertragung kann etwa durch spezifische Viren, den Bakteriophagen erfolgen.
Auf genetischer Ebene gibt es noch weitere Typen von Ereignissen, die für die evolutionären Prozesse eine Rolle spielen. Genannt seien hierbei Genduplikation, Genverlust, Endosymbiose und Hybridisierung.
1.2.3 RNA
In der RNA steht die Base Uracil(U) an der Stelle von Thymin. Die RNA liegt als Einzelstrang vor, doch auch hier können sich zweidimensionale Strukturen ausbilden. Sie liegt in verschiedenen Formen vor und hat dabei jeweils andere Aufgaben:
Als (Boten-RNA) kopiert sie die genetische Information der DNA und transpor tiert sie an die Orte der Proteinsynthese (Ribosomen).
Als tRV4 (Transfer-RNA) bringt sie spezifisch einzelne Aminosäuren zu den Ribosomen, sodass diese an der richtigen Stelle eingebaut werden können.
Als rRV4 (ribosomale RNA) ist sie ein struktureller Bestandteil der Ribosomen.
Daneben gibt es weitere Formen der RNA.
Für stammesgeschichtliche Untersuchungen ist insbesondere die rRNA von Bedeutung. Sie ist ein Bestandteil der Ribosomen. Diese setzen sich aus einer großen und einer kleinen Untereinheit zusammen, die sich aber erst bei der Proteinsynthese zu einem funktionellen Komplex verbinden.
Ribosomen sind in allen lebenden Zellen vorhanden. Sie bestehen aus Proteinen und RNA, wobei das Gewichtsverhältnis etwa 1:2 beträgt. Die rRNA spielt bei der Proteinsynthese die funktional entscheidende Rolle, die Proteine wirken (nur) strukturunterstützend.
Die ribosomale RNA kommt in allen Lebewesen vor, es gibt aber zwischen den biologischen Domänen einige Unterschiede. Bei Prokaryoten besteht ein Ribosom aus einer 50S[7] -Untereinheit, die eine 5S und eine 23S rRNA enthält und einer 30S- Untereinheit mit einer 16S rRNA-Komponente. Bei Eukaryoten[8] befinden sich in der großen (60S) Untereinheit 5S, 5.8S und 28S rRNA-Bestandteile, in der kleinen (40S) eine 18S rRNA. Die eukaryotische 18S und die prokaryotische 16S rRNA sind einander relativ ähnlich.
Die 16S/18S-Komponente hat Eigenschaften, die sie für evolutionsbiologische Fragestellungen nützlich erscheinen lassen:
- Sie ist in allen Lebewesen vorhanden.
- Sie ist an lebenswichtigen Funktionen beteiligt, woraus eine starke
Konservierung folgt.
1.2.4 Homologie
Bei der Berechnung von Stammbäumen spielt naturgemäß die Frage nach gemeinsamen Vorläufern eine Rolle. Haben zwei Spezies oder Proteine einen gemeinsamen Ursprung oder nicht? Die Beziehung von Elementen, die vom selben Vorfahren abstammen, wird als Homologie[9] bezeichnet. Zwei Elemente sind einander entweder homolog oder sie sind es nicht, Homologie ist (wie Schwangerschaft) nicht graduell[10]. Homologie ist von Ηηα/ogie abzugrenzen, bei der es keinen gemeinsamen Ursprung gibt und die Ähnlichkeit durch Anpassung an Umweltbedingungen verursacht ist (Konvergente Evolution).
Bei der Homologie in Genen und Proteinen lassen sich drei Formen unterscheiden:
Ort^o/ogie liegt vor, wenn die Divergenz der Sequenzen nach einem Artbildungsereignis erfolgt. Die voneinander getrennten Spezies akkumulieren unabhängig voneinander Mutationen, sodass die betreffenden Gene/Proteine sich desto mehr voneinander unterscheidende mehr Zeit inzwischen vergangen ist. Orthologie ist für die Berechnung von Bäumen die optimale Homologieform und bildet etwa die Basis für eine Datenbank, die für die Proteinklassifikation verwendet wird (C/MVer o/Ort^o/ogoMS Gropps).
Paralogie besteht, wenn die Divergenz auf eine Genduplikation folgt. Dabei befinden sich zunächst zwei identische Kopien eines Gens in der Erbinformation. Diese können sich nun unabhängig voneinander entwickeln. Wenn es zu einem späteren Zeitpunkt zu einem Genverlust (eines der beiden Paraloge) kommt, kann fälschlicherweise Orthologie angenommen werden. Aufgrund von Paralogie kann der Baum eines Genes vom zugehörigen Speziesbaum abweichen.
Aerologie liegt vor, wenn es einen horizontalen Gentransfer von einer anderen Spezies gegeben hat. Unerkannter horizontaler Gentransfer bedeutet für die Erstellung von Speziesbäumen ein Problem, denn in diesem Fall wird in den betroffenen Genabschnitten eine Verwandtschaft der Spezies angezeigt, die nicht mit den tatsächlichen
Abstammungsverhältnissen übereinstimmt.
1.2.5 Genbäume und Speziesbäume
Phylogenetische Bäume stellen die evolutionären Beziehungen zwischen verschiedenen biologischen Taxa (z.B. Arten) dar. Es ist schon erwähnt worden, dass es verschiedene Arten solcher Bäume gibt. Wenn sie die Abstammungsgeschichte eines Gens/Proteins abbilden, werden sie Genhänrne genannt. Im Gegensatz dazu repräsentieren Spezie,?- hänme die evolutionären Entwicklungen auf der Ebene der biologischen Arten.
Jedes Gen hat seine eigene Geschichte und die Spezies als Ganzes auch. Außerdem bildet der Speziesbaum eine Art Container für die vielen Genbäume. Das wird in der folgenden Abbildung veranschaulicht:
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 1. Ein in einem Speziesbaum enthaltener Genbaum, der zu den drei Spezies A,B und C führt. Die fett gezeichneten Zweige zeigen die Beziehungen zwischen den Genkopien [Madd97].
Die Berechnung eines Speziesbaumes ist der letzte Schritt einer ^p^ylogeneti^c^en Pipeline. In dieser werden aus alignierten Gensequenzen Genbäume erzeugt und aus diesen dann ein Speziesbaum gewonnen. Ein Nachteil dieses Verfahrens besteht darin, dass Fehler, die auf einer Stufe entstehen, ohne Korrekturmöglichkeit bis zum Ende der
Pipeline propagiert werden. Inzwischen sind Methoden entwickelt worden, welche die letzten beiden Schritte zu einem umfassenderen Modell integrieren (GenbaumSpeziesbaum-Modelle). Dabei wird für die Berechnung der Genbäume neben den Sequenzinformationen bereits ein (provisorischer) Speziesbaum benutzt [STD+15]. Den einzelnen Blättern und Knoten eines Genbaumes sind die Sequenzen eines Gens/Proteins zugeordnet. Diese sind nur bei den heutigen Spezies (den Blättern) bekannt. Kennt man die Struktur des Baumes, lassen sich unter Hinzunahme eines Modelles der Sequenzevolution aus den bekannten Sequenzen diejenigen der Vorläuferproteine errechnen.
1.3 Aufgabenstellung
Ein aktuelles Forschungsfeld betrifft die Rekonstruktion von Proteinen, die in Vorläufern von Bakterien und Archaeen existierten. Für die Berechnung dieser Proteinsequenzen wird ein Genbaum benötigt. An diesen sind sehr hohe Anforderungen gestellt[11], sodass seine Berechnung sehr aufwendig ist. Es soll versucht werden, das Verfahren zu verbessern, indem der Genbaum mit einem Speziesbaum kombiniert wird.
Die Bereitstellung der Sequenzen, die als Eingabe für die Berechnung eines notwendig sind, ist ohne informationstechnische Unterstützung sehr aufwendig. Deshalb sollte ein Programm entwickelt werden, welches diese Arbeit weitgehend automatisiert.
Für dieses Programm sind folgende Ein- und Ausgaben definiert:
1. Eingabe
Ein multiples Sequenzalignment von n Spezies, das auf k Proteinen beruht. Im einfachsten Falle sind nur Sequenzen eines einzigen Proteins gegeben. Das Arngahe-MSU liegt in folgender Form vor:
Abbildung in dieser Leseprobe nicht enthalten
2. Eingabe
Eine Datei mit m Proteinen, deren Sequenzen für die Spezies des Arngahe-MSU herausgesucht werden sollen. Das Format kann wie folgt skizziert werden.
1. Protein | Nummer ; COG-Nummer ; Proteinnamen
2. Protein | Nummer ; COG-Nummer ; Proteinnamen
(...)
m.Protein | Nummer ; COG-Nummer ; Proteinnamen
Dazu ist zu bemerken, dass mehrere alternative Proteinnamen eingetragen werden können. Die COG-Nummer ist eine weitere Möglichkeit, Proteine zu bezeichnen (siehe Abschnitt 2.3.4)
1. Ausgabe
Eine Datei mit den 16S rRNA Sequenzen der Spezies des Eingabe-MSA. Die Ausgabe erfolgt im FASTA-Format.
>Spezies 1
16S rRNA Sequenz von Spezies 1 >Spezies 2
16S rRNA Sequenz von Spezies 2
(...)
>Spezies n
16S rRNA Sequenz von Spezies n
2. Ausgabe
Für jedes der m Suchproteine eine Datei im FASTA-Format, das die entsprechenden Proteinsequenzen der Spezies des Eingabe-MSA enthält.
Je ein File für die Proteine 1 -m >Spezies 1
Aminosäuresequenz des Proteins von Spezies 1 >Spezies 2
Aminosäuresequenz des Proteins von Spezies 2
(...)
>Spezies n
Aminosäuresequenz des Proteins von Spezies n
3. Ausgabe
Eine Datei im FASTA-Format mit den aneinandergehängten Sequenzen aller Suchproteine.
>Spezies 1
Aminosäuresequenz des 1.Proteins ... Aminosäuresequenz des m.Proteins >Spezies 2
Aminosäuresequenz des 1.Proteins ... Aminosäuresequenz des m.Proteins
(...)
>Spezies n
Aminosäuresequenz des 1.Proteins ... Aminosäuresequenz des m.Proteins
Zusätzlich muss untersucht werden, wie robust sich die gewünschte Funktionalität implementieren lässt. Dabei muss etwa geklärt werden, wie zuverlässig die Spezies aus dem Eingabe-MSA identifiziert werden können. Ein weiteres Problem besteht darin, alternative Lösungen für den Fall zu finden, dass sich nicht alle benötigten Ausgabe sequenzen finden lassen.
2 Die Sequenzzusammenstellung aus biologischer Perspektive
Mit Hilfe der eingeführten biologischen Grundbegriffe konnte die Aufgabenstellung definiert werden. In diesem Kapitel erfolgt nun, noch immer aus biologischer Perspektive, eine Hinwendung zu möglichen Lösungsansätzen.
Zunächst soll die Aufgabenstellung motiviert werden. Das Ziel besteht ja in der Zusammenstellung von Sequenzen, die zur Berechnung eines Speziesbaumes benötigt werden. Wenn der Nutzen eines solches Baumes innerhalb des gegebenen Forschungskontextes belegt werden kann, dann ist auch die Entwicklung eines Tools, welches die dazu nötige Sequenzbereitstellung unterstützt, ausreichend motiviert. Im Anschluss werden spezifischere Fragen diskutiert, welche im Verlauf der Arbeit immer wieder eine Rolle gespielt haben. Innerhalb der technisch orientierten Programmentwicklung tauchten regelmäßig Aspekte des biologischen Umfeldes auf. Diese erzwangen Entscheidungen und führten letztlich zu den einzelnen implementierten Funktionen. Dabei werden die zuvor allgemein erläuterten Sachverhalte hinsichtlich der zu bearbeitenden Probleme konkretisiert. Auf der allgemeinen biologischen Begrifflichkeit aufbauend, erfolgt dabei eine spezifischere Untersuchung, die dann direkt zu Aspekten der Aufgabenstellung führt.
2.1 Motivation der Aufgabe
Wie schon in Abschnitt 1.2.5 erwähnt, stimmen ein GenhaMm und der entsprechende SpezieshaMrn nicht notwendigerweise miteinander überein. Es gibt verschiedene Ereignistypen, die zu einer solchen Differenz führen können [Madd97].
Das zeigt folgende Abbildung:
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 2. Beispiele eines Genbaumes in einem Speziesbaum mit abweichender Topologie. Links ist dafür ein horizontaler Gentransfer die Ursache, in der Mitte eine Genduplikation und rechts eine Deep Coa/escewce12. DUP bezeichnet eine Genduplikation, DC entsprechend das Auftreten von Deep Coalescence. Mit X wird ein erfolgter Genverlust markiert. Die Breite des Speziesbaumes entspricht der Größe der jeweiligen Population.
Im linken Teil der Abbildung findet von D nach C ein horizontaler Gentransfer statt.
Außerdem geht in C das vererbte Gen verloren. Deshalb werden C und D abweichend von Speziesbaum zu Nachbarn. Im mittleren Bild führt eine Genduplikation zunächst zu zwei Allelen. Es gelangt aber jeweils nur eines in die aktuellen Spezies. Der Genbaum[12] hat wieder (wie auch im dritten Fall) die Topologie A(B(CD)). Die Auseinander entwicklung von Allelen eines Genes setzt nicht zwangsläufig eine Speziesdifferenzierung voraus. Das kann auch bereits innerhalb der Grenze einer Art geschehen, wobei hierfür die Wahrscheinlichkeit steigt, je größer die Population und je geringer der Abstand (in Generationen) zwischen den Speziesentstehungen ist[13]. Weicht die Reihenfolge der Divergenzzeitpunkte bei Gen und Spezies voneinander ab, spricht man von Deep Coa/escence [Madd97]. Das veranschaulicht der rechte Teil der Abbildung.
Unter Berücksichtigung dieser phylogenetischen Ereignistypen lässt sich mit Hilfe von statistischen Modellen zusätzliches Wissen gewinnen.
- Von einer Menge von Genbäumen ausgehend, kann versucht werden, den plausibelsten Speziesbaum zu finden.
- Ist bereits ein gut abgesicherter Speziesbaum vorhanden, lässt sich von dessen Abweichungen zu einem Genbaum auf Ereignisse schließen, die zu diesen Differenzen geführt haben.
- Ist der Genbaum selbst wenig gesichert, lassen sich seine Abweichungen vom Speziesbaum auch nutzen, um nach Unplausibilitäten und Fehlern zu suchen.
Weil Genbäume in ihren Speziesbäumen enthalten sind (siehe auch 1.2.5), begrenzen Speziesbäume den Suchraum der möglichen Genbäume [STD+15]. In [SRB+13] ist belegt, dass Genbäume, für deren Berechnung zusätzlich ein Speziesbaum hinzugezogen wird, eine höhere Genauigkeit erreichen. Die Verwendung von Speziesbäumen bei der Rekonstruktion von Proteinsequenzen sollte damit ausreichend motiviert sein.
In diesem Zusammenhang stellt sich auch die Frage, von wie vielen Proteinen die Sequenzen benötigt werden, um einen genügend gesicherten Speziesbaum zu erhalten. (Wie die folgenden Abschnitte noch zeigen werden, lassen sich bei weitem nicht alle Proteine verwenden.). Pamilo und Nei entwickelten in [PaNe88] eine Methode, um eine Wahrscheinlichkeit (P) zu berechnen, mit der ein Genbaum mit seinem Speziesbaum übereinstimmt. Als deren obere Grenze bestimmten sie:
Abbildung in dieser Leseprobe nicht enthalten
Hierbei ist T = t/(2N), wobei t die Generationszahl und N die Populationsgröße bedeutet. Bei kurzen Divergenzzeiten zwischen den Spezies oder großen Populationen ergibt sich also ein niedriger Wert für P, der bei wachsendem n rasch sehr klein werden kann.
Pamilo und Nei untersuchten noch die Auswirkungen, die das Hinzunehmen weiterer Allele hat. Der so konstruierte Baum wird composite tree genannt.
Abbildung in dieser Leseprobe nicht enthalten
Tabelle 1. Wahrscheinlichkeit der strukturellen Übereinstimmung zwischen Speziesbaum und composite tree in Abhängigkeit von der Zahl der verwendeten Allele für den Fall von vier Spezies, einer (AB)(CD) Topologie und Ti=T2=1.0 [PaNe88].
Aus dem oben Dargelegten und aus Tabelle 1 ergibt sich, dass ein Speziesbaum auf möglichst vielen geeigneten Proteinen beruhen sollte. Für das zu entwickelnde Programm folgt daraus, dass ein zuverlässiges Auffinden der benötigten Sequenzen in den abge fragten Datenbanken eine hohe Priorität besitzt.
2.2 Die Identifizierung der Spezies
Der Benutzer des Programmes muss die Freiheit haben, die Sequenzen möglichst ohne Einschränkungen zusammenstellen zu können. Die erste Aufgabe, die der ¿e^Menz- ^rozessor erfüllen muss, besteht in der Identifizierung der Spezies der Sequenzen dieses Aingaèe-MST. Für eine solche Bestimmung wird die entsprechende Aminosäuresequenz (oder die dazu ähnlichsten Einträge) aus einer Datenbank herausgesucht. Zu diesen Datensätzen sind die Speziesinformationen annotiert.
Wie schon erwähnt, verändern sich Gene und Proteine im Verlauf der Evolution. Es kommt nicht nur zum Austausch, sondern auch zum Einfügen und Löschen von Elementen und ganzen Abschnitten. Um eine Vergleichbarkeit dieser zumeist verschieden langen Sequenzen überhaupt herzustellen, muss durch geschicktes Einfügen von Lücken eine möglichst optimale Alignierung erzeugt werden.
Wegen der hohen Zeitkomplexität dieser Aufgabe sind dazu Heuristiken nötig. Ein für diese Aufgabe weit verbreiteter und auch im .Se^Merezprozessor verwendeter Algorithmus heißt BLAST (Für genauere Informationen siehe hierzu die bioinformatische Literatur, z.B. [MeWa10]). Die alignierten Sequenzen werden dann elementweise verglichen und bewertet. Wenn sich die gleichen Aminosäuren gegenüberstehen, resultiert daraus ein positiver, im Fall einer Lücke ein negativer Wert[14]. Aus der Summe dieser positionsspezifischen Werte lassen sich dann Maße für die Ähnlichkeit der Eingabe und der jeweiligen Datenbanksequenz gewinnen. Die Sequenzen mit hinreichender Ähnlichkeit zur Eingabe haben eine entsprechend hohe Wahrscheinlichkeit, von derselben oder einer nahe verwandten Spezies zu stammen.
2.3 Die Auswahl der Sequenzen
Nachdem die Spezies bestimmt worden sind, von denen die Sequenzen des Eingangs- MSA stammen, können für diese die für den zu berechnenden Speziesbaum benötigten Sequenzen gesucht werden.
Eine wichtige Problematik ist die Festlegung der Art der interessierenden Sequenzen. Aus welchen Proteinen oder aus welchen anderen Sequenzen soll der Speziesbaum berechnet werden? Die Frage der zu treffenden Auswahl ist für den Gesamtprozess so wichtig, dass sie hier besprochen werden soll. Zunächst soll allgemein geklärt werden, welche Charakteristika Sequenzen als Grundlage für einen Speziesbaum geeignet machen. Im Anschluss werden die beiden wichtigsten Typen (16S RNA und Proteine) genauer diskutiert. Für die Proteine ist dann noch die Frage zu klären, wie Homologe in verschiedenen Arten erkannt werden können.
2.3.1 Molekulare Uhren
In verschiedenen Spezies akkumulieren homologe Gene unabhängig voneinander Mutationen, der Grad an Abweichung korrespondiert der verflossenen Zeit. Die Mutationsrate ist auf das Genom bezogen nahezu konstant, bei höher entwickelten Eukaryoten sind somatische Mutationen allerdings häufiger als generative [MunkOl]. Phylogenetische Berechnungen, bei denen die betreffenden Spezies ähnliche Genom-größen haben, können also von einer konstanten Mutationsrate ausgehen. Diesen Umstand kann man sich zunutze machen, um von einer quantifizierten Sequenzdifferenz auf einen phylogenetischen Abstand zu schließen, man spricht dann von molekularen Uhren.
Im Gegensatz zur Synthetischen Evo/Mtionstheorie geht die von Kimura begründete AeMtra/e Theorie öer Evo/Mtion davon aus, dass die meisten Mutationen selektionsneutral sind. Das liegt darin begründet, dass aufgrund der Degeneration des genetischen Codes viele Mutationsereignisse folgenlos bleiben, dass oft Aminosäuren mit ähnlichen Eigenschaften substituiert werden und dass die Domänen häufig nur einen kleinen Teil der Proteine ausmachen. Genetische Drift und phänotypische Evolution sind damit weitgehend voneinander entkoppelt. Vorteilhafte Mutationen sind dabei so selten, dass man sie im Modell vernachlässigen kann. Eine wichtige Konsequenz dieser Theorie ist die Existenz molekularer Uhren verschiedener Geschwindigkeiten. Je größer die funktionale Bedeutung einer Sequenz ist, desto stärker der Selektionsdruck und desto langsamer die entsprechende Uhr. Fibrinopeptide haben kaum bekannte Funktionen und sie evoluieren siebenmal schneller als Hämoglobine [Kimu89]. In Introns oder Pseudogenen, wo Mutationen praktisch keinerlei Selektionsdruck unterliegen, finden sich somit die schne//sten Uhren.
Für eine gegebene Aufgabenstellung sollten also jeweils Gensequenzen mit einer geeigneten Mutationsgeschwindigkeit gewählt werden. Diese wird von verschiedenen Parametern beeinflusst. Kimura erwähnt die Beschleunigung der Zahl vererbter Mutationen nach Genduplikationen [Kimu89]. Um das Risiko falscher phylogenetischer Bäume zu verringern, sollten deshalb die Sequenzdaten möglichst vieler G ene kombiniert und dabei eine möglichst gute Auswahl getroffen werden. Für Verwandtschaftsbeziehungen zwischen Bakterien, Archaeen und Eukaryoten erwiesen sich die Gene für ribosomale Proteine als die geeignetsten [Ayal99].
Als Datenquelle für die Erstellung von Speziesbäumen kommen auch RNA-Sequenzen in Frage, insbesondere die 16S rRNA, in der größere Sequenzbereiche eine besonders langsam laufende molekulare Uhr repräsentieren (1-2% Unterschied in 50 Millionen Jahren) [MeWa10].
2.3.2 16S rRNA-basierte Phylogenetik
Da im Kontext der Entstehung dieser Arbeit nur prokaryotische Spezies eine Rolle spielen, beschränke ich mich im Folgenden auf die 16S rRNA. Woese erläutert in [Woes87] die Bedeutung der 16S rRNA für die Phylogenetik. Eine gute mo/eku/are Ukr muss genügende Kapazität und Reichweite haben, sie muss auch analog zu einer realen Uhr funktionieren. Eine geeignete Sequenz sollte eine entsprechend große Zahl von nur lose gekoppelten Domänen besitzen, damit eine unabhängige Veränderung der einzelnen Regionen gewährleistet ist. Hier unterscheidet sich die 5S rRNA von den größeren Komponenten [Woes87].
Die Eignung der 16S rRNA als mo/eku/are Ukr folgt so aus ihren Eigenschaften: Sie kommt in allen Spezies vor, sie besteht aus vielen Domänen, ihre Sequenz ist lang genug. An verschiedenen Positionen ist ihre Mutationsrate sehr unterschiedlich [Woes87]. Die positionsspezifisch verschiedenen Grade an Konserviertheit lassen sich also im Sinne spezifischer Fragestellungen nutzen. So gibt es Positionen der 16S rRNA, die Signaturen für die biologischen Domänen beinhalten. Das ist aus Abbildung 3 ersichtlich.
TABLE 1. Sequence signature distinguishing the two procaryotic kingdoms4'
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 3. spezifische Positionen der 16S rRNA für die drei biologischen Domänen [WOES87].
Weniger konservierte Positionen eignen sich für andere Fragestellungen, etwa für die Differenzierung grampositiver oder Flavobakterium-Bacteroides Subdivisionen [Woes87]. Die 16S rRNA ist also nicht bloß eine mo/eku/are Ukr, sondern eine ganze Sammlung verschiedener Chronometer, welche nicht nur die Zeit, sondern über die durch die rRNA-Struktur vorgegebenen Schwellen auch die Evolutionsgeschwindigkeit misst [Woes87]. Im Kontext dieser Arbeit liegt die Bedeutung der 16S rRNA vor allem darin begründet, dass sich mit ihrer Hilfe sehr frühe evolutionäre Ereignisse rekonstruieren lassen.
2.3.3 Proteinbasierte Phylogenetik
Man kann einen Speziesbaum auch auf der Basis von Proteinen berechnen.
Folgende Aspekte sind dabei zu beachten:
1. Die Eindeutigkeit der Proteinnamen. Homologe Proteine können bei verschiedenen Spezies unterschiedliche Namen haben, insbesondere wenn sie einen großen evolutionären Abstand zueinander haben [MunkOl]. Auch weichen die Bezeichnungskonventionen der Proteindatenbanken mitunter voneinander ab. Die Namen der Proteine erlauben also nicht unbedingt deren eindeutige Referenzierung.[15]
2. Die Existenz der Proteine in den Spezies. Es sind nur Proteine geeignet, die in allen interessierenden Spezies vorhanden sind. Damit wird die Menge der Kandidaten für die zu treffende Auswahl unter Umständen schon drastisch beschränkt. Die Größe der Genome variiert stark, Raci/Zus /ic^eni/ormis besitzt 42OO, Mycop/asma genita/um lediglich 477 Proteine [MunkOl]. Welche Proteine hier überhaupt in Frage kommen, hängt auch davon ab, in welchen taxonomischen Bereichen die Spezies angesiedelt sind. Histone kommen in allen Eukaryoten vor, aber nicht in Bakterien, bei der Gyrase verhält es sich umgekehrt [MunkOl]. Für viele Fragestellungen werden vor allem Proteine in Frage kommen, deren Funktion lebenswichtige Prozesse betrifft, wie (selbstreferentiell) die Proteinsynthese. Auch Cytochrom c spielt bei phylogenetischen Untersuchungen eine wichtige Rolle [Woes87].
3. Die Sequenzierung der Genome. Das Vorhandensein der Proteine allein genügt nicht, ihre Sequenzen müssen auch bekannt und zugänglich sein. Die erste vollständige Sequenzierung fand 1977 bei einem Bakteriophagen statt, 1995 folgte mit GaemopMus in//uenzae das erste Bakteriengenom. Bis 2O1O sind etwa 75O vollständige Genom sequenzen von Bacteriae-Spezies publiziert worden [MunkO1].
2.3.4 Clusters of Orthologous Groups (COG)
Das Bestreben, funktional äquivalente homologe Proteine zu identifizieren, führte zu der COG-Klassifizierung. Die einer COG zugeordneten Proteine sind einander ortholog und damit für einen Sequenzvergleich bei phylogenetischen Fragestellungen geeignet (siehe auch Abschnitt 1.2.4). Die ursprüngliche Version der C/usters o/ Ort^o/ogous Groups erschien 1997 [TKL+97], bereits zwei Jahre nach der Veröffentlichung des ersten kompletten bakteriellen Genoms. Die Berechnung der Cluster beruhte auf sieben vollständig sequenzierten Genomen von fünf grundlegenden phylogenetischen Abstammungslinien und führte zu 72O COGs. Das Verwenden vollständiger Sequenzierungen ist notwendig, um falsche Zuordnungen zu vermeiden.
Die Bildung der Cluster geschah mit einem graphentheoretischen Algorithmus, der genauer in [KKC+1O] beschrieben ist. Dabei wurden alle Proteine von verschiedenen Spezies paarweise miteinander verglichen und die jeweils ähnlichsten Sequenzen mit einer Kante markiert.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 4. schematische Darstellung der Besten Symmetrischen Matche (SymBets) zur Konstruktion von COGs [ККС+10].
Bei Anwendung dieses Algorithmus entsteht ein g-partiter Graph (g = Genomzahl), wobei jedes Dreieck eine minimale COG repräsentiert und als Seed für den nun folgenden Erweiterungsalgorithmus fungiert. Dieser versucht, die COGs zu vergrößern, indem nach Dreiecken gesucht wird, die mit dem aktuellen Cluster gemeinsame Kanten haben. Die Berechnung ist mit Ofg^j hochpolynomial, lässt sich aber durch einen performanteren Algorithmus auf Ojg5 /ogg) beschleunigen [ККС+10].
Die Analyse der Zusammensetzung der Cluster erlaubt Schlussfolgerungen für die Auswahl von Proteinen bei konkreten phylogenetischen Projekten. So finden sich in
[TKL+97] folgende Punkte:
- Pathogene Bakterien besitzen Proteine, die in anderen Spezies fehlen.
- Die Verteilung der COG kann mit^phy/ogenetischen Mastern beschrieben werden. Zwei dieser Muster beschreiben COGs, deren Proteinen in allen beziehungsweise in allen Spezies außer in Mycop/asma Vorkommen. Bemerkenswerterweise beinhalten beide Gruppen zusammen nur ein Drittel aller COGs.
- Die Translation ist der einzige Funktionskreis, in dem COGs mit Repräsentanten in allen Spezies dominieren.
Letzterer Punkt deutet auf einen Umstand hin, der im nächsten Abschnitt noch deutlicher werden wird: Bei der Auswahl der Proteine für die Erstellung eines Speziesbaumes ist damit zu rechnen, dass geeignete Kandidaten oft an der Proteinsynthese beteiligt sind.
Zusammenfassend lässt sich sagen, dass die COGs ein geeignetes Mittel sind, um die zu gesuchten Proteine zu referenzieren. Mit anderen Charakteristika, wie Gen-Namen oder EC-Nummern ließen sich keine vergleichbaren Resultate erreichen, was hier nicht näher ausgeführt wird. Allerdings erwies sich die COG als eine nicht durchgängige
Kategorisierung. In der Mehrzahl der Protein-Datensätze fehlte eine COG-Referenz. Die C/Msters o/ Ortho/ogoMs Gropps sind somit ein wirksames Instrument für die Bezeichnung von Proteinen, dessen Anwendbarkeit aber begrenzt ist.
2.3.5 Proteinauswahl
Die Wahl der zu alignierenden Proteine erfolgt innerhalb einer bestimmten Aufgabenstellung, ist also kontextabhängig. Die Proteinauswahl orientiert sich dabei auf Empfehlung von Prof. Merkl an den Ergebnissen eines 2006 publizierten Artikels [CDM+06][16]. In diesem wird die Konstruktion eines phylogenetischen Baumes aus 191 pro- und eukaryotischen Genomen beschrieben. 179 davon stammen aus der STR/AGDatenbank, der Rest wurde manuell hinzugefügt 37 COGs waren in allen prokaryotischen Genomen von 5TR/AG vorhanden, eine davon besaß keine Orthologen in Eukaryoten. Von den verbleibenden 36 Clustern wurden diejenigen mit wiederholtem horizontalen Gentransfers in mehreren Spezies gestrichen. Ein nicht eindeutiges MSA und/oder Domänenkomposition führte ebenfalls zum Ausschluss aus der Selektion. Letztlich verblieben 30 COGs[17] (siehe Anhang B). 28 dieser Proteine sind ribosomale Bestandteile oder tRNA-Synthetasen [CDM+06].
Diese Zusammenfassung bestätigt und konkretisiert die Schlussfolgerungen des vorigen Abschnittes. Die Zahl der Proteine, welche für die Erstellung von Speziesbäumen überhaupt in Frage kommen, ist letztlich recht überschaubar. Das gilt insbesondere, wenn die betreffenden Spezies einen großen evolutionären Abstand voneinander haben. Die in [CDM+06] aufgeführten 30 Proteine können also als Basis für proteinbasierte phylogenetische Untersuchungen dienen.
3 Nutzung von RNA- und Proteindatenbanken
Die automatisierte Nutzung von Datenbanken spielt für die zu lösende Aufgabe eine bedeutende Rolle. Auf die damit verbundenen Probleme und Möglichkeiten soll nun eingegangen werden. Zunächst soll ein kurzer Überblick über die Entwicklung molekularbiologischer Datenbanken der letzten Jahre gegeben werden. Danach wird dann konkret beschrieben, auf welche Art d er Zugriff auf die benötigten D aten erfolgen konnte. Dieses Kapitel bildet eine Brücke zwischen biologischen und informationstechnischen Fragestellungen, wobei die technischen Aspekte zunehmend dominieren.
3.1 Einführung
Datenbanken werden in der biologischen Forschung immer wichtiger. Die Form der biologischen Informationsspeicherung passt gut zu den Strukturen der Informationstechnologie. Sowohl Proteine als auch Gene und Ribonukleinsäuren lassen sich als einfache Sequenzen repräsentieren. Dabei gibt es nur wenige Alphabete mit einer überschaubaren Menge an Zeichen.
Im Zuge der rapide gesunkenen Sequenzierungskosten nimmt der Umfang der bioinformatischen Datenbanken rasch zu, das Wachstum gilt als exponentiell. Inzwischen ist die Bioinformatik zu einem der Hauptanwendungsgebiete von Big Data geworden [Marxl3]. Diese Entwicklung ist in der folgenden Abbildung graphisch dargestellt.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 5. Entwicklung des Umfanges genetischer Sequenzdaten [Marxl3].
Nicht nur der Umfang, auch die Menge an molekularbiologischen Datenbanken ist in ständiger Entwicklung. Im Januar 2009 waren in der Zeitschrift Awc/eic HciJ Research 1170 Datenbanken verzeichnet [MeWalO], die 20l5er Ausgabe enthält 56 neue Einträge [GRF15].
Die Klassifizierung molekularbiologischer Datenbanken ist wegen der dynamischen Entwicklung nicht unproblematisch. Gängig ist die Unterscheidung von primären und sekundären Datenbanken. In ersteren sind experimentell ermittelte Daten gespeichert, in letzteren davon abgeleitetes Wissen [MeWalO]. Primäre Datenbanken können durch den
Typus der in ihnen gespeicherten Sequenzen charakterisiert werden. Man unterscheidet DNA-, RNA- und Proteindatenbanken. Am größten dürfte die Variabilität im Fall der Speicherung von Protein-Informationen sein. Es können deren Sequenzen, dreidimensionale Strukturen, die Domänenarchitektur, Protein-Protein-Interaktionen oder Proteinfamilien gespeichert werden - die Aufzählung ließe sich fortsetzen.
3.2 Zugriff auf die Daten
Aus naheliegenden Gründen beschränken sich die Ausführungen von nun an weitgehend auf Datenbanken, die für die zu lösende Aufgabe genutzt werden konnten.
Es bestehen verschiedene Möglichkeiten, um auf die Daten zuzugreifen:
- Abfragesprachen. Die wichtigste Rolle spielt hier noch immer die tupelorientierte Standard Query Language (SQL), welche auf Relationen operiert. Daneben gewinnen auch Sprachen für nicht relationale Datenspeichersysteme (NoSql) an Bedeutung.
Um Abfragesprachen extern nutzen zu können, muss eine Verbindung zu der entsprechenden Datenbank über einen Treiber realisiert werden. SQL ist sicher die komfortabelste Form der Datenbankabfrage, diese Möglichkeit konnte bei den verwendeten Datenbanken aber nicht genutzt werden.
- Webservices. Webservices sind ein verbreitetes Mittel der Computer-ComputerKommunikation. Sie verwenden ein Protokoll der Anwendungsschicht zum Nachrichtenaustausch, sind also von den Programmiersprachen der beteiligten Applikationen unabhängig. Webservices konnten ebenfalls nicht verwendet werden.
- Einbindung externer Bibliotheken. Mit einer API stellt eine Software die Möglichkeit bereit, Programmteile einzubinden. Diese Anbindung wird auf Quelltextebene definiert. Die für die Proteinsequenzsuche genutzte Datenbank UMPÆOr stellt die Schnittstelle bereit. Deren Nutzung wird genauer im Abschnitt 3.4. beschrieben.
- Download der Daten. Eine weitere Möglichkeit besteht im Download von Datenfiles. Diese können dann entweder lokal in eine Datenbank importiert oder mit einem Programm durchsucht werden. Alle verwendeten rRNA-Datenbanken erlaubten diesen Zugriffsmodus. Auf die Erstellung einer lokalen Datenbank wurde indes verzichtet. Das würde den Initialisierungsprozess (siehe auch Anhang D) komplizierter machen und sich negativ auf Robustheit und Portabilität auswirken. Angesichts des Charakters der durch das Programm unterstützten Arbeiten (keine Notwendigkeit von Echtzeit-Response) wurde die durch Nutzung von SQL-fähigen Datenbanken mögliche Beschleunigung der Abläufe als weniger wichtig eingestuft.
- Web-Frontend. Für die meisten molekularbiologischen Datenbanken wird eine Website zur Verfügung gestellt, die den Benutzern individuelle Abfragen erlaubt. Diese Art des Datenzugriffes gehört zwar nicht zur Computer-ComputerKommunikation, kann diese aber in hilfreicher Weise ergänzen. Außerdem können so (insbesondere während der Softwareentwicklung) die Ergebnisse der automatisierten Datenzugriffe verifiziert werden.
3.3 rRNA-Datenbanken
Für die Suche der 16S rRNA Sequenzen wurden drei Datenbanken genutzt. Nach
absteigender Relevanz sortiert sind das STLK4, Ribos ornai Database Project (PDP) und Greengenes. Ein Vergleich der in diesen Datenbanken gespeicherten Taxa findet sich in [YPY+14], veranschaulicht durch die folgende Abbildung.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 6. Venn Diagramm der in den Datenbanken SILVA, RDP-II und Greengenes gespeicherten Taxa auf Genus-Ebene. Nur Taxa, die Sequenzen von kultivierten Organismen enthalten, sind berücksichtigt [YPY+14].
Die zum Download angebotenen Files lassen sich in zwei Kategorien einteilen.
Pe^Menz/iies enthalten die RNA-Sequenzen und Informationen, wie diese referenziert werden können (Accessions-ID). Das Format ist oft FASTA, doch es gibt auch Dateien im Genbank-Format. Sequenzfiles können aligniert oder unaligniert sein.
DbersetzMngs/iies enthalten die Zuordnung von Deskriptoren zu den Datensätzen der Sequenzfiles. Im konkreten Fall werden mit der NCBI-ID, welche als Spezies-Identifika- tor dient, die Accessions-ID der Datenbanken gesucht und damit die Sequenzen in den Sequenzfiles referenziert. Wenn Sequenzfiles entsprechend reichhaltige Header-Informationen haben, können sie auch als Übersetzungsfiles verwendet werden (Das ist beim Genbank-Format der Fall).
SILVA. In SILVA sind sowohl SSU (16S/18S) als auch LSU (23S/28S) aller drei Domänen gespeichert (alle Informationen dieses Absatzes stammen direkt von der Website http://www.arb-silva.de). Die Zahl der gespeicherten Sequenzen erhöhte sich von 16277 im Jahr 2000 auf aktuell 4.985.791 (Release 123). Wegen der wachsenden Datenmenge werden inzwischen redundanzbereinigte Datenfiles zum Download angeboten. Manuelle Abfragen mit anschließendem Download sind möglich.
Die Sequenzfiles liegen im FASTA-Format vor, die jeweilige Headerzeile beginnt mit der Accessions-ID von SILVA. Weiterhin werden verschiedene Übersetzungsfiles zur Verfügung gestellt, mit dessen Hilfe sich die durch die NCBI-ID identifizierten Spezies der jeweiligen Datensätze bestimmen lassen. Zur Verwendung kamen die Files mit dem Namensbestandteil “_embl_“, weil diese die NCBI-ID enthielten.
Der Datenzugriff ließ sich also bewerkstelligen, indem die Relation der folgenden Abbildung realisiert wurde.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 7. Zugriff auf die Datensätze des Sequenzfiles (ARB-Silva/FASTA) bei gegebener Spezies-Nummer (NCBI-ID) mittels eines Übersetzungsfiles in SILVA.
RDP. Das Release 11.4. (Mai 2015) enthält 3.224.600 16S rRNA-Sequenzen von Bakterien und Archaeen (Die Informationen dieses Absatzes stammen von http://rdp.cme.msu.edu). Zum Download werden sowohl alignierte als auch unalignierte Datenfiles im FASTA-Format angeboten. Ich habe mich für letztere entschieden, weil das 16S rRNA-Resultatsfile Sequenzen aus verschiedenen Datenbanken enthalten können soll. Die unalignierten Files beanspruchen auch deutlich weniger Speicherplatz (Faktor 12).
Als Übersetzungsfiles dienen Dateien im Genbank-Format. Der Zugriff auf die Datensätze der Sequenzfiles erfolgt ebenfalls gemäß Abbildung 7, allerdings ist dieses Format für diesen Zweck weniger komfortabler. Man muss den Genbank-Header parsen, um die der jeweiligen Accessions-Nummer entsprechende NCBI-ID zu identifizieren.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 8. Beispiel eines Genbank-Headers. Die Accessions-ID findet sich in der ersten Zeile, die NCBI-ID in der 3. Zeile von unten.
Greengenes. Das letzte Release stammt von Mai 2013, lässt also Aktualität vermissen. Es enthält 1.220.230 Einträge. Die verfügbaren Übersetzungsfiles enthalten keine NCBI- ID, man kann hier die Accessions-ID lediglich in die Genbank-ID übersetzen. Es ist also noch eine zweite Übersetzung von der Genbank- in die NCBI-ID nötig, die entsprechenden Files muss man sich irgendwo besorgen.
Den Zugriff auf die Datensätze der Sequenzfiles veranschaulicht Abbildung 9.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 9. Zugriff auf die Datensätze des Sequenzfiles (Greengenes/FASTA) bei gegebener Spezies-Nummer (NCBI-ID) mittels zweier Übersetzungsfiles in Greengenes.
3.4 Proteinsequenzdatenbanken
Die wichtigsten primären Datenbanken für Proteinsequenzen gehören zu UniProt. Sie werden durch das UniProt-Konsortium verwaltet, das aus dem Enropean Sioin/ormatics /nstitnte (EST), dem Swiss /nstitnte o/ Sioin/ormatics und dem Protein Information Pesonrce (P/Д) besteht [Unip14].
Es gibt derzeit vier UniProt-Datenbanken:
1. GniProtPS. Das ist eine durch Experten gepflegte Datenbank, die aus zwei Sektionen besteht: die erste enthält manuell annotierte (Swiss-Prot), die zweite noch ungeprüfte Sequenzen (PrEMSE) [Unip14]. GniProtPS enthält mittlerweile mehr als 50 Millionen Datensätze (Quelle: http://www.UniProt.org).
2. GniProt Hrc^ive (GniParc). Ein umfassendes, nicht redundantes Archiv, in dem die meisten der öffentlich erhältlichen Proteinsequenzen gespeichert sind.
3. GniProt Pe/erence C/nsters (GniPef). Hier werden ähnliche Sequenzen zusammengeführt, um die Datenmenge zu reduzieren.
4. Proteomes. Eine Proteom-Datenbank.
Die Metagenom-Datenbank Metagenomic anf Environementa/ Segnence (GniMes) wurde inzwischen aufgegeben.
Der Zugriff auf die Daten wurde mit der von UniProt bereitgestellten API (UniProtJAPI) realisiert. Die Entwicklung erfolgte zunächst auf der Basis einer Beta-Version, die auch Fehler enthielt (vergleiche Anhang C). Ende Oktober wurde dann die deutlich umfangreichere und auch komfortablere Version 1.0.0 veröffentlicht, in der bisher von mir kein Fehler festgestellt worden ist. Das im Rahmen dieser Arbeit entwickelte Programm verwendet inzwischen diese Version. Das zugrundeliegende Prinzip der API besteht darin, dass der Client eine Anfrage an den UniProt-Server richtet und als Ergebnis ein Recordset[18] erhält, welches später dann nach relevanten Informationen durchsucht werden kann.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 10. schematischer Ablauf des Zugriffs auf die UniProt-Daten
Das abgebildete Ablaufdiagramm zeigt vereinfacht, wie mit Hilfe der API die Daten von UniProt gesucht werden. ProternProzessor ist hier eine Klasse des Se^Merezprozessors, die anderen Klassen gehören zur UniProtJAPI. CrnProtContenA entspricht dabei mehreren Klassen (eine detaillierte Darstellung würde sehr unübersichtlich werden und kaum etwas zum Verständnis beitragen). Die einzelnen Aufrufe sollen kurz erklärt werden.
(1,2) Die ProteinProzessor-Instanz besitzt als Attribut einen CrnProtöemce, der zunächst gestartet werden muss.
(3,4) es wird eine Abfrage (Query) auf der Basis der bekannten NCBI-ID aufgebaut.
(5,6) Mit dieser definierten Query wird über den UniProtService die UniProt-Datenbank kontaktiert, man erhält ein Recordset (Iterator) als Ergebnis zurück.
(7,8,9) Anschließend wird über diesem Recordset iteriert, zu jedem einzelnen Datensatz werden die benötigten Informationen gesammelt. Zu beachten ist, dass die Abfrage in Bezug auf die zu suchenden Proteine nicht selektiv ist. Es werden alle Datensätze der jeweiligen Spezies geliefert. Nach welchen Kriterien die Identifizierung der Proteine erfolgt, wird im vierten Kapitel genauer behandelt.
(10) Am Ende wird der Service gestoppt.
Von einer gegebenen Entry[19] ausgehend lassen sich verschiedenartige Annotationsinformationen gewinnen. Einen Ausschnitt der Klassenstruktur zeigt die folgende Abbildung.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 11. Ausschnitt eines UniProt-Klassendiagramms
Aus Abbildung 11 lässt sich entnehmen, wie sich von einer gegebenen Instanz der Entry- Klasse die benötigten Informationen holen lassen. Die NCBI-ID erhält man unmittelbar über eine assoziierte Liste der AchiTaxonomy/ö-Klasse. Die COG-Nummer lässt sich über die externen Datenbankkreuzreferenzen gewinnen, der Proteinnamen über ProteinDeycr/ption.
3.5 Der Ablauf der Speziesidentifizierung
Zu Beginn eines Projektes ist lediglich ein MS A gegeben, zunächst müssen also die
Abbildung in dieser Leseprobe nicht enthalten
Spezies identifiziert werden. Dazu ist eine BLAST-Abfrage erforderlich. Die Identifizierung der Spezies geschieht mit Hilfe der UniProtJAPI. Abbildung 12 veranschaulicht den Ablauf.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 12. schematischer Ablauf der BLAST-Abfrage zur Speziesidentifizierung
Der mit (1) instanziierte Service wird in (5) benutzt, um den UniProt-Server mit einer BLAST-Anfrage zu kontaktieren, wofür eine Blastlnput-Instanz notwendig ist, die aus der übergebenen Sequenz gewonnen wird (3,4). Der Rückgabewert ist eine Liste mit BLAST-Hits, die nach absteigender Relevanz sortiert sind. Diese werden iteriert, jedem Blast Hit ist eine Antry zugeordnet, mit der sich dann die benötigten Informationen, insbesondere also die NCBI-ID finden lassen (7-10). Hier ist Dm'ProtgMery eine Klasse des Se^Merazprazessors, die anderen Klassen gehören zur API, wobei Dm'ProtContents wieder mehreren Klassen entspricht.
Abbildung in dieser Leseprobe nicht enthalten
4 Der Sequenzprozessor aus funktionaler Perspektive
„Sehr allgemein kann eine Programmiersprache als ein Tripel (PROG, E, σ) beschrieben werden. Dabei ist PROG, die Menge der Programme oder die Syntax, eine Menge von Wörtern, E i. a. eine Menge von Funktionen, und σ die Semantik (-/unktion), die jedem Programm P e PROG seine Bedeutung, die berechnete Funktion σ(Ρ) 6 E, zuordnet.“
[Weihll], S. 121
Man kann ein Programm auf die von ihm realisierte(n) Funktion(en) hin untersuchen.
Nicht immer ist das sinnvoll, gerade bei komplexen Softwarenprodukten sind die implementierten Funktionen in der Regel zu umfangreich und heterogen. Im Fall des Sequenzprozessor-Tools handelt es sich um ein sehr domänenspezifisches Programm, das für eine eng umrissene Aufgabe geschaffen worden ist. Ohne substanziellen Verlust lässt sich hier von den implementierten ,nice to have‘-Features abstrahieren und eine rein funktionsorientierte Perspektive einnehmen.
Das Ziel dieses Kapitels besteht darin, die für die Lösung der gestellten Aufgabe zu realisierenden Funktionen detailliert zu entwickeln und die damit verbundenen Probleme zu diskutieren. Ein Programm wie der Sequenz^rozessor ist aus dieser formalen Perspektive eine von vielen möglichen Realisierungen dieser Funktionen. Aspekte der Implementierung werden gelegentlich bereits eine Rolle spielen, doch der Fokus des vierten Kapitels liegt auf denjenigen Sachverhalten, die von y'eöfem Programm beachtet werden müssen, das die gegebene Aufgabenstellung lösen möchte.
4.1 Die Programmfunktionen
Schritt für Schritt sollen nun die implementierten Funktionen erarbeitet werden. Dazu zunächst einige Definitionen:
Abbildung in dieser Leseprobe nicht enthalten
Die Gültigkeit der hier und weiter unten definierten Begriffe erstreckt sich natürlich nur auf diese Arbeit. Begriffe wie Protein-Funktion haben in anderen Kontexten eine völlig abweichende Bedeutung.
In den hier gegebenen und noch folgenden Definitionen werden Folgen statt Mengen benutzt, wenn es eine Sequenzreihenfolge gibt, die erhalten bleibt. Im Fall der PA4-FMnk- tion besteht das Ergebnis aus einer Datei im FASTA-Format, in der jeder Datensatz i eine 16S rRNA Sequenz enthält, die von einer der Spezies stammt, welche der Sequenz i des Pingake-MSd[20] zugeordnet werden können. Ebenso besteht im Fall der Protein-Funktion das Ergebnis aus einem FASTA-File für jedes der interessierenden (zusätzlich noch eine Datei mit den Sequenzen aller) Proteine, wo ebenfalls die Sequenzreihenfolge erhalten bleibt.
Die Funktionen r und p erzeugen neben den Ergebnissequenzfolgen eine zusätzliche Aminosäuresequenzfolge, die ^œgake-MSd genannt werden soll. Dieses kann mit dem Pingake-MSd identisch sein. Projektionen der Funktionswerte werden durch Indizes gekennzeichnet. Damit lassen sich vier weitere Funktionen angeben, nämlich:
Abbildung in dieser Leseprobe nicht enthalten
Die Protein-Funktion lässt sich auch für einzelne Proteine angeben:
Abbildung in dieser Leseprobe nicht enthalten
Die Funktionen га und pA erzeugen die bereits eingehend diskutierten Sequenzfolgen aus den definierten Eingaben mittels der jeweiligen Datenbanken. Die Funktionen гв und рв sind wie folgt zu verstehen: Das Pingang5-MSd bildet die Basis für den zu berechnenden Genbaum. Jede Sequenz dieses MSA stammt von einer Spezies. Wenn es dabei Spezies gibt, zu denen es die 16S rRNA- oder eine Sequenz/mehrere Sequenzen von Shckpro- teinen fehlen, kann die identifizierte Spezies durch eine ihr ähnliche ersetzt werden. In diesem Fall muss aber auch im gegebenen MSA die Sequenz der ursprünglichen Spezies durch die der gewählten Alternative ausgetauscht werden. Das Pingang5-MSd wird somit auf ein ^M5gang5-MS4 abgebildet.
Die Definitionen der Protein- und der PA4-FMnktion sind unspezifisch und damit von sehr begrenzten Wert. Die Funktionen r und p sollten also zusätzliche Eigenschaften haben, um einen relevanten molekularbiologischen Sachverhalt abbilden zu können. Es folgen weitere Definitionen:
Abbildung in dieser Leseprobe nicht enthalten
Zu jeder Sequenz des Fingabe-MSH werden aus Datenbanken die ähnlichsten Sequenzen herausgesucht. Die dazu annotierten Spezies bilden in ihrer Gesamtheit die Menge der Spezieskandidaten-Identi/izierung (4.l.4). Die einzelnen Elemente der Spezieskandidaten können nun aufgrund von quantifizierten Ähnlichkeitsinformationen bewertet werden, wobei eine l eine optimale Identifizierung bedeutet und eine 0 zu einem Ausscheiden aus der Kandidatenmenge führt (4.l.5). Nur Aminosäuresequenzen, die zu einer Spezies gehören, sind biologisch sinnvoll. Sequenzen, zu denen keine plausible Herkunft festgestellt werden kann, sind kaum weiter nutzbar (4.l.6). Wenn aus jeder Spezieskandidatenmenge eine Spezies oder ein Cluster so eng verwandter Spezies ausgewählt wird, dass diese als eine einzige Spezies zählen können, ist das eine Speziesauswahl (4.l.7).
Falidität (4.l.6) ist sicher eine Minimalbedingung. Darüber hinaus sind noch weitere
Abbildung in dieser Leseprobe nicht enthalten
Zu Definition 4.l.8 ist zu bemerken, dass es nic^t Σ*ι ... Σ*η ^ Σι ... Σηheißt. Man kann eine Sequenz also mit einer Menge verschiedener Spezies identifizieren. Diese ClusterEigenschaft erklärt sich aus dem möglichen Vorhandensein mehrerer sehr eng verwandter Spezies, denen eine bestimmte Aminosäuresequenz gleichermaßen zugeschrieben wird.
Gültige Funktionen beschreiben Funktionen bei denen die Ausgabesequenz(en) von Spezies stammen die zu den Spezieskandidaten des Eingabe-MSA gehören (4.1.9 und 4.1.10).
Abbildung in dieser Leseprobe nicht enthalten
Eine Funktion wird als vollständig bezeichnet, wenn für jede Sequenz im Eingabe-MSA die Spezies bestimmt und die entsprechenden Ergebnissequenzen gefunden werden konnten (4.1.11 und 4.1.12). Im Fall der Protein-Funktion, kann es sein, dass dies nur für einige der Proteine der Fall ist. In diesem Fall lässt sich die Zahl der Proteine, für die keine Sequenzen fehlen angeben und als ZaW der vollständigen Proteine bezeichnen (4.1.13).
Es soll nicht verschwiegen werden, dass die meisten der hier angegebenen Definitionen vor allem in semantischer Hinsicht ungenügend sind. Sie sind zu wenig restriktiv, nur eine Teilmenge der angegebenen Funktionen ist biologisch sinnvoll. Präzisere Definitionen würden aber zu einem hier unangemessenen formalen Apparat führen, weshalb darauf verzichtet worden ist.
4.2 Die Qualitätsfunktion
Die Eingabe des realisierten Programmes besteht aus einem multiplen Sequenzalignment von einem oder wenigen Proteinen und einer Menge von Proteinbeschreibungen, die Ausgabe aus einer Folge von 16S rRNA Sequenzen und einer Menge von Proteinsequenzfolgen. Diese Ausgabe dient wiederum als Eingabe für einen Baum-Konstruktionsalgorithmus. Der so erzeugte Baum kann die tatsächlichen evolutionären Sachverhalte mehr oder weniger gut abbilden. Durch Einbeziehung zusätzlicher (z.B. evolutionsbiologischer) Informationen und durch verschiedene Tests können Angaben zu dessen Qualität gemacht werden. Verschiedene phylogenetische Bäume lassen sich etwa mit der Mirror- Tree-Methode vergleichen. Auch durch Verwenden von Outgroups oder des BootstrapVerfahrens kann ein Baum bewertet werden [MeWa10].
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 13. Schematischer Ablauf der Erzeugung phylogenetischer Bäume aus einem Protein- MSA und einer Menge von Proteinbeschreibungen.
Für die konkrete Angabe einer Qualitätsfunktion müsste der erzeugte Baum bewertet werden. Dessen Berechnung findet aber nicht im Rahmen dieser Arbeit statt. Qualitäts aussagen sind also nur in einem sehr eingeschränkten Maß möglich. Wir können aber zwei Aspekte unterscheiden: Einen FeWer, der negativ und einen Snpport, der positiv mit der Qualität korreliert. Je mehr Proteine für den Algorithmus zur Konstruktion des Spezieshanrns zur Verfügung stehen, desto größer ist der Snpport, also die Informationsmenge, auf der der Baum beruht.
Die Bestimmungsfaktoren der FeWer/bnÄ:tion sind vielfältiger. Der Austausch von Speziesidentifizierungen durch alternative Spezies kann zu einer Verschlechterung des Ergebnisses beitragen, ebenso aber auch schlecht gewählte Proteine. Im konkreten Fall kann man sich dann die Frage stellen, unter welchen Bedingungen es Sinn macht, die Sequenzen nicht von den identifizierten Spezies des Eingabe-MSA, sondern von davon nahe verwandten Spezies (Alternativen) zu nehmen, wenn man dabei mehr
Treffersequenzen in den benutzten Datenbanken erhalten kann. Man kann oft die ZoF/ öer vo//stänöigen Proteine erhöhen, indem man auf Spezies-Alternativen ausweicht. Die Erhöhung von Snpport ist also von einem ebenfalls vergrößerten Fe^/er begleitet.
Damit ergeben sich für ein Segnenzprozessor-Projekt zwei prinzipielle Strategien. Entweder man geht von einem MSA aus, das aus einer überschaubaren Menge von Sequenzen besteht und versucht dann die ZöF/ öer vo//stönöigen Proteine durch eine geeignete SpeziesanswaF/ zu erhöhen (indem man etwa möglichst ähnliche Alternativen zu den identifizierten Spezies wählt, wenn für diese eine größere Zahl von Proteinsequenzen zu finden ist) oder man beginnt mit einer größeren Zahl von Spezies und streicht dann diejenigen, für die P roteinsequenzen fehlen. Das PFCZ i-Projekt wurde auf die erste, das FZFTO-Projekt auf die zweite Art bearbeitet.
4.3 Die Komponenten der Programmfunktionen
Wir sindjetzt in der Lage, die Programmfunktionen genauer zu definieren. Dazu müssen alle Komponenten einer detaillierten Betrachtung unterzogen werden. Im Anschluss können diese dann zu den Zielfunktionen zusammengesetzt werden (PA4- und Protein- P^nÄPon). Die folgenden Abschnitte gliedern sich normalerweise in zwei Teile. Im ersten werden funktionale Aspekte behandelt. Hier spielen auch biologische Sachverhalte eine Rolle, Fragen der Implementierung können zumindest angeschnitten werden. Im zweiten Teil werden die Resultate der beiden realisierten Projekte dokumentiert. Diese Protokolle erscheinen im Nachhinein wie eine Illustrierung der allgemeineren Strukturen. Tatsächlich war die genaue Analyse der konkreten Fragestellung von essentieller Bedeutung, um die allgemeineren Zusammenhänge zu begreifen.
In allen folgenden Definitionen sei mit MSA eine va/iöe Aminosäuresequenzfolge und mit Σ* eine Folge von S^eziesPanö/ödtenrnengen bezeichnet. Es gelte 1 <j< |MSA| = n, bewertung G [0,1]i... [0,1]n, dbi G 5rna*, db2 G 5prot*, proteine G Pdesc*.
4.3.1 Die Sequenzwahl
Definition 4.3.1.1: Eine Funktion w: SFas ^ SFas sei Se^Menzwad/ genannt, wenn
folgende Bedingung erfüllt ist:
1. Jede Sequenz der Ergebnis-Sequenzfolge ist mit der entsprechenden Eingabe-Sequenz identisch oder eine Teilsequenz von ihr.
Diese Funktion erlaubt es, aus jeder Sequenz einen Teil herauszuschneiden. Es ist also möglich, bestimmte Abschnitte der Eingabe-Sequenzfolge auszuwählen und nur diese für die folgenden Operationen zu verwenden. Da die verwendeten Sequenzfolgen schon aligniert sind und in der Form eines MSA vorliegen, können in der Regel fixe Start- und Endpositionen angegeben werden, welche den selektierten Abschnitt definieren.
Die Se^Menzwad/ ist von Bedeutung, wenn das Pfngahe-MSH aus konkatenierten Sequenzen mehrerer Proteine besteht und für die Speziesidentifizierung dann eine entsprechende Wahl getroffen werden muss. Im Se^Menz^rozessor wurde die Option implementiert, eine Start- und eine Endposition festzulegen. Fehlen diese, werden die vollständigen Sequenzen verwendet. Sowohl im LUCAi- als auch im VALID-Projekt bestand das Eingabe-MSA aus Sequenzen eines einzigen Proteins. Teilsequenzen wurden nicht benötigt.
4.3.2 Die Spezieskandidatenidentifizierung
Es schließt sich die Identifizierung der S^eziesPanöiöaten an (Siehe Definition 4.1.4). Diese setzt sich aus einer Folge von einzelnen BLAST-Abfragen zusammen.
Abbildung in dieser Leseprobe nicht enthalten
Es wird eine Eingabesequenz mit den gespeicherten Sequenzen der kontaktierten Datenbanken verglichen, das Ergebnis enthält dann die besten Treffer. Aus diesen lassen sich die Speziesinformationen entnehmen.
Das wichtigste Problem besteht hier darin, aus der Ergebnismenge der BLAST-Abfrage diejenigen Datensätze auszuwählen, die eine hinreichende Sequenzähnlichkeit besitzen, bei denen also mit möglichst großer Sicherheit auszuschließen ist, dass es sich um Zufallstreffer handelt. Es gibt hierfür eine Reihe von Parametern, in Frage kommen nur diejenigen, die von der eingesetzten API zur Verfügung gestellt werden. Die folgende Tabelle gibt einen Überblick.
Abbildung in dieser Leseprobe nicht enthalten
Tabelle 2. mit der UniProtJAPI auswertbar Signifikanz-Parameter der BLAST-Hits.
Um eine wenig zielführende Verkomplizierung zu vermeiden, baut die 5^ezie5Ä:an- didaten-Identifizierung auf dem am einfachsten zu handhabenden Parameter, der Identity auf[21]. Ein Anwender kann im Segnenz^rozevsor einen minimalen Grad an Übereinstimmung wählen, der gegeben sein muss, damit die zu einem Blast-Hit annotierte Spezies in die Menge der ^ezie^IanAdaten aufgenommen werden kann. Die anderen Parameter erlauben eine so einfache Schwellwertsetzung nicht; so ist der 5core auch bei jeweils 100% Identity abhängig von den jeweiligen Sequenzen verschieden[22]. Wann ein Identity-Wert groß genug ist, um Zufallstreffer genügend unwahrscheinlich zu machen, hängt auch von der Größe der Datenbank ab. Bei größer werdender Zahl der gespeicherten Sequenzen muss dieser Schwellwert entsprechend absenkt werden.
LUCAi-Projekt / Ergebnisse
Von den 73 Spezies waren mit den möglichen Datenbanken folgende Identifizierungen zu erhalten:
Abbildung in dieser Leseprobe nicht enthalten
Tabelle 3. Zahl der Sequenzen mit /cfentity-Werten von 100% und > 90% abhängig von der jeweiligen Datenbank
Es konnten also die Daten von TrEMBL nahezu unmittelbar übernommen werden, es fehlte nur eine Spezies, bei der es mit .ffyörogenivirga sp. 725-5-Æ7-7 einen Übereinstimmungswert von nur 73.4% gab. Diese Spezies konnte mit z.B. GniProtbb bacteria identifiziert werden, es handelt sich um ^дш/ex aeo/icas (strain FF5). Die Ergebnisse von GniProtbb bacteria und GniProtbb arcbaea waren erwartungsgemäß komplementär, zusammen identifizierten sie alle Spezies zu 100%. Auffällig war weiter, dass mit Swissprot praktisch keine Identifizierungen gelingen konnten.
VALID-Projekt / Ergebnisse
Von den 500 ausgewerteten Sequenzen waren mit den möglichen Datenbanken folgende Identifizierungen zu erhalten:
Abbildung in dieser Leseprobe nicht enthalten
Tabelle 4. Zahl der Sequenzen mit /cfentity-Werten von 100% und > 90% abhängig von der jeweiligen Datenbank
Unter Einbeziehung der UniParc-Datensätze konnte also für 493 der 500 Sequenzen (94.6%) eine vollständige Identifikation erreicht werden, bei einem Töfentity-Schwellwert von 99.7% sind sogar 497 Identifikationen (99.4%) möglich. Die Treffer mit 100% Töentity wurden in eine MS-ACCESS-datenbank importiert, wo die Duplikate entfernt worden. In 4 Fällen gab es drei, in 61 Fällen zwei verschiedene NCBI-IDs trotz jeweiligen 100% Match.
Einen Vergleich der Verteilung der Identity-Werte der beiden nahezu komplementären Datenbanken UniProtkb bacteria und UniProtkb archaea liefert die folgende Abbildung:
Identity der jeweils besten BLAST-Hits
Abbildung in dieser Leseprobe nicht enthalten
Uniprotkb bacteria Uniprotkb archaea
Abbildung 14. Die Identity-Werte der jeweils besten BLAST-Hits steigen bei UniProtkb archaea bis zur 405. Sequenz langsam von 40% auf 60%, dann nahezu abrupt auf 100%. Mit dieser
Schwelle dürfte auch das Enthalten-Sein in der Datenbank markiert sein. Bei UniProtkb bacteria ergibt sich ein weniger einheitliches Bild, doch auch hier kommt es um die 410. Sequenz zu einem abrupten Abfall der Identity-Werte. Einige Sequenzen sind in beiden Datenbanken enthalten. Der Schwellwert, der zufällige Datensätze von signifikanten Hits unterscheidet, sollte hier also zwischen 40% und 60% liegen.
4.3.3 Die Kandidatenbewertung
Die erhaltenen Spezieskandidaten erfahren nun eine Bewertung (siehe Definition 4.1.8). Dabei wird anhand des Identity-Wertes entschieden, inwiefern ein Blast-Hit für die weitere Arbeit geeignet ist.
Dabei gibt es zwei Schwellwerte:
Die untere Grenze: Diese gibt die notwendige minimale Übereinstimmung vor, damit die dadurch referenzierte Spezies als Alternative für die identifizierte Spezies gelten kann. Bei einem solchen Austausch sollten möglichst nahe verwandte Spezies verwendet werden, damit sich die Topologie des später erzeugten Baumes nicht oder nur wenig ändert.
Die obere Grenze: Damit wird die Sequenzübereinstimmung festgelegt, die für eine S^ezieMdenti/izierMng nötig ist. Im Se^Menz^roze^or liegt die Voreinstellung bei 100%, ein niedrigerer Wert kann gewählt werden. Alle Taxa, deren Identity oberhalb dieser Grenze liegt, werden als ein Cluster behandelt, zählen also in einem Projekt wie eine einzige Spezies.
Die gefundenen Datensätze mit einer Identity innerhalb des durch die beiden Schwellwerte vorgegeben Intervalls werden absteigend nach dem E-Wert sortiert und num meriert. Jede Spezies-Alternative erhält so eine Alternativen-Nummer, die direkt anzeigt, die wievielt beste Wahl sie darstellt (siehe die folgende Abbildung).
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 15. Ausschnitt eines Files zur Spezieskandidaten-Bewertung. Spalte A bezeichnet die Sequenznummer des Eingabe-MSA, Spalte В den Speziesnamen, Spalte C die NCBI-ID, Spalte D die Alternativenpriorität (0 = bester Match). Wichtig sind ansonsten noch die Spalten H (Score) und I (identity)
Die letzte Entscheidung über die Kandidatenbewertung wird aber vom Bearbeiter des Projektes getroffen. Die in Dateien abgespeicherten Informationen können bearbeitet werden. Erst mit dem Einlesen der validierten Spezies-Alternativen in das aktuelle Projekt können diese für die weiteren Funktionen benutzt werden.
LUCAi-Projekt / Ergebnisse
Es gab Fälle, wo es mehrere Speziesidentifizierungen mit 100% Übereinstimmung gab.
Abbildung in dieser Leseprobe nicht enthalten
Tabelle 5. Fälle von mehr als einem BLAST-Hit mit 100% identity im k^CAz-Pro/ekt. In den meisten Fällen deuten schon die sehr ähnlichen Namen auf enge Verwandtschaftsbeziehung hin.
In den Fällen mit nur einer Speziesidentifizierung hatte bei Verwendung der TrEMBL- Datenbank die beste Alternative in 6 Fällen eine Töfenfi/y von >99%, in 8 Fällen lag sie zwischen 95% und 99%, in 25 Fällen zwischen 80% und 95%. Bei den verbleibenden 29 Sequenzen lag der Identity-Wert der besten Alternative bei unter 80%. Die hier ersichtliche Streuung deutet daraufhin, dass die Auswirkung einer Ersetzung von Spezies durch eine ihrer Alternativen in den einzelnen Fällen qualitativ verschieden sein kann.
VALID-Projekt / Ergebnisse
Von den 18 Fällen mit je zwei verschiedenen NCBI-IDs trotz jeweiligen 100 % Match seien hier die ersten fünf Fälle aufgelistet.
Abbildung in dieser Leseprobe nicht enthalten
Tabelle 6. Fälle von mehr als einem BLAST-Hit mit 100% /öfenüYy im FAL/D-Pro/ekt.
4.3.4 Die Speziesauswahl
Jeder Sequenz des Erngabe-MSA ist nun eine sortierte Menge von Spezies zugeordnet. Aus dieser muss nun jeweils eine Spezies-Wahl getroffen werden. Das kann entweder eine Speziesidentifizierung (Definition 4.1.8) sein oder eine Auswahl, die mindestens eine Speziesalternative enthält.
Eine Unterscheidung zwischen Speziesidentifizierung und Alternativen-Wahl ist nicht zwingend notwendig, man könnte in jedem Fall mit den Folgen der sortierten Kandidatenmengen arbeiten. Die auch in der Implementierung umgesetzte Unterscheidung hat eher praktische Gründe. Nicht immer möchte man überhaupt mit Spezies-Alternativen arbeiten. In diesem Fall können für die manuellen Bearbeitungsschritte deutlich kürzere und übersichtlichere Dateien benutzt werden.
Die in den Abschnitten 4.3.1 bis 4.3.3 beschriebenen Funktionen bilden die Sequenzen des Erngabe-MSA auf eine Folge von Spezies bzw. Spezies-Cluster ab.
Die Definition dieser zusammengesetzten Funktion kann nun angegeben werden.
Definition 4.3.4.1 Eine Funktion 5as* x SFas ^ Σ*ι ... Σ*π. sei als selection bezeichnet und folgendermaßen definiert:
selection(db2, MSA) := s(k(db2, w(MSA)), bewertung)
In der Regel wird mit einer Speziesidentifizierung begonnen werden, diese wird wie folgt definiert:
Definition 4.3.4.2 Eine Funktion 5as* x SFas ^ Σ*ι ... Σ*π. sei als selection^ bezeichnet und folgendermaßen definiert: selection^ (db2, MSA) := i(k(db2, w(MSA)), bewertung)
Die SpeziesAandidaten-Zdenti/izierung und die Gesamthewertung werden in der Regel nur einmal pro Projekt erfolgen. Wenn diese Schritte wiederholt werden, etwa weil man bisher nicht benutzte Datenbanken einbeziehen oder andere Schwellwerte verwenden möchte, dann entspricht das einem Neubeginn der gesamten Bearbeitung.
Die SpeziesauswaW kann in einem iterativen Prozess mehrfach vollzogen werden. Es werden in diesem Fall die mit verschiedenen Selektionen erreichten Resultate verglichen. Das Ziel besteht dann darin, eine möglichst gute S^eziesauswaW zu finden. Hier bleibt noch unklar, wie diese Iteration konkret stattfinden soll. Auf formaler Ebene lässt sich diese Funktion folgendermaßen definieren:
Definition 4.3.4.3. Eine Funktion Σ*ι...Σ’'ηχ[0..1]ι...[0..1]ηχ[0..1]ι...[0..1^^Σ*ι... Σ*π.
sei Tilgende SpeziesauswaW genannt.
Aus der aktuellen S^eziesauswaW und deren Gesamthewertung wird unter Einbeziehung einer weiteren Bewertung die ihr folgende S^eziesauswaW erzeugt. Was unter dieser weiteren Bewertung zu verstehen ist, kann an dieser Stelle noch nicht detailliert geklärt werden. Der wesentliche Punkt ist, dass die Ergebnisse (mögliche RNA- und ProteinSequenzfolgen) der aktuellen Selektion mit den Ergebnissen alternativer Selektionen verglichen werden und auf dieser Basis dann eine Bewertung erfolgt. Zu beachten ist ferner, dass diese weitere Bewertung nicht einzelne Spezies-Alternativen, sondern die gesamte evaluierte Auswahl bewertet und in der Regel keine totale Funktion ist. Nur einige der oft zahlreichen Möglichkeiten können in akzeptabler Zeit berechnet werden.
4.3.5 Erzeugen der /6S rRNA-Sequenzfolge
Auf der Basis der getroffenen S^eziesauswaW können aus den verfügbaren Datenbanken nun die benötigten 16S rRNA-Sequenzen herausgesucht werden. Die dafür notwendige Funktion r‘: 5rna* x Σ*ι ... Σ*π. ^ SFrna ist wiederum nicht elementar, sondern aus verschiedenen Komponenten zusammengesetzt.
Zunächst müssen die benötigten Sequenzen in den einzelnen Datenbanken identifiziert und den selektierten Spezies zugeordnet werden.
Definition 4.3.5.1 Eine Funktion Írna : ôrna* χΣ* и Srna* sei RNA-Sequenzfetch genannt.
Hierbei bezeichnet Σ* ein in der Speziesauswahl enthaltenes Spezies-Cluster, im Normalfall also eine einzige Spezies. S*rna entspricht der Menge aller RNA-Sequenzen, die in den Datenbanken 5rna* zu Σ* identifiziert werden konnten. An Definition 4.3.5.1 ist unmittelbar zu sehen, dass jede Implementierung von Írna aus zwei ineinander geschachtelte Schleifen besteht. Es muss für jede Spezies aus Σ*jede Datenbank aus 5rna* durchsucht werden. Für jedes Spezies-Datenbank Paar können mehrere Sequenzen gefunden werden. Der Sequenz/etch muss für jedes Spezies-Cluster gemacht werden, im Ergebnis erhält man eine Folge von RNA-Sequenzmengen. Da das RNA-Ergebnisfile pro Zeile des Eingabe-MSA nur eine 16S rRNA-Sequenz enthalten soll, muss aus jeder dieser Mengen genau ein Element ausgewählt werden.
Definition 4.3.5.2 Eine Funktion eRNA : Srna* и Srna sei RNA-Sequenzentscheidung genannt.
Aufgrund fehlender Beurteilungskriterien übernimmt der Sequenz^rozessor hier jeweils die erste Sequenz. Da alle gefundenen Treffer in Dateien gespeichert werden, kann der Bearbeiter des Projektes auch eigene Entscheidungen treffen. Die zu Beginn dieses Abschnittes eingeführte Funktion r‘ kann jetzt genauer definiert werden.
Definition 4.3.5.2 Es sei species eine S^eziesauswahl. Dann sei eine Funktion r‘: 5rna* χΣ*ι ... Σ\ и SFRNAsei wie folgt definiert: r‘(dbi, species):=eRNA(fRNA(dbi, speciesi))... eRNA(fRNA(dbi, speciesn))
Zu einer gegebenen S^eziesauswahl werden aus RNA-Datenbanken die entsprechenden Sequenzen gesucht, aus dieser Ergebnismenge dann eine Sequenz pro Spezies ausgewählt und zu einer Sequenzfolge geordnet. Diese wird dann im FASTA-Format in eine Datei geschrieben.
Die einzelnen Funktionskomponenten erfordern eine geeignete Implementierung. Im Sequenz^rozessor sind manuelle Arbeitsschritte vorgesehen. Damit liegt die letztliche Entscheidungshoheit beim Bearbeiter des Projektes. Vom Programm wird für jede verwendete Datenbank ein Sequenzauswahl-File geschrieben, aus denen dann eine Datei zusammengestellt wird, welche die gültigen Sequenzen referenziert.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 16. Ausschnitt eines RNA-Sequenzauswahl-Files. Spalte A bezeichnet die Datenbankherkunft, B die Accessions-ID, C die Nummer der Spezies und F die Alternativen-Nummer. Die anderen Inhalte sind nur informativer Natur.
LUCAi-Projekt / Ergebnisse
In ARB-SILVA wurden 231 Sequenzen gefunden, sie stammen von 70 Spezies. Es fehlten die Sequenzen von drei Spezies, nämlich Brevundimonas diminuta 470-4, Coprobacillus sp. 29_1 undAcidaminococcus sp. CAG7542. Für die ersten beiden Spezies konnten diese durch eine manuelle Suche mit dem Datenbank-Browser der Website von ARB-SILVA gefunden werden. Mit RDP konnten 225 Sequenzen von 46, in Greengenes 57 Sequenzen von 38 Spezies gefunden werden. Neue Identifizierungen wurden hier nicht möglich. Es wurde die sequenzlose Spezies Acidaminococcus sp. CAG7542 durch ihre beste Alternative in der Blastabfrage ersetzt, nämlich Acidaminococcus /brmentans (strain ATCC 25055 /DSM20751 / FS4), mit einem Übereinstimmungsgrad von 95.1%.
VALID-Projekt / Ergebnisse
In ARB-SILVA wurden 3703 Sequenzen gefunden, sie stammen von 316 Spezies. Die Trefferquote betrug also 88%. Unter den Blast-Treffern gab es eine gültige Identifi zierung mit NCBI-ID=77133, das entspricht environmental samples, uncultured bacterium. Diese unspezifischen Treffer mussten verworfen werden (von den insgesamt 2.354.390 Datensätzen referenzieren allein 1.203.762 auf diese Spezies-Kennung, 49.670 weitere auf NCBI-ID 115547 (environmental samples, uncultured arc^aeon)). In RDP ließen sich 5401 Sequenzen aus 251 Spezies finden. Beide Datenbanken zusammen genommen konnten 321 Spezies identifizieren, RDP fügte also fünf neue Identifizierungen hinzu. Greengenes schließlich fand 1841 Datensätze aus 201 Spezies, ohne neue Identifizierungen.
4.3.6 Performance der Datensuche
Für jede genutzte Datenbank wird ein File mit den in ihr gespeicherten Informationen erzeugt. Für jede Spezies werden die datenbankspezifischen Dateien sequentiell durchsucht. Damit lässt sich die Zeitkomplexität der Sequenzsuche bestimmen.
Es sei ndb die Größe der Datenbank, nspec die Zahl der Spezies und nmatch die Zahl der gefundenen Matche. ndb hängt wiederum von der Größe des Dingabe-MSA, der durchschnittlichen Zahl der Speziesidenti/izierungen und der durchschnittlichen Zahl der Spezies-Alternativen ab. Zu Verhältnis von nspec und nmatch lässt sich a priori nichts sagen. Es kann sowohl Spezies ohne also auch solche mit mehreren Treffern geben. Als nretrieve sei der größere Wert von nspec und nmatch bezeichnet.
Im Normalfall gelten die folgenden beiden Gleichungen
(1) nspec «ndb
(2) nmatch « ndb
Außerdem sind nmatch und ndb normalerweise positiv korreliert. Je größer eine Datenbank, desto mehr Matche werden in ihr gefunden. Für jede Spezies muss das Übersetzungsfile der Datenbank durchsucht werden. Bei Greengenes ist hier eine doppelte Übersetzung nötig (Siehe Abschnitt 3.3). Nach abgeschlossener Suche sind die Accessions-IDs der nmatch-Sequenzen verfügbar, mit denen die benötigten Datensätze in den Sequenzfiles identifiziert werden können. Es gilt somit für ARB-SILVA und RDP:
(3) 0(r ) G 0(ndb ' nspec P ndb' nmatch) - 0(ndb'(2'nretrieve)) — 0(ndb'nretrieve)
Für Greengenes ist eine doppelte Übersetzung nötig, die Berechnung kommt aber zum selben Ergebnis.
(4) 0(r ) G 0(2'ndb'nspec P ndb'nmatch) — 0(ndb' (3'nretrieve)) — O(ndb'nretrieve)
4.3.7 Die MSA-Proteinidentifìzierung
Das Arngaöe-MSd wird nicht nur zur Erzeugung der sondern auch für die Bestimmung des Proteins (bzw. der Proteine) verwendet, aus dessen (bzw. deren) Sequenzen es zusammengesetzt ist. Auch wenn bei einem gegebenen Arngaèe-
MS4 schon bekannt sein dürfte, aus welchem Protein (bzw. welchen Proteinen) er gebildet worden ist, handelt es sich doch um kein reines Re-Engineering. Denn das Resultat der MSA-Protein-Identifizierung sind Protemèesc^ra'ÒMngen, also Möglichkeiten, diese Proteine in der verwendeten Datenbank zu identifizieren. Eine MSA- Proteinidentifizierung ist notwendig, wenn eine Speziesauswahl getroffen wird, die S^ezms-^/temaü'ven enthält. In diesem Fall muss die Sequenz der ausgetauschten Spezies im Eingabe-MSA durch diejenige der gewählten Alternative ersetzt werden. Formal lassen sich die eben beschriebenen Sachverhalte wie folgt definieren:
Definition 4.3.7.1 Eine Funktion m: 5as* x SFas ^ Pdesc* sei MSd-Proteim'öfenüyizierMng genannt und wie folgt definiert: m(db2 , wi(MSA) ... wn(MSA)) oproti ... protn Eine Proteinbeschreibung kann aus verschiedenen Deskriptoren bestehen. In der vorliegenden Implementierung werden dafür die C0G und eine Menge alternativer Proteinnamen verwendet (siehe auch Kapitel 2.5)
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 17. Ausschnitt aus einem Proteinbeschreibungs-File. Spalte A enthält die innerhalb des Projektes als Referenz dienende Proteinnummer, Spalte B die C0G-Nummer und Spalte C die gültigen Proteinnamen (durch getrennt)
LUCAi-Projekt / Ergebnisse
Die BLAST Abfrage identifizierte als Protein COG0147, es trat unter folgenden Namen auf:
Abbildung in dieser Leseprobe nicht enthalten
Tabelle 7. Liste der von der UniProtJAPI gelieferten Proteinnamen für die Sequenzen. Verwendet wurden die Annotationen aller Sequenzen mit 100% tofentoy
Es fallt auf, dass hier teilweise nur minimal abweichende Schreibweisen benutzt worden sind, in einigen Fällen aber auch eine ganz andere Namenskonvention Verwendung fanden. Der Eintrag Dncharactonzetì^roto/n musste wegen mangelnder Spezifität aus der Liste der gültigen Namen gestrichen werden. 22 der 79 Datensätze referenzierten die COG 147, in den anderen Fällen fehlten diesbezügliche Informationen.
VALID-Projekt / Ergebnisse
Die BLAST Abfrage identifizierte als Protein in je einem Fall ^nthrani/ato^phosphorzho- sy/toansyferase, Tryptophan htosynthesis^protoin TrpCD sowie ^4nfhranz/ato^phosphon'ho- sy/toans/èrase (TrpD), in den anderen 364 Fällen ^nthrani/ato ^hos^horz'hosy/toans- ybrase. Das Bild ist also deutlich homogener als im TGCTi-TroyeAr In Bezug auf die COG-Zuordnung gab es einen Eintrag mit COG 1522 (allerdings in Verbindung mit dem Konsens-Proteinnamen ^nthrani/ato ^hos^horihosy/toans/erase). In 71 Fällen wurde COG 547 referenziert, ansonsten fehlte ein diesbezüglicher Eintrag. Eine COG- Information war also in 19.6% der Datensätze vorhanden, signifikant weniger als im LUCA1-Projekt (27.6%).
4.3.8 Der Protein-Sequenzfetch
Die Proteinfunktion ist so aufwendig, dass in ihr alle manuellen Komponenten, die über eine Selektion von Optionen hinausgehen, eliminiert werden sollten. Bei einem Projekt von 100 Spezies und 30 Proteinen sind insgesamt 3000 Sequenzentscheidungen zu treffen. Berücksichtigt man dabei noch, dass mehrere Iterationen (je verschiedene Speziesaaswah/) notwendig sein können, lässt sich erkennen, dass diese Funktion eine durchgängige Softwareunterstützung erfordert.
Beim Protein-Sequenzfetch werden von jeder selektierten Spezies und jeder Proteinbeschreibung die entsprechenden Sequenzen der UniProt-Datenbank gesammelt. Es ist also fur jede selektierte Spezies und für jedes Suchprotein zu entscheiden, welche Sequenzen durch diese Kriterien identifiziert werden können. Weil mit der NCBI-ID Spezies zuverlässig referenziert werden können und auf der Proteinebene eine solche Möglichkeit fehlt, erfolgt der Protein-Sequenzfetch zweistufig. Zunächst wird der f7niProt.Z4P/ eine Datenbankabfrage mit der NCBI-ID der jeweiligen Spezies als Suchkriterium übergeben. Das als Ergebniswert erhaltene Recordset enthält alle Proteinsequenzen dieser Spezies. Aus diesen müssen dann mit Hilfe der Proteinbeschreibungen diejenigen herausgesucht werden, die den jeweiligen Suchproteinen zugeordnet werden können. Die Entscheidung, ob die Kriterien für einen Treffer erfüllt sind, kann auf verschiedene Weise erfolgen.
1. Über die COG-Nummer. Voraussetzung ist, dass diese dann sowohl in den Proteinbeschreibungen der Suchproteine als auch in den Datensätzen der Datenbank Vorkommen. Letzteres ist oft nicht der Fall (vergleiche auch 4.3.7)
2. Über die Proteinnamen. Die API bietet hierfür die Methoden getRecommenöfeöAame, getProteinDescription und getH/ternativeAames an. Da nicht immer klar ist, welcher dieser Namen in den Proteinbeschreibungen benutzt wurde, müssen alle diese Werte berücksichtigt werden. Auf der Seite der Proteinbeschreibungen besteht ebenfalls Unsicherheit, weshalb auch hier die Möglichkeit implementiert wurde, eine Reihe von alternativen Namen als Proteinnamen anzugeben.
3. Direkte Identifizierung über Datenbank-Kreuzreferenzen. Hier erfolgt der Vergleich der Namen direkt über eine der enthaltenen Kreuzreferenzen. Das wäre erfolgreich, wenn der Datensatz selbst keinen der Proteinnamen aus der Proteinbeschreibung enthält, dieser aber im referenzierten Datensatz einer anderen Datenbank enthalten wäre. Dabei ist die Beachtung von abweichenden Namenskonventionen von Nutzen. So wird etwa Ribosoma/ protein ZU in der Datenbanken PR/ATS als Ribosoma/ ZU geführt, in PHAZAZR, A4MHP, P/RSF und PZHM als Ribosoma/_Z7Z Da dieser Unterschied in der Bezeichnungsweise bei allen ribosomalen Proteinen besteht, kann mit Hilfe von regulären Ausdrücken eine Umsetzung der Namen bewerkstelligt werden.
4. Indirekte Identifizierung über Datenbank-Kreuzreferenzen. Hier besteht im aktuellen Datensatz keine direkte Identifizierungsmöglichkeit anhand der Proteinbeschreibungen. Er enthält allerdings eine Referenz auf eine Identifizierung.
Das wäre etwa in folgender Situation der Fall: In Datensatz a ist Protein X über Namen/COG identifiziert worden und dieser Eintrag hat in Datenbank D die ID i. Datensatz b kann nicht über Namen/COG identifiziert werden, besitzt aber als Kreuzreferenz in Datenbank D ebenfalls die ID i. Unter bestimmten Umständen kann dann geschlossen werden, dass es sich ebenfalls um Protein X handelt. Die indirekte Identifizierung deutet auf ein Annotationsproblem hin. Sie hat im realisierten Projekt nichts zur Identifizierung beigetragen und sollte nicht unkritisch implementiert werden, weil Fremdreferenzen nicht immer konkrete Proteine adressieren, sondern etwa auch Proteinfamilien (PFAM).
Beim Protein-Sequenzfetch müssen diese verschiedenen Arten der Protein-Referen- zierung angewandt und bewertet werden. Das führt zu der folgenden Definition:
Definition 4.3.8.1 Eine Funktion fAs: ôprot* x Pdesc* x Σ*ι... Σ\ ^ SFas * x [0-1]* sei als Protein-Sequenz/etch bezeichnet.
Für die Spezies der aktuellen Auswahl wird für die gegebenen Suchproteine aus Proteindatenbanken eine Menge von Aminosäuresequenzen geholt, woran sich eine Bewertung dieser Treffer anschließt. Die Realisierung der Bewertung ist nicht völlig unproblematisch. Das liegt an den verschiedenen Sicherheitsgraden bei den Protein identifizierungen, die sich letztlich kaum quantifizieren lassen. Der implementierte Algorithmus speichert in Flags, worauf die Identifizierung beruht und bildet diese Informationen dann auf einen Score ab. Hierbei ist eine direkte Identifizierung über den Namen prioritär gegenüber der COG-Gruppe. Die geringste Priorität haben die Identifizierungen über Fremdreferenzen. Die letzte Entscheidung wird vom Bearbeiter des Projektes getroffen.
Ergebnisse
Der_Protein-Sequenz/etch ist mit verschiedenen Einstellungen versucht worden, bevor es zu einem validen Ergebnis kam. Insbesondere die regulären Ausdrücke für Namens äquivalenzen erwiesen sich als problematisch. So referenziert etwa der Name 30S riho- 5orna/ protein Si7e auf ein anderes Protein als 30S riho^orna/ protein Si 7, entgegen meiner Vermutung, dass es sich zwei Varianten desselben Proteins handelte. Die Regel, dass bestimmte Buchstaben-Suffixe (wie ,e‘ in diesem Fall) ignoriert werden können, musste also wieder gestrichen werden. Am Ende blieben die folgenden Konventionen gültig: Die Strings ,, 30s“ und,, 50s“ werden ignoriert, ebenso die Suffixe „-1“ und „-2“. Im ersten Fall hilft das, möglichen Redundanzen der Namengebung zu begegnen, so bezeichnet etwa 30S riho^owa/ protein Si 7 dasselbe wie riho^owa/ protein Si 7. Der zweite Fall sorgt z.B. dafür, dass sowohl 30S riho^orna/ protein S7-i als auch 30S riho^owa/protein S7 als Bezeichnungen desselben Proteins durchgehen. Die Korrektheit im konkreten Fall konnte durch die Zuordnung zu derselben COG belegt werden.
Insgesamt erzeugte der Protein-Sequenz/etch im LUCAi-Projekt bei Nutzung von UniProt 2431 Treffer bei 73 Spezies und 30 Proteinen. Es ergab sich somit eine Abdeckung von 111%. Unter Einbezug von UniParc erhöhte sich die Trefferzahl auf 4255, wobei aber viele Datensätze Duplikate sind.
4.3.9 Die Protein-Sequenzauswahl
Nachdem die Aminosäure-Sequenzen bereitgestellt sind, kann das Ergebnis der Protein/Un^tion nun in entsprechende Dateien exportiert werden. Dabei soll für jedes der Suchproteine ein File im FASTA-Format erzeugt werden, welches für jede Spezies einen Eintrag besitzt. Zusätzlich wird eine Datei gefordert, in der für jede Spezies die Sequenzen aller Suchproteine aneinandergehängt sind. Für jedes Suchprotein jeder Spezies wird genau eine Aminosäure-Sequenz benötigt.
Es können dabei drei Fälle auftreten:
1. Für ein gesuchtes Protein einer Spezies gibt es keine Sequenz.
2. Für ein gesuchtes Protein einer Spezies gibt es genau eine Sequenz.
3. Für ein gesuchtes Protein einer Spezies gibt es mehrere Sequenzen.
Im ersten Fall kann das Protein nicht verwendet werden. Es ist notwendig, dass alle proteinspezifischen Ergebnis-Dateien aus denselben Spezies zusammengesetzt sind. Das bedeutet, dass nur für diejenigen 5Mc/zproferne Resultate gewonnen werden können, die Sequenzen für a//e Spezies besitzen. Der zweite Fall ist unproblematisch. Wenn für ein Protein-Spezies-Paar mehrere Sequenzen zur Verfügung stehen, muss eine Auswahl getroffen werden. Es wird dann diejenige Sequenz genommen, welche die beste
Bewertung hat (siehe 4.3.8)
LUCAi-Projekt / Ergebnisse
Die Art der Protein-Identifizierung ist in Tabelle 6 quantifiziert. Als Kriterium wird dabei zwischen Varne und vo/AtóWiger Varne unterschieden. Im ersteren Fall stimmten die Namen erst nach Anwendung von Umformungsregeln miteinander überein, z.B. 305* nhosoma/^profern 577 -> nhosoma/^profern 577 (siehe auch 4.3.8)
Abbildung in dieser Leseprobe nicht enthalten
Tabelle 8. Quantifizierung der Art der Protein-Identifizierung.
Abbildung in dieser Leseprobe nicht enthalten
Tabelle 9 veranschaulicht d as E rgebnis d es 5egaenz/èfc^es von d er P rotein-Seite, Tabelle 10 dann von der Spezies-Seite
Abbildung in dieser Leseprobe nicht enthalten
Tabelle 9. Zahl der fehlenden Sequenzeinträge im LUCAi-Projekt (nach Protein).
Abbildung in dieser Leseprobe nicht enthalten
Tabelle 10. Zahl der fehlenden Sequenzeinträge imZUCU-Pro/eki (nach Spezies).
Abbildung in dieser Leseprobe nicht enthalten
Mit dem vorhandenen Datensatz lassen sich also nur Sequenzfiles für (nur) elf Proteine erzeugen. Während bei 79% der Spezies alle Proteinsequenzen gefunden worden sind, sind nur 37% der Proteine hinsichtlich der Spezies vollständig. Mit der vollzogenen Proteinfunktion konnte das Projekt demnach nicht beendet werden. Eine Basis von sieben Proteinen ist für einen S^ezieshaMm ungenügend (Vergleiche Kapitel 2).
VALID-Projekt / Ergebnisse
Das Ergebnis des Se^Menzmafc^es ist hinsichtlich der Zahl der fehlenden Proteine mit gefundenen Sequenzen in Tabelle 11 ersichtlich.
Abbildung in dieser Leseprobe nicht enthalten
Tabelle 11. Zahl der fehlenden Sequenzeinträge im FALTO-Pro/ekt (nach Protein).
Aus den ursprünglich 500 MSA-Einträgen ließen sich also bei 146 für alle Suchproteine Sequenzen in der Datenbank finden. Das entspricht einer Quote von 29%. Man kann die relativ große Zahl von Spezies mit nur einem fehlenden Protein nach diesem klassifizieren und erhält folgende Tabelle:
Abbildung in dieser Leseprobe nicht enthalten
Tabelle 12. Klassifizierung der Spezies mit einem fehlenden Sequenzeintrag nach dem fehlenden Protein im FALTO-Pro/ekt.
Durch Streichen von COG0201 aus dem Suchprotein-Set ließen sich also 93 neue vollständige Spezies erhalten, was die Erfolgsquote von 29% auf 48% erhöhen würde.
Das Ergebnis von der Seite der Suchproteine ist in Tabelle 13zu sehen.
Abbildung in dieser Leseprobe nicht enthalten
Tabelle 13. Klassifizierung der Proteine nach der Zahl der Spezies, für die Sequenzen vorliegen im FALTO-Pro/ekt Hier fallt auf, dass bei fast 90% der Proteine die Zahl der sie enthaltenden Spezies eng beieinander liegt und dann ein deutlicher Abfall stattfindet. Insbesondere fallt auf, dass COG0201 in vergleichsweise nur sehr wenigen Spezies anzutreffen ist.
4.3.10 Die Spezies-Alternativenwahl
Wenn es Sac/tproieine mit fehlenden Sequenzen gibt, kann versucht werden, das Ergebnis zu verbessern, indem man einige der Spezies durch eine ihrer möglichen Alternativen einsetzt. Dafür wäre yary'eofen mög/icAen Fa// zu prüfen, wie die eventuell erhöhte Zahl vo//Vänöüger Proteine gegen den Umstand abzuwägen ist, dass anstelle der gewünschten Spezies ein evolutionär mehr oder weniger entfernter Vertreter steht. Ein solches
Vorgehen, das mittels einer Bewertungsfunktion aus allen möglichen Spezie5aM5wa^/en die optimale findet, ist nicht praktikabel. Selbst unter der schwächeren Voraussetzung, dass alle Alternativen gleichwertig sind, scheitert dieser Ansatz an der nicht polynomialen Komplexität der Berechnung. Bei n Spezies, a Alternativen pro Spezies und k Sac/tproteinen beträgt diese O(n-k-an)[23].
Die folgende Abbildung illustriert dieses Komplexitätsproblem.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 18. Obwohl die Alternative 1 jeweils 3 Matche hat und die Alternative 2 nur je einen, gibt es nur mit der Selektion [2, 2, 2, 2] ein vollständiges Protein (Protein 5)
Die im Sequenzprozessor implementierte Heuristik überlässt die Selektion dem Anwender, macht aber Vorschläge. Diese basieren auf der Zahl der durch den Austausch einer Spezies durch eine ihrer Alternativen möglichen vollständigen Proteine. Die Alternativen selbst sind nach absteigender Ähnlichkeit zur identifizierten Spezies sortiert. Es wird nacheinander versuchtjede d er selektierten Spezies mit fehlenden P roteinsequenzen durch alle ihre Alternativen (absteigend sortiert nach Ähnlichkeit zur primären Selektion) zu ersetzen. Von jeder provisorischen S^eziesauswaW wird die Zahl der vollständigen Proteine errechnet. Besitzt eine Spezies-Alternative Sequenzen aller Proteine, können die verbliebenen Alternativen der aktuellen Spezies übergangen werden. Das verbessert die Laufzeit unter Umständen erheblich.
Nach abgeschlossener Berechnung kommt es dann etwa zu folgender Anzeige:
Abbildung in dieser Leseprobe nicht enthalten
Man kann also etwa die Zahl der vollständigen Proteine von 7 auf 12 erhöhen, indem man Spezies 10 durch ihre 1. Alternative ersetzt. Dieser Algorithmus hat, wie sich leicht überprüfen lässt, eine Zeitkomplexität von O(ZahlSuchproteine ■ ZahlSpezies-Alternativen) (Ohne Beweis).
LUCAi-Projekt / Ergebnisse
Die auf der Basis der Speziesidentifizierung vollständigen Proteine sind in Tabelle 13 aufgelistet.
Abbildung in dieser Leseprobe nicht enthalten
Tabelle 14. vollständige Proteine nach Speziesidentifizierung im LUCAi-Projekt.
Aus diesen elf Proteinen ist der erste Ergebnis-Datensatz zusammengesetzt. Man kann versuchen, das Ergebnis zu verbessern, indem man:
- Spezies streicht
- Spezies durch möglichst nahe Verwandte ersetzt.
Durch Streichung von 16 Spezies wurden alle Proteine voZZstáWig, was zu einem weiteren Ergebnis-Datensatz führte. Die zweite Option zielte darauf ab, die Zahl der voZZstaWigen Proteine durch sukzessives Einsetzen von Spezies-Alternativen zu erhöhen.
Die einzelnen Operationen dokumentiert die Tabelle 15.
Abbildung in dieser Leseprobe nicht enthalten
Tabelle 15. Ergebnisse der Alternativenwahl-Iterationen im LUCAi-Projekt. Die letzten drei Spalten geben die prozentuale Identität und die Zahl der voZZstäneiigen Proteine (neu gewonnen und kumuliert) an.
Abbildung in dieser Leseprobe nicht enthalten
Tabelle 17. Unvollständige Proteine nach vollzogener Alternativenwahl im LUCAi-Projekt
In der so erzeugten Speziesauswahl kann durch die Auswahl einer[24] alternativen Spezies kein neues voZ/stóndiges Protein gewonnen werden. Weitergehende Strategien werden vom implementierten Algorithmus nicht unterstützt. Die Ersetzungen der Spezies wurden an dieser Stelle gestoppt, es wurde so auf der Basis von 24 Proteinen ein dritter ErgebnisDatensatz erzeugt.
Das Ergebnis des Projektes besteht somit aus drei alternativen Datensätzen. Ihre Eignung für die Bildung des angestrebten S^ezieshaMwes kann erst dann abschließend beurteilt werden, wenn sie für die Konstruktion eines solchen Baumes benutzt worden sind. Das Programm erlaubt es aber jederzeit, alternative Selektionen zu produzieren, sodass die Bedeutung einer konkreten Ergebnismenge auch nicht überschätzt werden sollte.
VALIDi-Projekt / Ergebnisse
Hier wurde nicht mit Spezies-Alternativen gearbeitet, es wurden die Sequenzen der 59 Spezies mit Treffern für alle Proteinen zur Erzeugung der Ausgabe genommen.
5 Aufbau des Programmes
Nachdem die Anforderungen auf funktionaler Ebene hinreichend ausführlich geklärt worden sind, kann jetzt direkt zur Implementierung übergegangen werden. Zunächst soll der grundsätzliche Aufbau des Programms einschließlich der wichtigsten Klassen erläutert werden. Danach erfolgt eine noch weiter gehende Detaillierung, indem die tragenden Algorithmen in einer Pseudocode-Notation angegeben werden.
Abschließend erfolgt dann ein Ausblick auf mögliche Weiterentwicklungen.
5.1 Paketorganisation
Das Programm ist in der Programmiersprache JAVA realisiert, es besteht im Wesentlichen aus drei Paketen. Der Aufbau ist an die MVC-Architektur angelehnt, die Trennung der Komponenten aber nicht in jedem Fall strikt.
1. GUI. die graphische Benutzerschnittstelle. Sie ist mit Swing realisiert und ist in vier Unterpakete unterteilt.
Main für die Darstellung des Hauptfensters.
Hcü'ons für die von den Menüpunkten ausgelösten Aktionen.
IFor^ers für die Realisierung von Aktionen mit Hintergrundprozessen.
Dia/ogs für die interaktive Realisierung von Aktionen.
2. Project. Das Proyect-Paket enthält die fachlichen Klassen.
3. Util. In diesem Paket sind allgemeiner nutzbare Funktionen implementiert, die nicht
Abbildung in dieser Leseprobe nicht enthalten
Die Aufgaben der einzelnen Pakete sollen nun etwas genauer betrachtet werden, wobei eine zu große Detaillierung vermieden werden soll.
In GUI.Main wird das Hauptfenster definiert. Dieses ist als horizontale SplitPane implementiert, sowohl der obere als auch der untere Bereich sind in Tabs unterteilt.
Oberhalb der SplitPane befindet sich noch eine Menüleiste. Der Vorteil dieser Struktur besteht in seiner Flexibilität. Die Größe und die Position des Fensters sind anpassbar und werden als Präferenz des Benutzers gespeichert. Man kann leicht neue Tabs hinzufügen. Die zugrundeliegende Struktur ist einfach: die oberen Tabs sind eingabe-, die unteren ausgabeorientiert. Es sind verschiedene Layoutformen eingesetzt, vom einfachen Textfeld über eine Ausgabe mit Formatierungsmöglichkeiten bis hin zu strukturierteren Darstellungen. Die Klasse ZinkPanel erzeugt die Repräsentation einer tabellarischen Struktur mit datenabhängigen Hyperlinks. Die Darstellung beruht auf dem flexiblen Layoutmanager TahleZayoht.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 20. Aufbau des Hauptfensters.
Das Paket GUI.Main enthält eine Klasse Connector, welche das Modell und die Darstellung verbindet.
Jeder Menüpunkt soll eine bestimmte Aktion auslösen. Diese Ablaufsteuerung ist im Paket GUI.Hctions implementiert. Eine Klasse kann hier verschiedene inhaltlich zusammengehörige Menüpunkte verwalten. Die Hction-Klassen rufen Methoden in GUI.Dialogs und GUI. Yorkers auf. Dabei ermöglichen die Klassen des Dialogs-Paketes etwa das Setzen von Parametern (Klasse De/awltDatahaseParameterDialog), das Anzeigen der Hilfetexte (Klasse DelpDialog), die Projektverwaltung (Klasse Proy'ectCreate- Dialog) oder die Speziesawswakl/Mnktion (Klasse ProyectHlternativesDialog). Die Klassen aus GUI. Yorkers leiten sich von der Java-Klasse Swing Yorker ab und ermöglichen das Abarbeiten von Algorithmen in eigenen Threads. Diese Lösung wurde gewählt, um die GUI bei den umfangreichen Berechnungen zu deblockieren. Aus Gründen der
Einfachheit wird aber keine echte Parallelität zugelassen. Beim Starten eines Workers wird ein Flag gesetzt, das andere Worker-Prozesse verhindert. Nach beendeter Arbeit wird dieses Flag entsprechend zurückgesetzt. Die Yorker-Klassen realisieren den Aufruf der im Kapitel 4 behandelten Funktionen; die grundsätzlichen Zuständigkeiten lassen sich aus den jeweiligen Namen erschließen (ZlastYorker, ProcessProtein Yorker und ProcessRAH- Yorker).
Das Paket Project enthält die technischen Klassen. Die zentrale Klasse heisst gleichfalls Project. Ein Project entspricht einem Projekt, also im Wesentlichen einer Instanz der in Abschnitt 4.1 beschriebenen Programmfunktionen. So wird die Durchführung der implementierten Funktionen verwaltet und der jeweilige Stand gespeichert. Die Klasse Project implementiert das Interfacejava./o.Ser/a//zah/e, ein Speichern und anschließendes Einlesen ist also möglich. Mit der Klasse CreateMSd wird eine Instanz der Klasse MS4 gegründet und dem aktiven Projekt zur Verfügung gestellt. Ein MS A ist also eine eigene Datenstruktur. Weiterhin gibt es noch die Klassen Spec/e^Tree, Prote/nProce55or und ÆV4Procewor. Spec/e^Tree ermöglicht die Berechnung und Ausgabe eines phylogenetischen Baumes, der auf dem Neighbour-Joining-Algorithmus beruht, Prote/nProce55or realisiert die Prote/n-FMnkt/on, FV4Proce55or entsprechend die FV4- FMnkt/on. De/ам/А ermöglicht das Abspeichern projektspezifischer und genereller V oreinstellungen.
Im Paket Ft// findet man einen Werkzeugkasten von Klassen, die aus dem Project-Paket ausgelagert worden sind. F//eSFC unterstützt bei File-Operationen, wie dem Lesen, dem Schreiben, dem Zusammenführen und dem Kopieren von Files. Diese Klasse enthält auch einen Parser, der die erwartete Filestruktur mit der tatsächlichen vergleicht. Damit kann überprüft werden, ob nicht versehentlich ein falsches File eingelesen worden ist. TnOMt übernimmt die Serialisierung und Deserialisierung, realisiert also die Persistierung. Ae/gkhoMr./o/n/ng ist eine Klasse, die den gleichnamigen Algorithmus implementiert. Too/ ist für kleinere Funktionen gedacht, aktuell findet sich dort nur eine Methode zum Invertieren von Matrizen. Die umfangreichste Klasse dieses Paketes ist Fn/ProtgMery. Sie realisiert den Zugriff auf die Funktionen, die von der UniProtJAPI angeboten werden.
5.2 Verzeichnisstruktur der Projektbearbeitung
Die Bearbeitung der Projekte geschieht in einer Verzeichnisstruktur, die vom Programm erzeugt wird. Sie ist in Abbildung 21zu sehen.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 21. Verzeichnisstruktur für die Projektbearbeitung. Für jedes Projekt (hier nur TFC4) undjede der 16S rRNA-Datenbanken (hier arh, green und r^p) gibt es eine eigene Unterverzeichnisstruktur. Green besitzt noch ein zusätzliches Verzeichnis tran5/at/on//n2.
Für jedes Projekt wird vom Programm eine eigene Verzeichnisstruktur erzeugt. In dem projektspezifischen Ordner können die spezifischen Eingabe-Dateien abgespeichert werden: das Eingabe-MSA und das File mit den Suchproteinen. In results werden
während der Projektbearbeitung erzeugte Zwischenergebnisse festgehalten. Die Unterverzeichnisse von results enthalten dann die Ausgabe-Sequenzfiles. Die zweite Unterverzeichnisstruktur betrifft die RNA -Datenbanken. Die 16S RNA-Sequenzen liegen als Downloads vor. Jede Datenbank besitzt einen ressources-Ordner für die Sequenzfiles und einen translation-Ordner für die Übersetzungsfiles. Es besteht jeweils ein in Unterverzeichnis, in das die ursprünglichen Files abgelegt werden. Während der Datenbankinitialisierung werden diese aufbereitet und in die benötigte Form gebracht.
In dieser Hinsicht hat jede Datenbank einige Besonderheiten, die hier zumindest erwähnt werden sollen (Siehe auch Kapitel 3.3).
ARB-SILVA. Die Übersetzungsfiles können ohne Änderung verwendet werden. Wenn es mehrere sind, werden sie zu einem File zusammengeführt.
RDP. Hier müssen die relevanten Informationen aus den Genbank-Dateien gesucht werden. Das Ergebnisfile ist entsprechend viel kleiner als dessen Quelle.
Greengenes. Hier werden zusätzlich zu den datenbankspezifischen Übersetzungsfiles Genbank-Dateien benötigt, die im in2 Verzeichnis abzuspeichern sind.
5.3 grundlegende Algorithmen des Programms
In diesem Abschnitt wird etwas näher auf die konkrete Implementation eingegangen. Allerdings wird für die Beschreibung der Algorithmen eine etwas abstraktere Ebene gewählt.
5.3.1 Pseudocode-Notation und Datenstrukturen
Abbildung in dieser Leseprobe nicht enthalten
Tabelle 17. Pseudocode-Notationen
Abbildung in dieser Leseprobe nicht enthalten
Tabelle 18. wichtige Datenstrukturen der zentralen Algorithmen
5.3.2 Diagramm, derAblauflogik
Die folgende Abbildung veranschaulicht die Ablauflogik wichtiger Algorithmen.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 22. Die nummerierten Algorithmen werden weiter unten genauer beschrieben. Nach der Spezies Identifizierung kann das RNA-Ergebnisfile oder die Protein-Sequenzfiles erzeugt werden. Letztere werden entweder auf der Basis der Speziesidentifizierungen oder der aktuellen Selektion der Spezies- Alternativen zusammengestellt. Die RNA Datenbankinitialisierung ist nur notwendig, wenn sie nicht bereits in einem früheren Projekt gemacht worden ist.
5.3.3 wichtige Algorithmen in Pseudocode
Es folgt nun die detailliertere Beschreibung einiger wesentlicher Algorithmen.
Abbildung in dieser Leseprobe nicht enthalten
5.4 Perspektiven
Das vorliegende Programm erfüllt eine klar umrissene Aufgabe. Es befindet sich im Forschungskontext molekularbiologischer und phylogenetischer Fragestellungen.
Verbesserungen und Erweiterungen sind natürlich wünschenswert. Einige dieser Aspekte sollen hier aufgeführt werden.
- Performanceverbesserungen. Die Effizienz der ÆVH-FMnkhon ließe sich erheblich verbessern, wenn man die Download-Files in eine Datenbank importiert. Alternativ wäre eine intelligente Filestruktur denkbar, mit denen man Indizes simuliert. Man könnte den Filenamen etwa auf die ersten drei Ziffern der NCBI- beziehungsweise einem Präfix der Accessions-ID basieren lassen. Dann würde mit wesentlich kleineren Files gearbeitet werden können, was die Verar beitungszeit deutlich reduzieren würde.
- Anbindung weiterer Datenbanken. Die Bioinformatik befindet sich in einer dynamischen Entwicklung. Es ist zu erwarten, dass weitere Datenbanken entstehen. Auch wäre die Nutzung anderer Sequenzabschnitte der RNA denkbar, so der 23S/28S- oder der 5S-rRNA. Bisher ist eine Erweiterung nur durch Eingriffe in den Quellcode möglich. Hier wäre die Möglichkeit zu evaluieren, neue Datenbanken durch einen Parameter-Set zu definieren. Diese wären dann ohne programmatische Änderungen einzubinden. Das Aufwand-NutzenVerhältnis ist dabei allerdings kritisch zu hinterfragen.
- echte Parallelität. Eine Erweiterung wäre das Ermöglichen von mehreren gleichzeitigen Hintergrundprozessen.
- Eliminierung externer Arbeitsschritte. Besonders die Realisierung der RNA- Funktion enthält Arbeitsschritte, die außerhalb des Programmes stattfinden. Es müssen also Dateien geöffnet und manipuliert werden. Dies könnte in die Software integriert werden. Gerade bei Projekten mit vielen Spezies ist gegenwärtig noch die zusätzliche Nutzung SQL-fähiger Datenbanken (hier MS- ACCESS) empfohlen, um bestimmte nicht automatisierte Arbeitsschritte (Auswertungsfunktionen, Eliminierung von Duplikaten) effizient ausführen zu können.
- Darstellungsfragen. Das graphische Interface ließe sich verbessern und erweitern. So könnte man das MSA mit farblichen Kennzeichnungen anreichern, die etwa Auskunft über die Konservierung geben.
- Ergebnisansicht. Schließlich wäre es denkbar, die produzierten Ergebnisse in das Projekt zu importieren und in der GUI auch darzustellen. Man könnte dann etwa die Sequenzfiles der verschiedenen Proteine ansehen und miteinander vergleichen.
- Proj ekthistorie. Der Verlauf eines Proj ektes könnte in diesem gespeichert werden. Weiterhin wäre es vorstellbar, verschiedene Projekte miteinander zu vernetzen, sodass man von einem Projekt Informationen anderer Projekte abrufen und nutzen könnte.
Anhang
A LUCA (Last Uniform Common Ancestor)
Die Entwicklung der Evolutionstheorie veranlasste schon Darwin zu der Spekulation, dass alle heute existierenden Lebewesen von einer einzigen Art abstammen könnten [AST15]. Dieser hypothetische Urvorfahr wurde später als LUCA (Last Uniform Common Ancestor) oder als LUA (Last Uniform Ancestor) bezeichnet. Er wäre gewissermaßen der Stamm des Baumes. Mit der Entwicklung der Genetik und insbesondere der bioinformatischen Methoden ist aus dieser evolutionären Grundhypothese seit Längerem ein wissenschaftliches Programm geworden. Die Idee, einen umfassenden phylogenetischen Baum des Lebens auf digitaler Basis zu gewinnen, entstand 1988, wurde 1994 dann im Internet weitergeführt. Im Jahr 2000 wurde das Projekt in eine datenbankgetriebene Architektur transformiert [MSM07].
Die klassische Vorstellung eines evolutionären Baumes hat inzwischen keine uneingeschränkte Gültigkeit mehr. Gerade in der Frühzeit des Lebens besaß der horizontale Gentransfer eine so große Bedeutung, dass dort eine Netztopologie angemessener ist. [AST15]. LUA ist aus dieser Perspektive keine abgegrenzte Spezies, sondern der gesamte biologische Pool ursprünglicher Lebewesen, die genetisches Material relativ ungehindert untereinander austauschten. Weil molekularbiologische Neuerungen sich rasch verbreiten konnten, war die evolutionäre Geschwindigkeit sehr hoch. Die vom horizontalen Gentransfer dominierte Situation führte dann zu Entwicklungen, wo dessen Bedeutung abnahm und es zur Entstehung von Spezies im heutigen Sinne kam. Aus dem LUA-Pool entkoppelte sich das erste Bakterium, später (vielleicht Millionen Jahre später) das erste Archaeon. In [AST15] wird ein einfaches mathematisches Modell diskutiert, um den Übergang von der horizontal (HGT) zur vertikal (Mutation, Genduplikation) dominierten Evolution zu beschreiben.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 23. FGF Competence bezeichnet die Neigung zum horizontalen Gentransfer, Fitness die Anpassung an die Umwelt und Fopn/atzon Fntropy die Entropie der Genomverteilung. Es gibt danach einen Zeitpunkt in der Entwicklung, wo die Fitness signifikant anzusteigen beginnt und die Neigung zu HGT unter einen Schwellwert sinkt. Diese Situation, wo die molekularbiologischen Funktionskreise so komplex und spezifisch werden, dass die horizontale Integration zufälliger Gensequenzen nicht mehr erfolgversprechend ist, korrespondiert der Entstehung der ersten Arten [AST15].
Die Rekonstruktion von LUA/LUCA geschieht mit Hilfe von phylogenetischen Bäumen sehr früher Bakterien und Archaeen. In [RSH+14] wird die Reproduktion von LUCA- HisF und LUCA-HisH beschrieben. Als Resultat ergab sich eine weitgehende strukturelle und funktionale Übereinstimmung mit den entsprechenden Enzymvarianten heutiger Spezies.
In [BrGa13] wird der Frage nachgegangen, ob LUA thermophil gewesen ist. Zur Rekonstruktion der Gensequenzen wird ein phylogenetischer Baum auf der Basis von 31 Proteinen erstellt. Hinsichtlich der hier bearbeiteten Projekte ist insbesondere der Umstand interessant, dass teilweise andere Proteine benutzt worden sind.
Abbildung in dieser Leseprobe nicht enthalten
Tabelle 19. Vergleich der eingesetzten Suchproteine in [CDM+06] und in [BrGa13]
21 COGs waren in beiden Arbeiten verwendet worden (Siehe auch Anhang B). Die hier dokumentierten Differenzen sind insofern interessant, da bei jedem бедмегегргагаадог- Projekt die Menge der Suchproteine zusammengestellt werden muss.
В COGs des Projekts
Die folgende Tabelle listet die Proteine auf, die für die bearbeiteten Projekte Verwendung fanden. In der dritten Spalte, sind alternative Proteinnamen[25] aufgeführt, mit denen die Referenzierung zusätzlicher Datensätze gelungen ist.
Abbildung in dieser Leseprobe nicht enthalten
Tabelle 20. COGs, Namen und alternative Namen der verwendeten Suchproteine. Die alternativen Namen sind anhand der Proteinnamen in der UniProt-Datenbank bei gegebenen COGs der Spezies des LUCAi-Projektes bestimmt worden. Für andere Projekte wäre hier eine kritische Durchsicht, vor allem hinsichtlich möglicher anderer alternativer Namen zu empfehlen.
C UniProt-API-Fehler (Version 0)
Die Version 0 der UniprotJAPI enthielt einen Fehler, der hier dokumentiert werden soll, weil er die Durchführung der Projekte[26] und auch die Entwicklungsarbeit erheblich erschwert hat.
Der Fehler kann mit Hilfe des folgenden Programmabschnittes beschrieben werden.
Abbildung in dieser Leseprobe nicht enthalten
In den ersten Zeilen wird der Iterator aufgebaut, die WHILE-Schleife beginnt etwas unüblich mit dem Test, ob es ein weiteres Element in der Datenstruktur gibt. Ist das der Fall, wird dieses Element mittels iterator. next() geholt. In einigen Fällen wirft diese Iterator-Grundfunktion aber eine Exception. Es lässt sich an dieser Stelle zwar eine Fehlerbehandlung implementieren, doch die verlorengegangenen Datensätze können nicht prozessiert werden.
Der Fehler folgt einer genauen Logik. Er ist reproduzierbar, tritt immer bei denselben Datensätzen auf. Es werden nach dessen Auftreten jeweils hundert schon verarbeitete Datensätze wiederholt, auf der anderen Seite werden hundert Datensätze übersprungen. Der Fehler ist vom UniProt-Team bestätigt worden, tritt mit der Version 1.0.0 aber nicht mehr auf.
D Benutzerdokumentation Sequenzprozessor
D 1 Allgemeines
Sequenzprozessor ist ein Tool, um verschiedene Sequenzfiles zu erstellen. Es werden hier zwei Aufgabenkomplexe unterschieden:
1.16S-rRNA basierte Ausgabe
Die Eingabe ist hier ein MSA, die Ausgabe ein Multiples Sequenzalignment mit entsprechenden 16S-rRNA Sequenzen.
2. proteinbasierte Ausgabe
Hier ist als Eingabe zusätzlich ein File notwendig, welches die relevanten Proteine beschreibt Als Ausgabe wird idealerweise für jedes enthaltene Protein eine Datei geschrieben, außerdem wird ein File erzeugt, in welchem die Sequenzen aller Proteine jeweils konkateniert sind. Alle Ergebnis-Files besitzen das FASTA-Format.
D 2 Allgemeine Projektfunktionen
D 2.1 Projekt gründen
Der erste Arbeitsschritt nach Öffnen des Programmes sollte im Gründen oder Öffnen eines Projektes bestehen. Nach Aktivierung des Menüpunktes „Projekt/Neu“ können in einem Dialog der Name und das Basisverzeichnis des Projektes gewählt werden.
Abbildung in dieser Leseprobe nicht enthalten
Bei Beantwortung der Frage mit ,,Ja“ wird die bestehende Verzeichnisstruktur verwendet.
Beim Abspeichern wird die projektspezifische Verzeichnisstruktur angelegt.
Abbildung in dieser Leseprobe nicht enthalten
D 2.2 Projekt öffnen
Bei Aktivieren des Menüpunktes „Projekt/Öffnen“ öffnet sich ein Filedialog. Die Namen der Projektfiles haben das Präfix Projekt und die Extension .prj.
Abbildung in dieser Leseprobe nicht enthalten
Mit dem Öffnen eines Projektes wird dessen zuletzt abgespeicherter Zustand wiederhergestellt.
D 2.3 Projekt speichern
Die Speicherung des aktuellen Zustandes kann zu einem beliebigen Zeitpunkt erfolgen. Das Projekt bleibt weiterhin aktiv.
D 2.4 Projekt bearbeiten
Mit diesem Menu werden allgemeine Bearbeitungsschritte des Projektes durchgeführt.
D 2.4.1 MS A einiesen
Der erste Bearbeitungsschritt besteht im Einlesen des Prngahe-MSN. Das entsprechende File sollte vorher im Projektverzeichnis gespeichert worden sein.
Abbildung in dieser Leseprobe nicht enthalten
Sobald das MSA eingelesen ist, wird dessen Information im ersten oberen Reiter angezeigt.
Abbildung in dieser Leseprobe nicht enthalten
MSA MSA-Proteine MSA-Spezies ’ Spezies Alternativen J Proteine
>BVeVeVeVe_Ppa_32077l_Dt ype_EB/1-695
Abbildung in dieser Leseprobe nicht enthalten
Über „Anzeige/Arbeitsansicht“ lässt sich eine andere Ansicht anwählen, in der die Alignierung direkt sichtbar ist. Für sehr große Alignments ist diese Option allerdings inaktiviert.
Abbildung in dieser Leseprobe nicht enthalten
D 2.4.2 BlastAnfrage und Export in File
Zunächst sollten unter „Parameter/Datenbankparameter“ die Parameter überprüft und gegebenenfalls geändert werden {minimales Ergebnis in % und für ÄLTSTDatenbank).
Abbildung in dieser Leseprobe nicht enthalten
Die Bedeutung der für die Speziesidentifizierungen relevanten Parameter erläutert die folgende Tabelle.
Abbildung in dieser Leseprobe nicht enthalten
Ein File enthält jeweils die identifizierten Spezies, ein zweites die möglichen Alternativen. Sie werden in das Projektverzeichnis geschrieben. Informationen bezüglich der laufenden BLAST-Anfrage werden im Reiter Konsole ausgegeben.
D 2.4.3 MSA-Proteine
Während des BLAST-Laufes werden neben den möglichen Spezies auch das Protein/die Proteine des Eingabe-MSA bestimmt. Das geschieht durch Anwählen des Menüpunktes „Projekt/bearbeiten/MSA-Proteine“. Sind die MSA-Proteine nicht im laufenden Projekt gespeichert oder sollen sie neu eingelesen werden, lässt sich das mit dem oberen Button veranlassen.
Abbildung in dieser Leseprobe nicht enthalten
Es sollten dann aus den Einträgen in der unteren Combo-Box diejenigen Einträge gelöscht werden, die zu unspezifisch oder falsch sind.
Die Bestimmung des/der MSA-Proteins/e kann für spätere Arbeitsschritte nötig sein. Wenn eine Spezies durch eine ihrer Alternativen ausgetauscht werden soll, muss die Proteinsequenz dieser Spezies auch durch diejenige ihrer Alternative im Eingabe-MSA ersetzt werden.
Nach dem Einlesen wird der Reiter MSA-Proteine mit den gefundenen Einträgen gefüllt. Dabei werden über Web-Links detailliertere Informationen zugreifbar.
Abbildung in dieser Leseprobe nicht enthalten
D 2.4.4 Spezies-File einiesen
Aus den Blast-Export-Files muss der Benutzer nun ein Spezies-File zusammenstellen, wo es für jede Zeile des MS A mindestens eine Spezies definiert ist.
Abbildung in dieser Leseprobe nicht enthalten
Das Spezies-File kann mit dem Menüpunkt „Projekt/bearbeiten/Spezies-File einlesen“ eingelesen werden. Sobald das geschehen ist, füllen sich die beiden Reiter „MSA- Proteine“ und „MSA-S^ezies“. Über die angezeigten Web-Links kann man auf die entsprechenden Sites von NCBI und UniProt zugreifen.
D 2.4.5 neue Projektversion
Hier kann der Versionsname über einen Dialog eingegeben werden. Der Versionsname ist ein Namensbestandteil der generierten Dateien, so dass auf diese Weise verschiedene Varianten eines Projektes verwaltet werden können.
D 3 Erzeugung der RNA Ergebnissequenzen
D 3.1 RNA Match-File erzeugen
Handelt es sich um das erste Projekt, müssen zunächst die RNA-Datenbanken in einen operativen Zustand gebracht werden. Dies ist weiter unten im Abschnitt D5 beschrieben. Durch Anwählen des Menüpunktes „RNA/RNA Match-File erzeugen“ wird ein File mit dem Namen ,,organisms/n.Datahase_“+.Datenhank-CWe+“.csv“ in das „resnlts“-Ver- zeichnis des Projektes geschrieben. Besteht dieses File bereits, kommt beim Starten des Prozesses eine Fehlermeldung.
Die Datenbank lässt sich unter „Parameter/Datenbankparameter“ in der Combo-Box „PAA Datenbank“ wechseln.
Abbildung in dieser Leseprobe nicht enthalten
D 3.2 Ergebnisfile erzeugen
Nach Arbeitsschritt 3.1. sind unter Umständen mehrere RNA Match-Files vorhanden. Diese müssen nun zu einem File mit dem Namen „organismslnDatabase.csv“ zusammengeführt werden. Man kann dazu das File mit den besten Ergebnissen umbenennen und die fehlenden Spezies-Zeilen aus den anderen Files hineinkopieren, wenn sie dort vorhanden sind.
Für jede Spezies aus dem Eingabe-MSA sollte mindestens ein Eintrag vorhanden sein. Bei mehreren Treffern wirdjeweils der erste für das Ergebnisfile benutzt.
Abbildung in dieser Leseprobe nicht enthalten
Sollte es Spezies ohne Treffer geben, kann auch eine manuelle Konsultation der
Datenbanken zu einem Ergebnis führen. Die entsprechenden Sequenzen müssen dann manuell hinzugefügt werden.
Durch Anwählen des Menüpunktes „RNA/RNA Sequenzfile schreiben“ wird das Ergebnisfile ins resM/A/rna-Unterverzeichnis des Projektes geschrieben.
D 4 Erzeugung der Protein Ergebnissequenzen
D 4.1 Suchproteine einiesen
Der Inhalt der Datei mit den Suchproteinen wird über den Menüpunkt „Proteine/Prot Suchproteine einlesen“ ins Projekt eingebunden und im gleichnamigen Reiter angezeigt.
D 4.2 Datenbank Suchkriterien
Für die Identifizierung der Proteine stehen die COG-Gruppen und die Proteinamen zur Verfügung. Die COG-Gruppen sind in vielen Fällen nicht vorhanden, sodass versucht werden muss, die Proteine über ihre Namen zu identifizieren. Möchte man hier auch die Kreuzreferenzen nutzen (wenn also ein Datensatz auf einen Eintrag in einer anderen Datenbank referenziert und der dort gespeicherte Proteinname als Identifikator dienen soll), dann sollten auch die möglicherweise abweichenden Namenskonventionen beachtet werden.
Die entsprechende Parametrierung ist im Reiter „Parameter/DatenbanÄparameter“ vorzunehmen.
Abbildung in dieser Leseprobe nicht enthalten
Die Bedeutung der Einträge wird in der folgenden Tabelle erläutert.
Abbildung in dieser Leseprobe nicht enthalten
Einträge lassen sich mit Hilfe der Textfelder, der Combo-Boxen und den beiden Buttons ADD und DELETE hinzufügen und löschen.
D 4.3 Protein Match-File erzeugen
Durch Aktivieren des Menüpunktes „Proteine/Prot Match-File erzeugen“ wird die UniProt-Datenbank konsultiert, um zu jeder Kombination aus Spezies und Suchprotein mindestens einen Datensatz zu finden. Das Ergebnisfile wird ins raro/t-Unterverzeichnis geschrieben und hat den Namen „proteine_primaryMatch.csv“. Über den Arbeitsfortschritt wird man im Konso/e-Reiter informiert.
Dabei wird die Art der Identifizierung in der 2. Spalte dokumentiert. Die folgende Tabelle erklärt die einzelnen Positionen.
Abbildung in dieser Leseprobe nicht enthalten
Лл Es ist ebenfalls möglich, in der UniParc-Datenbank nach Treffern zu suchen. Es empfiehlt sich, diese Option zu wählen, wenn nach Ausführen nicht für alle Spezies alle Proteine gefunden werden konnten. Dazu ist über „Parameter/Datenbankparameter“ in der Combo-Box „BLAST-Datenbank“ entsprechend „UNIPARC“ anzuwählen. Nach Abschluss des Exports muss die Datei „proteine_primaryMatch.csv“ nach den Spezies sortiert werden.
D 4.4 Vollständigkeitskontrolle
Durch Anwählen des Menüpunktes „Proteine/Prot Übersicht Vollständigkeitskontrolle“ kann man sich eine Übersicht über eventuell fehlende Datensätze verschaffen.
Das Ergebnis wird im Reiter Resultate ausgegeben.
Abbildung in dieser Leseprobe nicht enthalten
D 4.5 Protein-Ergebnisfiles schreiben
Wenn man das Originalergebnis exportieren möchte, dann geschieht dies mittels des Menüpunktes „Proteine/ Prot Sequenzfiles schreiben“. Die Ergebnisfiles befinden sich anschließend im Unterverzeichnis results/uroterne des Projekt-Ordners.
D 5 Bearbeiten der Eingabe-Selektion
Gibt es Spezies/Suchproteinpaare, für die keine Sequenzen gefunden werden konnten, kann durch Bearbeiten der Eingabe-Selektion versucht werden, das Ergebnis zu verbessern. Die folgende Tabelle erklärt die möglichen Operationen.
Abbildung in dieser Leseprobe nicht enthalten
D 5.1 Alternativen einiesen
Zunächst muss festgelegt werden, welche Spezies als Alternativen zu den gewählten Spezies möglich sind. Die diesbezüglichen Daten werden aus den Resultaten der Speziesidentifizierungen (Punkt D 2.4.2) gewonnen und in einem File gespeichert. Das Einlesen geschieht über den Menüpunkt „Proteine/Prot Alternative Spezies/Alternative Spezies File einlesen“.
Da es bezüglich der Spezies-Alternativen noch kein Match-File gibt, muss dieses über „Proteine/Prot Alternative Spezies/Match File erstellen“ zunächst erzeugt werden. Hierbei werden die Sequenzen der Suchproteine für die einzelnen Spezies-Alternativen gesucht und in einer Datei gespeichert. Werden für eine Spezies-Alternative alle Proteinsequenzen gefunden, geht der Algorithmus direkt zur nächsten Spezies über.
D 5.2 Alternativen evaluieren
Will man eine bestehende Spezies durch eine ihrer Alternativen ersetzen, kann man durch Anwählen von „Proteine/Prot Alternative Spezies/Alternativen evaluieren“ die vermeintlich besten Möglichkeiten berechnen lassen.
Das Ergebnis wird im Raro/tate-Reher angezeigt.
Abbildung in dieser Leseprobe nicht enthalten
Die ersten drei Zeilen lassen sich dabei folgendermaßen interpretieren:
Man kann 12 Proteine mit Sequenzdaten für alle Spezies erhalten, wenn man die Spezies mit der Sequenznummer 10 (Desulfuromonas acetoxidans DSM 684) durch ihre SpeziesAlternative mit der Alternativen-Sequenznummer 1 ersetzt. Das Protein des Eingabe- MSA ist für diese Alternativ-Spezies vorhanden. Die letzte Zeile zeigt das Resultat der aktuellen Auswahl. Es werden also fünf Proteine neu vollständig.
D 5.3 Alternativen auswählen
Die Bearbeitung der Eingabeselektion geschieht mit einem Dialog, der über den Menüpunkt „Proteine/Prot Alternative Spezies/bearbeiten“ aufgerufen wird. Über die oberen beiden Combo-Boxen lassen sich die gewünschten Datensätze unmittelbar löschen. Bein Anwählen einer Spezies wird die untere Combo-Box mit den möglichen Alternativen gefüllt, sodass ein Ersetzen stattfinden kann.
Abbildung in dieser Leseprobe nicht enthalten
Damit füllt sich auch der Reiter „Spezies ^/ternaü'ven“ mit den diesbezüglichen Informationen und ermöglicht auch den Aufruf der entsprechenden Web-Sites von NCBI und UniProt. Im ResM/tote-Reiter wird gegebenenfalls die entsprechende MSA-Protein- Sequenz angezeigt.
Δ Achtung: Wurde versäumt, unter „Projekt/bearbeiten/MSA Proteine“ die unspezifischen Treffer zu löschen, kann es hier zu falschen Ergebnissen kommen.
Die Anzeige der aktuellen Selektion erfolgt im ^MswaW-Reiter.
Abbildung in dieser Leseprobe nicht enthalten
Durch Anwählen des Menüpunktes „Proteine/Prot Alternative Spezies/Altemativen Übersicht“ lässt sich das Ergebnis der aktuellen Selektion berechnen und ausgeben.
Abbildung in dieser Leseprobe nicht enthalten
D 6 16S-rRNA Datenbanken initialisieren
Dieser Initialisierungsschritt muss pro Installation nur einmalig ausgeführt werden. Bei neuen Datenbankversionen kann es allerdings vorteilhaft sein, diesen Schritt zu wiederholen oder die vorhandenen Daten zu ergänzen.
D 6.1 Der Download der Files
Abbildung in dieser Leseprobe nicht enthalten
Beginnt man die Bearbeitung einer Datenbank, sollte sie über den Parameter ÆA4 DatenhanÆ im Menüpunkt „Parameter/Datenbankparameter“ selektiert werden.
Beim Download sind die Übersetzungsfiles von den Datenfiles zu unterscheiden.
Erstere enthalten die Umsetzung von den Identifizierungsnummern der Datensätze (Accessions ID) zu den Spezies-Nummern (NCBI-ID), letztere die Proteinsequenzen.
Die Übersetzungsfiles müssen ins translation/in Unterverzeichnis der Datenbank, die Sequenzfiles ins entsprechende ressources/in-Verzeichnis gespeichert werden.
Abbildung in dieser Leseprobe nicht enthalten
D 6.2. Initialisieren der Datenbanken
Für die aktuelle Datenbank müssen nun die beiden Initialisierungsschritte Paraweter- /RA4 Datenbanken/RA4 PaxMap-File erzeugen und anschließend Parameter/RA4 Datenbanken/ RA4 Fasta Ressources File erzeugen“ ausgeführt werden. Sollten dazu nötige Eingabefiles fehlen oder das Ergebnisfile schon existiert, kommt eine Fehlermeldung. Als Ergebnis wird im ersten Schritt das File key_translation.txt ins translation-Unterverzeichnis der Datenbank geschrieben, im zweiten Schritt entsprechend Jatabase./asta ins ressources-Unterverzeichnis.
D 7. Genbaum berechnen (Neighbour Joining)
Durch Anwählen des Menüpunktes Perechnen/Pree berechnen kann ein Baum der Eingabesequenzen mit dem Neighbour-Joining-Algorithmus berechnet und ausgegeben werden, die einzelnen Zweige lassen sich durch einen Doppel-Klick auf- oder wieder zuklappen.
Abbildung in dieser Leseprobe nicht enthalten
Glossar
Allel. Allele sind Zustandsformen eines Genes. Verschiedene Allele weisen geringfügige Differenzen in der Basensequenz auf.
biologische Domäne. Die höchste Klassifizierungskategorie in der biologischen Taxonomie. Alle Lebewesen werden in die drei Domänen Bakterien, Archaeen und Eukaryoten eingeordnet.
BLAST (Basic Local Alignment Search Tool) ist eine Gruppe von Algorithmen, um molekularbiologische Sequenzen miteinander zu vergleichen. Als Ergebnis werden Alignments und Informationen zu deren Relevanz ausgegeben.
Datenbank. Der Begriff der Datenbank wird hier in einem weiteren Sinn verstanden, als eine strukturierte Sammlung von Daten. Es handelt sich dabei nicht notwendigerweise um ein Datenbankmanagementsystem.
FASTA. FASTA ist ein textbasiertes Format zur Speicherung von Nuklein- oder Aminosäuresequenzen. Jeder Datensatz besteht aus einer Kopfzeile, die mit „>“ beginnt und Informationen zur Referenzierung enthält. Es folgt die kodierte Sequenz, die sich auf mehrere Zeilen erstrecken kann.
Homologie. Homologe Gene (oder Proteine) stammen von einem gemeinsamen Vorläufer ab. Homologien werden weiter klassifiziert: Man unterscheidet, ob das Vorläufergen ein Artbildungsereignis (Orthologie) beziehungsweise eine Genverdopplung (Paralogie) durchlaufen oder ob es einen horizontalen Gentransfer (Xenologie) gegeben hat.
Konservierung. Die Teile einer Aminosäure- oder Nukleotidsequenz werden im Verlauf der Evolution in unterschiedlichem Maß erhalten (konserviert).
Multiples Sequenzalignment (MSA). Ein MS A entsteht durch symbolweises Ausrichten mehrerer Zeichenketten zueinander. Dabei können Lücken eingeführt und durch ein entsprechendes Symbol gekennzeichnet werden (meist “-“).
NCBI-ID. Die NCBI-ID ist ein stabiler, eindeutiger, Identifikator für taxonomische Gruppen.
Protein-Domäne. Die kleinste Einheit eines Proteins mit einer definierten Struktur. Das Zusammenwirken der Domänen entscheidet über die Gesamtfunktion eines Proteins [MeWalO].
Literaturverzeichnis
Abbildung in dieser Leseprobe nicht enthalten
Quellen zu den Abbildungen
Abbildung in dieser Leseprobe nicht enthalten
[...]
[1] der letzte gemeinsame Vorfahre aller Lebewesen
[2] hydrophile/ hydrophobe Aminosäuren
[3] sieht man von den RNA-Viren ab
[4] Die DNA kann außerdem auch für funktionale RNA-Abschnitte kodieren.
[5] die stammesgeschichtliche Entwicklung
[6] Für die Aufklärung der Strukturen der DNA-Reparatur gab es 2015 den Nobelpreis für Chemie worden.
[7] S ist ein Sedimentationskoeffizient
[8] Lebewesen mit Zellkern
[9] andere Wissenschaften wie die Chemie oder die Mathematik besitzen andere Homologiebegriffe, worauf hier nicht eingegangen wird [Fitc00]
[10] eine Angabe partieller, quantifizierter Homologie macht höchstens im Fall von Mehrdomänenproteinen Sinn, wo für jede Domäne eigene Homologieverhältnisse bestehen können [Fitc00].
[11] in [RSH+14] wird die Rekonstruktion des Proteins /rnGP-S für LUCA beschrieben. Dieses besteht aus den beiden Komponenten HisF und HisH. Von den beiden rekonstruierten Teilproteinen war nur HisF katalytisch aktiv. Die errechnete Sequenz von HisH enthielt somit Fehler, die auch der (im Vergleich zu HisF) geringeren Zahl strikt konservierter Positionen geschuldet war. Es besteht also ein Bedürfnis nach noch präziseren Verfahren zur Sequenz-Rekonstruktion.
[12] ohne Übersetzung, da mir der korrekte deutschsprachige Fachbegriff fehlt.
[13] Das ist intuitiv leicht nachvollziehbar. In Bäumen mit kurzen, dicken Ästen ist die rechts gezeichnete Situation wahrscheinlicher als bei gestreckten und dünnen Bäumen.
[14] Die Bewertung aller möglichen Paare ist in einer Matrix gespeichert, z.B. BLOSUM oder JTT.
[15] Für das aus dem Eingabe-MSA des LUCA1-Projektes bestimmte Protein (COG147) wurden von Uniprot 14 verschiedene Namen zurückgegeben (siehe 4. Kapitel)
[16] eine etwas abweichende Proteinauswahl ist in [BG13] publiziert, siehe Anhang A
[17] 31 gemäß [CDM+06]
[18] der Rückgabewert einer Abfrage in Form einer Folge von Datensätzen, welche iteriert werden kann
[19] das Iteratorelement
[20] Für die Protein-Funktion wird als Eingabe eine Aminosäuresequenzfolge benötigt. Dass dieses in Form eines Multiplen Sequenzalignments vorliegt, ist nicht erforderlich. Da bei den bearbeiteten Projekten die Eingangssequenzen in jedem Fall aligniert werden, wird im Verlaufe dieses Textes von Pingangi-MX4 gesprochen.
[21] Die Reihenfolge in der Sortierung der einzelnen Alternativen kann bei Verwendung anderer Sortierkriterien abweichen,jedoch waren in den bearbeiteten Projekten nur minimale Veränderungen festzustellen.
[22] schwankt im LUCA1-Projekt bei 100% Identity zwischen 2148 und 2741
[23] Das ist leicht für a, n.k -> » plausibel zu machen. Wenn für jede Spezies nur eine Proteinsequenz gefunden werden konnte, kann die Überprüfung von an Wahlmöglichkeiten nötig sein, bevor man eine Selektion mit einem vo//itän<7igen Protein gefunden hat. Jede Überprüfung besteht aus maximal n-1 Einzeltests, jeder von Ihnen kann bezüglich jedes Proteins nötig sein.
[24] Eventuell höchstens durch gleichzeitiges Auswählen mehrerer Speziesalternativen
[25] Es wurde dazu geprüft, unter welchen Namen Proteine der gegebenen COG in UniProt gespeichert waren.
[26] LUCAl- und VALID-Projekt
- Citation du texte
- Steffen Herrmann (Auteur), 2015, Datengetriebenes Erzeugen von Sequenzdatensätzen zur Berechnung von Speziesbäumen, Munich, GRIN Verlag, https://www.grin.com/document/318168
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X.