Konzeption eines Assistenzsystems zur Extraktion von

Transcrição

Konzeption eines Assistenzsystems zur Extraktion von
Fachhochschule Gelsenkirchen
Abteilung Recklinghausen
Fachbereich Angewandte Naturwissenschaften
Bereich Bioinformatik und Mathematik
WS 2004/05
Diplomarbeit
zum Erlangen des akademischen Grades
Diplom-Chemiker
Konzeption eines Assistenzsystems zur Extraktion
von Informationen über Protein-Protein
Wechselwirkungen aus Fachliteratur
Andreas Schwaebe
21. Februar 2005
Betreut durch
Prof. Dr. H. Brinck
und
T. Wiebringhaus
Eingangsstempel
FH Gelsenkirchen
Prüfungsamt Recklinghausen
Recklinghausen, den 21.02.2005
Selbständigkeitserklärung
Ich erkläre hiermit, dass ich die vorliegende Arbeit selbstständig und nur unter Verwendung der angegebenen Quellen und Hilfsmittel angefertigt habe.
Gelsenkirchen, den 20.02.2005
Zusammenfassung
Informationen über Protein-Protein Wechselwirkungen sind hauptsächlich in Fachveröffentlichungen zu finden. Diese werden durch Datenbanken wie PubMed des NCBI
in Form von Zusammenfassungen (Abstracts) verfügbar gemacht. Eine Recherche nach
Protein-Protein Wechselwirkungen erfolgt im Allgemeinen durch ein mühsames und zeitaufwendiges Durchforsten der Abstracts durch einen Experten (Biologe, Biochemiker,
etc...).
Diese Diplomarbeit hat zum Ziel Konzepte und Softwaretools für ein Assistenzsystem
zu entwickeln, das den Experten bei der Recherche unterstützt und die Zeiten für die
Suche reduziert.
Ein solches Assistenzsystem sollte Proteinnamen und Synonyme in Abstracts identifizieren und dem Benutzer hervorgehoben präsentieren, um dem Experten eine schnelle
Entscheidung zu ermöglichen. Eine identifizierte Wechselwirkung und die dazugehörigen
Proteine sollten in einer Datenbank gespeichert werden und als Netzwerk von Wechselwirkungen visualisiert werden können.
Durch Befragung und Diskussion mit einem aktiv forschenden Biologen wurde eine flexible und skalierbare Datenbank entwickelt, die Wechselwirkungen von Proteinen und
dazu relevante Informationen speichert.
Weiterhin wurde ein Programm zum Import von Daten anderer Datenbanken entwickelt. Dabei wurde ein Standard-XML-Datenaustauschformat benutzt und angepasst.
Es wurde ein Konzept für einen Prototypen entwickelt, das die Abfrage von Abstracts
von PubMed und das Speichern von erkannten Protein-Protein Wechselwirkungen in der
Datenbank ermöglicht. Die Benutzung verschiedener externer Visualisierungwerkzeuge
ist durch die Standardisierung des Datenaustauschformates möglich.
Die vorliegende Diplomarbeit zeigte aber auch, dass erhebliches Fachwissen nötig ist um
eine fundierte Einordnung der beschriebenen Wechselwirkungen und der zugehörigen
Wechselwirkungspartner machen zu können und diese in einer Datenbank zu speichern.
Von den zu entwickelnden Tools wird eine erhebliche Beschleunigung der Recherchearbeit
erwartet.
Abstract
Information about protein-protein interactions are mainly found in scientific literature.
Databases like PubMed from the NCBI make this literature available as abstracts. A
search for protein-protein interactions in this abstracts is a time-consuming task for
every expert (biologist, biochemist, etc... ).
Object of this diploma thesis is the conceptual design of a software tool, that assists an
expert and reduces the time needed for searching the available literature. Such a tool
should identify protein names and their synonyms, which should be presented emphasised for a quick decision making by the expert. Found interactions and their participating
proteins should be saved in a relational database. A graphical visualisation of the interaction network of the interacting proteins should be realised.
Discussion and questioning of a biologist, who researches actively protein-protein interactions, leads to the development of a database, that stores information about proteinprotein interactions and relevant additional information.
A tool was developed for the import of data, which are exported from other databases.
Therefore a standardised XML format is used.
Furthermore the conception of a prototype of an application is developed for querying abstracts on PubMed and storing the identified protein-protein interaction in the
database. The use of a standardised XML-exchange-format enables the use of existing
visualisation tools.
A noticeable acceleration of the investigation of abstracts should be reached by using
such tools. A decision, what really is an interaction and an interactor, requires specialised
knowledge of a human expert.
Inhaltsverzeichnis
Zusammenfassung
iii
Abstract
v
1. Einleitung
1.1. Einführung . . . . . . . . . . . . . . . . . . . . . . . .
1.2. Grundlagen . . . . . . . . . . . . . . . . . . . . . . . .
1.2.1. Einführung . . . . . . . . . . . . . . . . . . . .
1.2.2. Besonderheiten von Proteinnamen . . . . . . . .
1.2.3. Begriffe der textuellen Informationsverarbeitung
1.2.4. Methoden der Informationsverarbeitung . . . .
1.2.5. Kriterien für die Bewertung . . . . . . . . . . .
1.3. Stand der Technik . . . . . . . . . . . . . . . . . . . . .
1.3.1. Datenbanken . . . . . . . . . . . . . . . . . . .
1.3.2. Visualisierungssysteme . . . . . . . . . . . . . .
1.3.3. Information Extraction . . . . . . . . . . . . . .
1.4. Zielsetzung/Motivation . . . . . . . . . . . . . . . . . .
2. Methoden
2.1. NLProt . . . . . . . . . . . . . . . .
2.2. Entrez Utilities Web Service . . . . .
2.3. C# und .NET . . . . . . . . . . . .
2.4. SQL-Server 2000 . . . . . . . . . . .
2.5. Visio for enterprise architects - VEA
2.6. SQLXML . . . . . . . . . . . . . . .
2.7. XML - EXtensible Markup Language
2.8. PSI-XML . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
8
8
10
13
14
22
24
24
29
37
39
.
.
.
.
.
.
.
.
43
43
44
48
49
49
50
51
54
3. Durchführung und Ergebnisse
57
3.1. Vorbereitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.2. Entwicklung der Datenbank . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.2.1. Vorarbeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Inhaltsverzeichnis
viii
3.2.2. ER-Modell . . . . . . . . . . .
3.2.3. Implementierung . . . . . . .
3.2.4. Import von PPIs aus externen
3.3. Konzeption des Prototypen . . . . . .
. . . . . . . .
. . . . . . . .
Datenbanken
. . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
65
67
77
84
4. Zusammenfassung und Ausblick
91
4.1. Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.2. Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
A. Documentation for the PPIFinder database
A.1. Requirements . . . . . . . . . . . . . . . . . . . . .
A.2. Transactions . . . . . . . . . . . . . . . . . . . . . .
A.3. Entitytypes . . . . . . . . . . . . . . . . . . . . . .
A.4. Relationships . . . . . . . . . . . . . . . . . . . . .
A.5. Attributes of Entities . . . . . . . . . . . . . . . . .
A.6. ER-Modell . . . . . . . . . . . . . . . . . . . . . . .
A.7. Model for the MS-SQL-Server (designed with Visio)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
93
93
97
99
101
104
119
121
B. NLProt-Installation und Betrieb
123
Glossar
125
Tabellenverzeichnis
1.1. EphB2 und seine Synonyme in der Literatur (Stand Januar 2005) . . . .
1.2. Übersicht: PPIs in Datenbanken . . . . . . . . . . . . . . . . . . . . . . .
11
29
A.1. Tabelle der Relationen der Entitäten . . . . . . . . . . . . . . . . . . . . 104
A.2. Tabelle der Attribute der Entitäten . . . . . . . . . . . . . . . . . . . . . 117
Abbildungsverzeichnis
1.1.
1.2.
1.3.
1.4.
1.5.
1.6.
1.7.
Insulin - Signalkaskade in der Zelle
Yeast-2-Hybrid Methode . . . . . .
Informationsextraktion . . . . . . .
Graphen mit ProViz . . . . . . . .
Screenshot PIMWalker . . . . . . .
Screenshot Cytoscape . . . . . . . .
Funktionsweise von PreBIND . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
5
21
32
35
36
41
2.1. Überblick über NLProt . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2. Screenshot Entrez . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3. Darstellung des MI entry-Elements . . . . . . . . . . . . . . . . . . . . .
45
46
55
3.1. ER-Diagramm der PPIFinder Datenbank . . . . . . . . . . . . . . . . . .
3.2. Gruppe A im implementierten Datenbankschema . . . . . . . . . . . . .
3.3. Gruppe B im implementierten Datenbankschema . . . . . . . . . . . . .
3.4. Gruppe C im implementierten Datenbankschema . . . . . . . . . . . . .
3.5. Gruppe D im implementierten Datenbankschema . . . . . . . . . . . . .
3.6. Gruppe E im implementierten Datenbankschema . . . . . . . . . . . . . .
3.7. Implementiertes Datenbankschema . . . . . . . . . . . . . . . . . . . . .
3.9. UML-Darstellung der Klasse HPRDXMLDocument . . . . . . . . . . . .
3.8. Erweiterungen des PSI-XML Schemas . . . . . . . . . . . . . . . . . . . .
3.10. Umwandlung des HPRD-Dokuments . . . . . . . . . . . . . . . . . . . .
3.11. Entrez-Webservice - Im Visual Studio als Web Reference mit dem Namen
eutils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.12. UML-Darstellung der Klasse EntrezEutils . . . . . . . . . . . . . . . . .
3.13. Workflow für Prototypenanwendung . . . . . . . . . . . . . . . . . . . . .
66
71
72
73
74
75
76
79
80
87
88
89
90
A6. ER-Modell der Datenbank . . . . . . . . . . . . . . . . . . . . . . . . . . 119
A7. Modell für den SQL-Server erstellt mit Visio . . . . . . . . . . . . . . . . 121
1. Einleitung
1.1. Einführung
Proteine sind für alle Organismen von grundlegender Bedeutung und erfüllen vielfältige
Funktionen. Sie finden sich als Strukturproteine in Haaren (Keratin) und im Bindegewebe (Kollagen), als Poren- und Transportproteine in der Zellmembranen und als
antreibende Motorproteine in Muskeln (Actin). Als Antikörper sind sie die Antwort des
Immunsystems auf eindringende Antigene. Protein wirken als Biokatalysatoren(Enzyme)
und als Hormone verrichten sie wichtige Steuerungsfunktionen.
Die Wechselwirkungen von Proteinen untereinander bestimmen den Ablauf der lebensnotwendigen Funktionen in einem Organismus; das Wissen über diese Interaktionen zeigt
die funktionellen Zusammenhänge in einem Organismus und wie diese kontrolliert werden. Dieses Wissen ist notwendig, um einen Eingriff und damit die Behandlung von
Krankheiten möglich zu machen.
Ein bekanntes Beispiel ist die Krankheit Diabetes Mellitus, die sich durch die mangelnde Aufnahme von Glucose in die Körperzellen und einen dadurch resultierenden hohen
Blutzuckerspiegel auszeichnet. Die Zellen werden ausgehungert und die Produkte des
veränderten Zellstoffwechsels sorgen für eine Dehydratation des Körpers. Ausgelöst wird
dies bei Diabetes Typ I durch den Mangel des Hormons Insulin, da die insulinproduzierenden Zellen der Bauchspeicheldrüse fehlen oder defekt sind.
Bei Diabetes Typ II erzeugt das Pankreas zwar genug Insulin aber die Zellen scheinen
nicht mehr genug Insulinrezeptoren zu besitzen, um zur Aufnahme von Glucose stimuliert werden zu können. Eine Einführung in die biochemischen Zusammenhänge geben
Biochemiebücher wie z.B. der Voet [46].
In Abbildung 1.1 ist die Signal- und Reaktionskaskade einer Zelle dargestellt, die durch
das Binden von Insulin an den Insulin-Rezeptor in der Zellmembran (roter Pfeil) ausgelöst wird. Aus dieser Kaskade resultiert unter anderem die Glucoseaufnahme durch
den Glucosetransporter GLUT-4 (grüner Pfeil). D.h. die Behandlung von Diabetes vom
Typ I ist durch die gezielte Zugabe von Insulin möglich. Bei Diabetes vom Typ II kann
die Insulinresistenz der Zelle häufig mit entsprechenden Medikamenten, Bewegung und
entsprechender Ernährung behandelt werden. Einen Überblick über Ursachen, Auswirkungen und Behandlung der beiden Diabetestypen findet sich im Bericht der Deutschen
2
1. Einleitung
Diabetes-Union [45].
An diesem Beispiel zeigt sich, dass Informationen über Protein-Protein Wechselwirkungen von immenser Wichtigkeit für die Medizin und Biologie sind und die Grundlagen
für ein komplettes Verständnis der komplexen biologischen Vorgänge darstellen. Die
www.signaling-gateway.org, Lew Cantley
Abbildung 1.1.: Die Bindung von Insulin am Insulin-Rezeptor (roter Pfeil) einer Zelle
löst eine Signal-Kaskade aus, die unter anderem für die Aufnahme von
Glucose über den Glucosetransporter GLUT4 (grüner Pfeil) sorgt
Identifikation von Protein-Protein Wechselwirkungen ist schwierig und zeitaufwendig.
Zusätzlich zu dem Aufwand an Zeit, Arbeit und Laborausstattung haben alle Methoden
das Problem, in vitro abzulaufen. Somit spiegeln sie die Verhältnisse in vivo nur eingeschränkt wieder und die gefundenen Wechselwirkungen zwischen Proteinen laufen nur
potentiell in der untersuchten Zellart ab.
Durch die geänderte Umgebung, die evtl. auch zu einer anderen Faltung der Proteine
führt, ergeben sich verschiedene Probleme:
• Falsch negative Beurteilung von Proteinen, die in der Zielzelle miteinander interagieren. Diese Interaktion zeigt sich im Testsystem aber nicht
1.1. Einführung
3
• Falsch positive Beurteilung von Proteinen, die in der Zielzelle nicht miteinander
wechselwirken würden.
• Proteine, die im Zellzyklus der Zielzelle normalerweise nicht zeitgleich auftauchen,
interagieren im Testsystem miteinander.
• Die Interaktion von mehr als zwei Proteinen, z.B. bei der Bildung von Komplexen,
wird nicht erfasst
Die Yeast-2-Hybrid Methode [50] ist ein Beispiel für eine Methode zur Identifikation von
Protein-Protein Wechselwirkungen, dabei werden die Proteine im Zellkern einer Hefezelle
untersucht. Abbildung 1.2 zeigt schematisch den Ablauf der Methode.
www.proteomicsnetwork.de
Abbildung 1.2.: Schematischer Ablauf der Yeast-2-Hybrid Methode
Die Bindung des „Beute“-Fusionsprotein und des „Köder“Fusionsproteins an der regulatorischen DNA-Sequenz erzeugt einen
funktionierenden Aktivatorkomplex und sorgt damit für die Expression
eines „Reporter“-Gens
4
1. Einleitung
Bei diesem Verfahren wird ein Aktivator-Komplex für die Transkription in eine Bindeund eine Aktivatordomäne zerlegt und damit deaktiviert.
Das zu untersuchende Protein A wird an die Bindedomäne des Aktivator-Komplexes gebunden. Dieser neue Komplex kann an die DNA-Zielsequenz der Bindedomäne binden,
um die Expression eines Gens auszulösen. Die Expression findet aber trotzdem nicht
statt, da die Aktivatordomäne fehlt.
Proteine, die auf eine Interaktion mit Protein A untersucht werden sollen, werden an
die Aktivatordomäne gebunden und in den Kern der Hefezelle eingebracht.
Binden die beiden zu untersuchenden Proteine aneinander, kommen sich Aktivator- und
Bindedomäne wieder so nahe, dass sie ihre Funktion ausüben können und die Expression des „Reporter“-Gens einleiten. Das Expressionsprodukt wird dann erzeugt, kann
nachgewiesen werden und erbringt damit den Nachweis einer Interaktion der beiden untersuchten Proteine. Auch die Nutzung von Protein-Mikrochips erfordert die Lyse der
Originalzellen und Extraktion der Proteine, die dann in einer Lösung über den Chip
geleitet werden können.
Neuere Hybrid-Methoden [22] verbessern die Situation durch Nutzung von Säugetierzellen, deren biochemischen Verhältnisse denen der Originalzelle ähneln. Allerdings können
auch diese die oben genannten Probleme nicht ganz beseitigen.
Der Aufwand und die genannten Probleme machen eine Validierung der Ergebnisse notwendig. Zusätzlich kann unnötige Arbeit vermieden werden wenn Zugriff auf die Arbeit
anderer Forscher möglich ist. Allerdings werden immer noch die meisten Informationen
über Protein-Protein Interaktionen (PPIs) nur in Fachzeitschriften veröffentlicht und
nicht gleichzeitig in entsprechende Datenbanken gespeist.
Forscher, die nach Informationen über mögliche Interaktionen in dieser Fachliteratur
suchen, stehen Abstractdatenbanken, wie z.B. PubMed, zur Verfügung. PubMed stellt
aktuell (Stand Februar 2005) ca. 15 Millionen Abstracts von Fachartikeln bereit. PubMed
lässt sich nach Stichworten durchsuchen und ermöglicht so das Auffinden der Abstracts
von Artikel, die diese Stichwörter beinhalten. Die manuelle Suche und Extraktion von
Informationen über Protein-Protein Interaktionen ist daher ebenfalls zeit- und arbeitsintensiv und erfordert neben Fachwissen auch ein hohes Maß an Erfahrung.
Um die mit Literaturrecherchen verbrachte Zeit zu reduzieren, sollen in dieser Diplomarbeit Konzepte und Ansätze für ein Assistenzsystem entwickelt werden. Dabei stehen
die Speicherung und die Erleichterung des Auffindens der PPIs im Vordergrund.
1.2. Grundlagen
5
1.2. Grundlagen
1.2.1. Einführung
Da die Suche und Extraktion von Informationen aus der Literatur für jeden Wissenschaftler eine zeitraubende Angelegenheit ist, ist es nahe liegend diese Aufgabe automatisiert vom Computer erledigen zu lassen. Allerdings ist der Computer vom Prinzip
her nichts als eine große Rechenmaschine, die ausschließlich mit Zahlen umgehen kann.
Daher sind Texte, die von einem Menschen interpretiert und verstanden werden, für den
Computer erst einmal nichts als eine Abfolge von Zeichen, die als Zahlen dargestellt
werden. D.h. ein Versuch die Analyse von Text einem Computer zu überlassen, bedeutet
eine Repräsentation des Textes zu finden, die mit mathematischen Verfahren analysiert
werden kann.
Menschliche Sprachen zeichnen sich durch eine schnelle Entwicklung aus, die zu Differenzierungen der Sprachelemente führt. Dadurch tauchen Mehrdeutigkeiten auf, die
sich teilweise nur aus dem Zusammenhang heraus klären lassen. Zusätzlich werden viele
grammatikalische Regeln, die die Struktur einer Sprache ausmachen, eher als Vorschläge
behandelt und nicht streng eingehalten.
Da dies auch Menschen das Lesen von Texten erschweren kann, werden in manchen Bereichen strengere Formalismen für die Formulierung von Texten vorgegeben. So werden
für das Verfassen von Patenten, Versicherungsberichten oder auch juristischen Texten
Formulierungen und Struktur vorgegeben.
Wissenschaftler sind beim Verfassen nur eingeschränkt an sprachliche Formalismen gebunden. Das führt zu einigen zusätzlichen Problemen bei der Verarbeitung von wissenschaftlichen Texten:
1. Informationsaustausch findet in den Naturwissenschaften im allgemeinen in Englisch statt. Für die meisten Wissenschafter ist Englisch aber nicht die Muttersprache, daher treten Schwierigkeiten durch eine falsche oder zu mindestens unübliche
Benutzung von grammatikalischen Strukturen und Wörtern auf
2. Experten in einem bestimmten Gebiet entwickeln häufig einen eigenen Jargon, der
nicht unbedingt den allgemeinen Regeln der englischen Sprache folgt
3. Ein eigener Jargon enthält neben neuen Begriffe auch Begriffe, die aus der Alltagssprache oder aus anderen fachlichen Zusammenhängen bekannt sind, aber für das
eigene Fachgebiet eine neue oder abgewandelte Bedeutung erhalten
4. Die Länge von Fachartikeln ist begrenzt, daher wird häufig auf eine große Zahl von
Abkürzungen zurückgegriffen. Dadurch ist ein Artikel für einen Nicht-Experten auf
dem Fachgebiet des Artikels kaum lesbar
1. Einleitung
6
Diese Art Sprache zu benutzen macht das Hauptproblem bei der computergestützten
Bearbeitung von Text aus, da es die Erkennung von Mustern und Strukturen, die sich
mathematisch fassen lassen, erschwert.
1.2.2. Besonderheiten von Proteinnamen
Das Auffinden von Proteinnamen ist die nötige Grundlage, um Protein-Protein-Interaktionen
in Texten finden zu können. Leider gibt es keine allgemeine Nomenklatur für die Benennung von Proteinen. Bisher kann jedes Labor seine eigene Systematik für die Benennung
von Proteinen entwickeln. Das Protein kann nach ganz verschiedenen Kriterien benannt
werden. Der Name eines Proteins kann sich zusammensetzen aus Begriffen für
• seine Funktion
• seine Aminosäuresequenzeigenschaften
• seinen Gennamen
• seine Position innerhalb der Zelle
• das Organ, aus dem es erstmals isoliert wurde
• etc...
Bestrebungen zur Systematisierung von Proteinnamen finden im Moment hauptsächlich
auf Ebene von bestimmten Fachgebieten bzw. bei gut erforschten Organismen statt.
Ein Beispiel für die Vielfalt von Synonymen für ein Protein zeigt die Tabelle 1.1 für das
Protein EphB2. Dieser Name ist 1999 als Standard definiert worden. Die Tabelle zeigt
die Anzahl der Abstracts, die in PubMed gefunden werden und in denen das Synonym
vorkommt, und das Jahr, in dem zuletzt eine Veröffentlichung mit dem jeweiligen Synonym erschienen ist. Die Zahlen sind, insbesondere bei Erk, kritisch zu betrachten und
Name Anzahl Abstracts Jahr
Erk
8526 2005
EphB2
130 2004
Nuk
100 2004
Drt
97 2004
Cek5
26 2000
Sek3
4 2002
Hek5
2 2003
Qek5
1 2003
Tabelle 1.1.: EphB2 und seine Synonyme in der Literatur (Stand Januar 2005)
1.2. Grundlagen
7
nach unten zu korrigieren, da die Kombination von drei Buchstaben auch in anderen
Zusammenhängen auftauchen kann. Die Tabelle macht deutlich, dass der Standardisierungsversuch nach 6 Jahren immer noch nicht angenommen worden ist und weiterhin
unter verschiedenen Synonymen veröffentlicht wird.
Weiter Informationen über die Problematik findet sich bei Mani und Hu [27].
Weitere Eigenheiten von Proteinnamen
1. Proteinnamen bestehen häufig aus Kombinationen von 3-5 Buchstaben und Ziffern,
die auch mit Abkürzungen für andere Begriffe verwechselt werden können.
2. Eine Kurzbezeichnung kann ein Synonym für verschiedene Proteine sein.
3. Proteinnamen können mehrere Wörter umfassen.
Beispiel:
cell membrane estrogen receptor heterogeneous nuclear ribonucleaoprotein (hnRNP)
A1
4. Lange beschreibende Proteinnamen nehmen viel Platz ein und stören den Lesefluss
innerhalb eines Artikels. Daher werden Sie im Laufe von Artiklen bzw. in Folgeartikeln abgekürzt.
Beispiel:
ubiquinol-cytochrome C reductase complex core protein I wird abgekürzt als
core I precursor protein oder core I protein.
Die Pflege von Wörterbücher und Regelwerken wird damit deutlich aufwendiger.
5. Als Proteinnamen werden häufig die zugehörigen Gennamen verwendet. Laut Konvention wird der Proteinname groß geschrieben (z.B. HypA) und der Genname
klein (hypA) oder kursiv. Viele Autoren halten sich aber nicht konsequent an diese
Vorgaben.
6. Es gibt Proteinnamen, die nur eine Grundstruktur des Proteins beschreiben, und
erst durch Erweiterungen die tatsächliche Form des Proteins identifizieren.
Heparan sulfate im Artikel von Scholefield aus dem Jahr 2003 [42] ist ein Beispiel
dafür, das der angegebene Proteinname das Protein nicht eindeutig identifiziert.
Es gibt eine Reihe von Modifikationen beim Menschen, die gemeint sein können:
• heparan sulfate 3-O-sulfotransferase-4 (HS3ST4)
• heparan sulfate (glucosamine) 3-O-sulfotransferase 5 (HS3ST5)
• heparan sulfate 6-O-sulfotransferase 2 (HS6ST2)
• heparan sulfate 6-O-sulfotransferase 2 (HS6ST2)
• heparan sulfate 6-O-sulfotransferase 1 (HS6ST1)
1. Einleitung
8
Eine eindeutige Zuordnung kann in diesem Fall auch nicht mit biologischem Fachwissen erfolgen, da dazu nötige Zusatzinformationen im Abstract fehlen.
Diese Fragestellung kann nur durch Recherche im Volltextartikel bzw. durch Nachfragen beim Autor geklärt werden.
1.2.3. Begriffe der textuellen Informationsverarbeitung
Da aus vielen Fachgebieten Beiträge zum Finden und Verarbeiten von Informationen von
Texten kommen und dabei Fachbegriffe unterschiedlich definiert und gedeutet werden,
soll hier eine kurze Einteilung der Arbeitsgebiete folgen.
Die Arbeit mit unstrukturierten Text lässt sich in vier Gebiete aufteilen:
Zielsetzung des Informationretrievals ist das Auffinden von Dokumenten, die für eine
Suchanfrage relevant sind. Suchmaschinen wie Google sind Bespiele für Programme, die
Informationretrieval betreiben.
Bei der Informationextraktion geht es in erster Linie um die gezielte Extraktion von
Fakten, die von einem Benutzer gesucht werden. Dabei ist dem Benutzer die Kategorie
und Art der gesuchten Informationen bekannt.
Das Textmining versucht aus unstrukturierten Texten neue Informationen zu erschließen, deren Art und Kategorie dem Benutzer bis dahin unbekannt waren.
Als Natural Language Processing (NLP) bezeichnet man allgemein die Verarbeitung natürlichsprachlicher Information mit Hilfe des Computers.
Konzepte und Methoden aus diesen Gebieten sind verwandt, überschneiden sich oder
ergänzen sich gegenseitig.
1.2.4. Methoden der Informationsverarbeitung
Boolesche Suche
Mit Hilfe der booleschen Suche können Stichwörter, die mit Hilfe der booleschen Operatoren UND, ODER und NICHT miteinander verknüpft sind, im Text gefunden werden.
Suchmaschinen nutzen diese Methode, um dem Benutzer die Möglichkeit zu geben für
ihn relevante Dokumente zu finden. Die Methode ist schnell, erfordert aber vom Benutzer
die richtigen Stichwörter zu kennen. Insbesondere um eine Abfrage mit Hilfe der booleschen Operatoren spezifischer zu gestalten, erfordert es Kenntnisse über die Benutzung
bestimmter Phrasen und Wörter in einem speziellen Gebiet.
Reguläre Ausdrücke
Eine einfache und mächtige Methode, um Begriffe in Texten zu finden, ist die Suche
nach vorgegebenen Mustern in der Abfolge von Textzeichen. Die vorgegebenen Muster
1.2. Grundlagen
9
werden als reguläre Ausdrücke (regular expression, regex) bezeichnet und sind
in vielen Programmiersprachen implementiert, um Muster in Zeichenketten suchen und
bearbeiten zu können. Der Ausdruck B[iu]rma (Beispiel aus [10]) findet in einem Text
alle Wörter mit eine großen B zu Beginn, gefolgt entweder von einem kleinen i oder
einem kleinen u und endend mit der Buchstabenkombination rma. Damit lassen sich die
Begriffe Birma und Burma finden.
Nachteil der regular expressions ist, dass die Methode keinerlei Kenntnisse über die
sprachlichen und inhaltlichen Zusammenhänge des Textes besitzt und somit auch keine
Suche nach diesen Kriterien ermöglicht.
Textaufbereitung und Klassifizierung
Um dem Computer eine Suche nach implizit im Text vorhandenen Informationen möglich
zu machen, muß der unstrukturierte Text in eine strukturierte Form gebracht werden,
die von Computerprogrammen verarbeitet werden kann. Dabei müssen Entitäten und
ihre Beziehungen zueinander identifiziert werden.
Dazu wird der Text als erstes in einzelne Bruchstücke, so genannte Tokens , zerlegt. Das
Ganze wird als Tokenisierung bezeichnet. Diese Tokens können Sätze, Phrasen oder auch
einzelne Wörter sein.
In einem zweiten Schritt werden Phrasen und Wörter klassifiziert (z.B. Wortart = Verb,
Objekt oder Subjekt), danach wird die grammatikalische Struktur von Sätzen erkannt
(Parsing) und zuletzt müssen Bedeutungszusammenhänge zwischen Phrasen und Wörter
identifiziert und zugeordnet werden.
Zum Abschluß werden die gefundenen Entitäten annotiert, d.h. ihnen wird ihre Klassifizierung, ihre Bedeutung und eine Beschreibung ihrer Eigenschaften zugeordnet.
Werden Proteinnamen im Text gesucht und benutzt man XML als Annotationssprache,
können Proteinnamen mit XML-Tags annotiert werden.
Taucht zum Beispiel der Proteinname Heparan sulfate in einem unstrukturierten Text
auf, so könnte der Begriff nach der Bearbeitung in einer XML-Datei folgendermaßen annotiert sein:
<protein>Heparan sulfate</protein>
Damit wäre der Begriff Heparan sulfate eindeutig als Proteinname klassifiziert.
Verschiedene Ansätze ermöglichen die Identifikation und Klassifizierung von Entitäten
und ihren Beziehungen:
1. Erstellung von Wörterbüchern, in denen Wörter und Phrasen mit ihren Bedeutungen und ihrer Wortart definiert werden. Das können Wörterbücher sein, die
spezifisch gesuchte Begriffe beinhalten. Es können aber auch Wörterbücher sein,
die Wörter und Phrasen, die für die Extraktion nicht von Interesse sind, beinhalten.
1. Einleitung
10
Vorteile:
• Eindeutige Definition der zu behandelnden Wörter und Phrasen
• Gute Kontrolle über die zu klassifizierende Wörter und Phrasen
• Performance hängt nur von der Güte und Vollständigkeit des Wörterbuches
ab
Nachteile:
• Ergebnisse sehr spezifisch, d.h. nicht erfasste Formulierungen oder Tippfehler
führen dazu das Wörter oder Phrasen nicht erkannt werden
• Pflege ist aufwendig
• Müssen für jedes Fachgebiet/Fragestellung erneut aufgestellt werden
2. Manuelle Erstellung von Regelwerken (Ontologien), die Entitäten und ihre
Beziehungen zueinander beschreiben. Ein Beispiel für eine Regel wäre:
Sind in einem Satz zwei Proteinnamen vorhanden und befindet sich zwischen ihnen
das Verb interacts, so interagieren die beiden Protein miteinander
Damit wird zwischen den beiden Entitäten Proteinname A und Proteinname B
und dem Verb interacts eine Beziehung hergestellt und klassifiziert.
Vorteile:
• Auch hier eindeutige und genaue Ergebnisse
• Klare und eingegrenzte Spezifikation der Ontologie
Nachteile:
• Die Regeln müssen von einem Experten aufgestellt werden
• Die Pflege der Regeln ist aufwendig
• Zusammenhänge, die durch die Regeln nicht definiert wurden, werden nicht
erkannt.
• Ausnahmen oder Zweifelsfälle sind nur schwer zu fassen
• Regelwerke müssen für jedes Gebiet neu erstellt werden
3. Benutzung von Algorithmen, bei denen die Annahme zugrunde liegt, das die
Ontologie durch ein statistisches Modell beschrieben werden kann. Dabei soll die
Häufigkeit des Auftreten eines Begriffes und das gemeinsame Vorkommen in bestimmten Textbausteinen eine Aussage darüber zulassen, welche Bedeutung ein
Begriff und welche Beziehungen die Begriffe zueinander haben.
Beispiel für solche Algorithmen sind die Hidden Markov Modelle (HMM).
1.2. Grundlagen
11
Vorteile:
• Klassifizierung lässt mehr Spielraum
• Keine Aufwendige Pflege von Wörterbüchern
Nachteile:
• Zusammenhänge, die sich nicht statistisch erfassen lassen, gehen verloren
4. Benutzung von Algorithmen des maschinellen Lernens, wobei die Regeln
für die Entitäten und ihre Beziehungen automatisiert erkannt werden. Dabei wird
dem Algorithmus ein Satz von Trainingsdaten vorgelegt, die sowohl die Ausgangsdaten als auch ihre korrekte Klassifikation beinhalten. Daraus soll der Algorithmus
die Regeln automatisch erlernen und generalisieren, so dass er unbekannte Texte
korrekt klassifiziert. Support Vector Machines (SVM) und Neuronale Netzwerke
sind Beispiele für Algorithmen, die durch überwachtes Lernen trainiert werden.
Siehe [5, 39, 21, 44]
Die genannten Algorithmen können auf den annotierten und sprachlich klassifizierten
Text angewandt werden, um Dokumente nach bestimmten Kriterien zu klassifizieren
(z.B. Dokument enthält eine PPI / Dokument enthält keine PPI) oder gezielt Informationen zu extrahieren.
Abbildung 1.3 zeigt schematisch mögliche Abläufe bei der Textklassifzierung und Textextraktion. Zuerst werden Dokumente, die relevant sein könnten, in einer Textquelle
gesucht (z.B. Abstracts von PubMed). Auf dieser Ebene könne Stichwörter und Textmuster genutzt werden, um Informationen zu extrahieren (1), die Dokumente zu klassifizieren (2) oder der Text wird weitergehend auf sprachlicher und inhaltlicher Ebene
analysiert und klassifiziert.
Die Klassifizierung der Textbestandteile kann zur Einordnung der Dokumente genutzt
werden, um z.B. relevante Dokumente vor der Informationsextraktion von unrelevanten
Dokumenten zu trennen. Soll keine Klassifizierung der Dokumente erfolgen, kann der
Schritt auch weggelassen werden (3).
Einen Überblick über die Thematik findet sich bei Shatkay [44].
12
1. Einleitung
Abbildung 1.3.: Schematischer Ablauf einer Textklassifzierung und -extraktion
1. Extraktion von oder mit Stichwörtern
2. Dokumentklassifizierung nur nach Stichwörtern
3. Extraktion ohne Klassifizierung von Dokumenten
1.2. Grundlagen
13
1.2.5. Kriterien für die Bewertung
Damit die Klassifizierung von Texten bewertet werden kann, wurden verschiedene Maßzahlen eingeführt.
Precision P
Die Precision beschreibt das Verhältnis von gefundenen korrekten Antworten im Verhältnis zu allen gefundenen Antworten.
P =
Gefundene korrekte Antworten
Alle gefundenen Antworten
Recall R
Der Recall beschreibt das Verhältnis korrekt gefundener Antworten im Verhältnis zu
allen möglichen korrekten Antworten in einem Testset.
R=
Korrekte gefundene Antworten
Alle möglichen korrekten Antworten
F-score
Der F-score ist ein Maß, das Precision und Recall zu einem Maß vereinen soll.
Der einfachste Fall ist folgendermaße definiert:
F =
2P R
P +R
Auch hierzu finden sich detaillierte Informationen und Verweise bei Shatkay [44].
14
1. Einleitung
1.3. Stand der Technik
In der Einführung wurde bereits auf die Bedeutung von Protein-Protein Interaktionen
hingewiesen, so dass viele akademische Arbeitsgruppen und Firmen an Tools arbeiten,
die das Aufspüren solcher Interaktionen in der Literatur, ihre Speicherung und ihre
Visualisierung ermöglichen sollen.
Übersichtsartikel finden sich bei Salwinski [38] und Shatkay [44].
1.3.1. Datenbanken
Bei öffentlichen Datenbanken über Interaktionen geht es um die Sammlung der Daten
an zentraler Stelle und den systematischen und vereinfachten Zugriff auf PPI-Daten
ohne zeitaufwendig Literatursuche. Die wichtigsten Datenbanken, wie MINT, BIND,
DIP und HPRD, greifen auf Experten mit biologischem Fachwissen zurück, die mit der
Pflege der Daten in der Datenbank und der Extraktion von Interaktionsinformationen
aus der Literatur betraut sind.
Die Expertenteams der öffentlichen Datenbanken bestimmen die Zielrichtung ihrer Literaturrecherchen, der Benutzer der Datenbank hat keinen Einfluß darauf, welche Proteine in der Literatur gesucht und dann in der Datenbank gespeichert werden. Außerdem
erfährt der Benutzer nichts über die Qualitätsstandards, die bei Validierung und der
Aufnahme der Daten in die Datenbank angelegt werden.
BIND
Die Blueprint Initiative-North America ist ein Forschungsprogramm am Mount Sinai
Hospital in Toronto und entwickelt und pflegt die Biomolecular Interaction Network Database (BIND).
Diese Datenbank beschränkt sich nicht nur auf die Interaktionen zwischen Proteinen,
sondern versucht Interaktionen mit Biomolekülen im allgemeinen zu erfassen. Laut Datenbankstatistik vom Januar 2005 liegen 63759 Protein-Protein Wechselwirkungen vor,
wobei der Großteil aber nicht im Menschen statt findet.
Auch hier werden die Daten von einem Expertenteam gepflegt und durch Literaturrecherche erweitert. BIND hat seine Prinzipien zur Pflege der Datenbank in einem ReferenzHandbuch veröffentlicht.
Die Experten werden von dem Tool PreBIND unterstützt, das in einem eigenen Abschnitt beschrieben wird. Auch hier erfolgt der Zugriff auf die Daten über ein Webinterface oder über den MI-XML Standard.
Weiter Informationen finden sich auf der BIND-Webseite http://bind.ca oder in entsprechenden Publikationen [1, 3].
1.3. Stand der Technik
15
DIP
Die Database of Interacting Proteins (DIP) der Universität von Kalifornien (UCLA)
hat sich zum Ziel gesetzt, Informationen über Protein-Protein Interaktionen in einer
leicht zugänglichen Datenbank zu speichern. Die Datenbank ist über ein Webinterface
erreichbar und die Daten können als PSI-MI-XML Dateien heruntergeladen werden.
DIP nutzt PostgreSQL, ein relationales und frei nutzbares Datenbankmanagmentsystem
(DBMS), um seine Daten zu speichern.
Nachteil dieser Datenbank ist allerdings, dass von 17173 gespeicherten Proteinen nur 898
humane Proteine sind. Dementsprechend finden von 44632 in der Datenbank enthaltenen
Interaktionen nur 1379 im Menschen statt (Stand Januar 2005).
Detalierte Informationen über die Datenbank finden sich bei Salwinski [25] und unter
http://dip.doe-mbi.ucla.edu.
MINT
MINT steht für Molecular INTeractions database. Die Daten werden ebenfalls von Hand
gepflegt und von Experten (20 Doktoranden, Stand 2002) aus der Literatur gewonnen.
Dabei benutzt das Team ein Tool mit dem Namen „MINT Assistent“. Das Tool ordnet
Abstracts nach der Anzahl von Wörter, die regelmäßig in Abstracts mit Interaktion
gefunden werden. Zur Identifikation der Proteinnamen wird eine Kombination von Wörterbüchern genutzt, die mehr als 200000 Proteinnamen beinhalten. Die bearbeiteten
Informationen über Protein und ihre Interaktionen wird dem Experten dann zur Entscheidung präsentiert. Auch diese Datenbank nutzt PostgreSQL als DBMS. Detailinformationen über den Aufbau der Datenbank und MINT Assistent finden sich im Artikel
von Zanzoni [51] und auf der Webseite der Datenbank http://160.80.34.4/mint
Laut Statistik hat MINT Daten über 18549 Proteine (3399 von Säugetieren) und Informationen über 43273 Interaktionen (4959 in Säugetieren). Stand der Statistik ist Februar
2005.
Auch hier ist ein Zugriff nur über eine Webinterface oder über MI-XML Dateien möglich.
HPRD
Eine Datenbank, die sich ganz auf Interaktionen im menschlichen Proteom spezialisiert
hat, ist die Human Protein Reference Database. Getragen wird HPRD vom Institute of
Bioinformatics in Bangalore, Indien.
Technisch basiert HPRD auf der objektorientierten Datenbank des Zope Web Application Server.
Die Entwickler lehnen jede Benutzung von automatisierten Systemen zu Unterstützung
der Datenextraktion aus der Literatur ab und pflegen die Daten in ihrer Datenbank
ausschließlich mit einem großen Team von Biologen.
1. Einleitung
16
Auch hier können die Informationen über ein Webinterface oder als MI-XML Dateien
bezogen werden.
Laut Statistik vom Februar 2005 enthält die Datenbank 11764 Proteine, 24012 ProteinProtein Interaktionen und 7120 Post Translational Modifications (PTM).
HPRD wird in zwei Artikeln von Peri [32, 33] beschrieben und findet sich unter http:
//www.hprd.org
IntAct
Das European Bioinformatics Institute (EBI) betreibt das IntAct Projekt, das eine frei
erhältliche Datenbank und Analyse-Tools für Protein Interaktionen zur Verfügung stellt.
IntAct ist Java basiert und unterstützt Datenbanken unter Oracle und PostgreSQL.
Dabei wird das objekt-relationale Mapping durch die ObJectRelationalBridge (OJB)
des Apache DB Projects übernommen.
IntAct stellt im Internet seine Daten über eine Weboberfläche zur Verfügung und die
Daten können auch als MI-XML Dateien erhalten werden. Laut Statistik von Februar
2005 sind 29915 Proteine und 48474 Interaktion in der IntAct Datenbank gespeichert.
Im Gegensatz zu den anderen Datenbanksystemen kann die IntAct-Software komplett
heruntergeladen und lokal installiert werden. Damit kann eine lokale IntAct-Version
benutzt und erweitert werden. Die komplette Software ist für Linux und den Apache
Webserver programmiert, läßt sich aber bei der Benutzung von Cygwin (Unix-Umgebung
unter Windows) auch unter Windows installieren.
Informationen zu IntAct finden sich unter http://www.ebi.ac.uk/intact/ und im Artikel von Hermjakob [17]
Übersicht
In der folgenden Tabelle sind die statistischen Zahlen der einzelnen Datenbanken noch
einmal zusammengefasst:
Interaktionen
Humane Interaktionen
PPIs (allg.)
PPIs (human)
Proteine
Proteine (human)
PTMs
BIND
DIP
63759
44632
1379
17173
898
MINT
43273
4256
HPRD
IntAct
48474
24012
18599
29915
11764
7120
Tabelle 1.2.: Übersicht: PPIs in Datenbanken
1.3. Stand der Technik
17
1.3.2. Visualisierungssysteme
Die Visualisierung von Protein-Protein Interaktionen ist eine wichtige Methode, um
PPIs zu analysieren. Größere Zusammenhänge lassen sich nur durch die Darstellung von
PPI-Netzwerken erkunden. Auf diese Weise gewinnt der Forscher einen Überblick über
das Zusammenspiel der verschiedenen Proteine. Daher wurden eine ganze Reihe von
Visualisierungtools entwickelt.
GraphViz
GraphViz ist eine freie Open Source Software zur Visualisierung von Graphen. PSI-XML
Dateien werden nicht verarbeitet, allerdings können diese von PIMWalker in einem geeigneten Format gespeichert werden. GraphViz kann als Bibliothek eingebunden und zur
Darstellung von Graphen benutzt werden.
Für C# gibt es Quickgraph, das die Boost Grap Library (BGL) von C++ nach C# portiert und in Kombination mit GraphViz die Erzeugung und Darstellung von Graphen
aus Programmen heraus möglich macht.
Damit eignet es sich je nach Anforderungen für die Entwicklung eines eigenen Visualisierungtools.
Bei Gansner [12] und auf der Webseite von GraphViz http://www.graphviz.org finden
sich weitere Information zu GraphViz. Halleux beschreibt in seinem Online-Artikel [13]
Quickgraph.
1. Einleitung
18
ProViz
ProViz ist eine Visualisierungssoftware, die am EBI entwickelt wurde und an die IntActDatenbank angepasst ist. Das Programm basiert auf dem Tulip-Framework in C++,
das die notwendigen Bibliotheken für die Darstellung von Graphen zur Verfügung stellt.
Die Software ist für eine Nutzung unter Linux entwickelt und stellt Dank der TulipBibliothek eine Vielzahl von Möglichkeiten zur Darstellung von Graphen zur Verfügung.
ProViz ist in der Lage PSI-MI-XML Dateien einzulesen und die dort beschriebenen
Interaktionen als Graph darzustellen. Ein Beispiel ist in Abbildung 1.4 zu sehen.
Vertiefende Informationen werden in einem Artikel [20] vorgestellt und finden sich ansonsten auf der ProViz-Webseite http://www.ebi.ac.uk/intact/doc/html/proviz/
proviz.html und auf der Webseite des Tulip-Frameworks unter http://www.tulip-software.
org/.
ProViz, D.Auber [20]
Abbildung 1.4.: Beispielhafte Darstellung eines PPI-Netzwerkes mit ProViz
1.3. Stand der Technik
19
PIMWalker
PIMWalker der Firma Hybrigenics ist ein Java basierender Viewer für Protein-ProteinInteraktions Netzwerke. Das Programm kann im Gegensatz zu ProViz ohne Probleme
unter Linux und Windows benutzt werden.
Auch PIMWalker kann PSI-MI Dateien einlesen und darstellen. In Abbildung 1.5 ist die
Darstellung einer PSI-MI-XML Datei durch PIMWalker zu sehen.
Eine Besonderheit stellt der Export in das Format des Graphenviewer von AT&T GraphViz dar.
Weitere Informationen und die Software finden sich auf der PIMWalker Webseite http:
//pim.hybrigenics.com/pimriderext/pimwalker/. Das Programm kann dort frei heruntergeladen werden.
Screenshot
Abbildung 1.5.: PIMWalker-Darstellung einer PSI-MI Datei exportiert von HPRD
1. Einleitung
20
Cytoscape
Cytoscape ist eine in Java programmierte Software Plattform zur Visualisierung von
molekularen Interaktionsnetzwerken und zur Verknüpfung der Elemente dieser Netzwerke mit Informationen über ihre Eigenschaften. Das Tool ist Open Source und kann
frei von der Webseite http://www.cytoscape.org heruntergeladen werden. Das Programm kann mit Plugins erweitert werden. Auf dieses Weise ist der Import/Export von
PSI-MI-XML Dateien realisiert.
Cytoscape erlaubt den direkten Zugriff auf Datenbanken und Tools im Internet, um mehr
Eigenschaften des ausgewählten Moleküls zu erhalten. Abbildung 1.6 zeigt das gleiche
Beispiel-Netzwerk, das auch schon für die Abbildung 1.5 des PIMWalker benutzt wurde.
Im Detail beschreiben die Entwickler Cytoscape in ihrem Artikel von 2003 [43]
Screenshot
Abbildung 1.6.: Cytoscape-Darstellung einer PSI-MI Datei exportiert von HPRD
1.3. Stand der Technik
21
1.3.3. Information Extraction
Aufgrund der Wichtigkeit von Informationen über Protein-Protein Interaktionen (PPI)sind
in den letzen Jahren eine ganze Reihe von Projekten zur Extraktion dieser Informationen
aus Abstracts gestartet worden. Die grundlegenden Philosophien der verschieden Ansätze reichen von vollautomatischen Extraktionssystemen [9] über Assistenzsysteme [19, 2]
bis zur völligen Ablehnung von automatisierter Informations Extraktion [32, 33].
Grundlegendes Problem aller Ansätze ist die Identifikation von Proteinnamen. Nur auf
Basis dieses Wissens kann versucht werden, Beziehungen zwischen den Proteinen zu
identifizieren und zu klassifizieren. Die Firma Ariadne Genomics [11] und Sven Mika
[30, 31] beschreiben in ihren Artikeln zwei verschiedene Ansätze zur Identifikation von
Proteinamen.
Ariadne Genomics verwendet bei ihrer Software ProtScan [11] ausschließlich Wörterbücher zur Identifikation von Proteinnamen im Text. Diese Wörterbücher enthalten 245248
Wörter und Ausdrücke, die 81915 Säugetier-Proteine beschreiben. Damit erreicht das
System einen Recall von 88 % und eine Precision von 98 %. ProtScan ist Bestandteil
eines größeren Softwarepakets und eigenständig nicht erhältlich.
Mika bezeichnet seine Software als NLProt und verwendet eine Kombination von vier
Support Vector Maschines (SVM), Regeln und Wörterbüchern zur Identifikation der
Proteinnamen. Dabei erreicht NLProt einen Recall von 75 % und eine Precision von 76
%.
Die beiden oben genannten Beispiele zeigen die drei Methoden (SVMs, Wörterbücher
und Regeln), die bei allen neueren Publikationen bzw. Lösungsansätzen zur Identifikation und Klassifizierung von Proteinnamen und PPIs genutzt werden. Dabei werden
SVMs, Wörterbücher und regelbasierte Methoden meistens kombiniert,um die besten
Ergebnisse zu erzielen.
PreBIND [19] ist ein Assistenzsystem, das die Suche nach PPIs in PubMed-Abstracts
unterstützt, um diese in der BIND Datenbank speichern zu können. Dabei nutzt PreBIND ein Tool namens textomy, das die Identifizierung und Klassifizierung übernimmt
und ebenfalls eine Kombination von SVMs und Wörterbüchern benutzt.
Textomy erreicht bei der Klassifizierung von Abstracts, die sich mit Hefe beschäftigen,
einen Recall von 84 % und eine Precision von 89 %. Die gefundenen PPIs werden in
der PreBIND Datenbank gespeichert, wo sie dann von einem Experten überprüft und
bearbeitet werden können. Ist die Überprüfung erfolgreich, wird die PPI in die BIND
Datenbank übernommen. PreBIND steht als Internetanwendung zur Verfügung, um Proteine für BIND vorschlagen zu können.
Alberts [2]hat ebenfalls einen Ansatz für ein Assistenzsystem vorgestellt, das die Identifikation aber ausschließlich mit Hilfe von Wörterbüchern durchführt. Das System wurde
1. Einleitung
22
PreBIND, Donaldson [19]
Abbildung 1.7.: Darstellung der Funktionsweise von PreBIND
für die Firma Lion Biosciences entwickelt, ist aber nicht erhältlich. Ein weiteres Assistenzsystem, das nur im Internet nutzbar ist, ist Chilibot (chip literature robot)[6]. Auch
hier werden Wörterbücher und Regelsätze zur Identifikation genutzt.
Die Software MedScan der Firma Ariadne Genomics versucht die Extraktion vollautomatisch zu bewältigen. Um die Texte einzuordnen interpretiert MedScan semantische Strukturen und benutzt selbst erzeugte Wörterbücher. Die Wörterbücher enthalten
68000 Protein Namen mit 15000 Namen von humanen Proteinen. Die Software erreicht
einen Recall von 21 % und eine Precision von 91 %.
Weitere Ansätze, Proteinnamen mit Hife von SVMs zu klassifizieren finden sich bei Plake
[34, 35], Bickel [5] und bei Schmeier [40].
Einen allgemeinen Überlick über die Thematik findet sich bei Shatkay [44].
Um Daten über PPIs austauschen zu können wurde ein XML-Datenaustauschformat
definiert [16]. Dieses wird von allen Datenbanken genutzt, die PPIs speichern.
1.4. Zielsetzung/Motivation
23
1.4. Zielsetzung/Motivation
Die Literaturrecherche hat gezeigt, dass für die Extraktion, Beurteilung, Speicherung
und Visualisierung von Protein-Protein Interaktionen zwar jeweils einzelne Programme
zur Verfügung stehen, aber kein System alles für eine lokale Installation miteinander
vereint.
Die zur Verfügung stehenden Datenbanken sind wichtige Hilfsmittel und zentrale Anlaufstellen, um nach PPIs zu suchen. Diese Datenbanken erlauben dem Benutzer aber kaum
Einflußmöglichkeiten auf ihren Inhalt und präsentieren nur Ausschnitte aus dem Wissen,
das in Publikationen vorliegt. Aufgrund der aufwendigen Pflege dieser Datenbanken sind
die Daten auch nicht auf dem aktuellsten Stand der Forschung. Für Forschungsgebiete,
in denen wöchentlich neue Arbeiten erscheinen, ist dies von entscheidender Bedeutung.
Die meisten Systeme sind entweder nur über das Internet in Verbindung mit einer etablierten Datenbank nutzbar (siehe PreBIND [19]) oder noch in einem akademisch experimentellen Stadium (siehe Plake [34]) oder sind nicht erhältlich (siehe ProtScan [11]
oder Alberts [2]). Es fehlt ein System, das eine lokale Suche, Speicherung und Visualisierung von PPIs und den Import/Export von PPI-Daten im standardisierten XMLAustauschformat ermöglicht.
Daher beschäftigt sich diese Diplomarbeit mit der Erforschung der Konzepte und Methoden für die Entwicklung eines Assistenzsystems, das die oben genannte Lücke füllt.
Dabei soll als Basis des Systems eine flexible und erweiterbare Datenbank entworfen und
implementiert werden. Weiterhin soll eine Konzeption für die weitere Entwicklung des
Assistenzsystem erstellt werden.
2. Methoden
2.1. NLProt
NLProt ist eine Software, die Proteinnamen in Abstracts identifiziert und annotiert. Die
Ausgabe der getaggten Ergebnisse kann als Text, HTML und XML erfolgen. Die Software
arbeitet mit einer Kombination von vier Support Vector Maschines, die unterschiedlich
trainiert sind, kombiniert mit einem Wörterbuch. Abbildung 2.1 zeigt eine Übersicht
über die Funktionsweise des Programms. Das Programm kann auf der Kommandozeile
aufgerufen werden, wobei es die Angabe eines Dateinamens als Argument akzeptiert. In
der Datei sollte jeder Abstract numeriert in einer Zeile stehen. Die Anzahl der Abstract
pro Datei ist dabei beliebig. Weitere Information finden sich bei Mika [30, 31]
Sven Mika [31]
Abbildung 2.1.: Überblick über die Funktionsweise von NLProt
26
2. Methoden
2.2. Entrez Utilities Web Service
Das NCBI stellt mit den Entrez Programming Utilities Werkzeuge zum automatisierten
Zugriff auf die Datenbanken des NCBI zur Verfügung. Neben der Nutzung über eine
festgelegte URL-Syntax, gibt es auch einen Webservice, der den Zugriff ermöglicht.
Abbildung 2.2 zeit eine Abfrage der Gene-Datenbank des NCBI mit dem Entrez-Werkzeug
ESummary über einen Webbrowser. Im Adressfeld des Browsers ist die Entrez-URLSyntax zu sehen (1). Dabei wird die Datenbank Gene mit der ID 1072 abgefragt und das
Ergebnis wird als XML zurückgegeben (mode=XML). Darunter ist die Ausgabe des Ergebnisses im Browser zu sehen (2) und in einem eigenen Fenster ist der XML- Quelltext
zusehen (3). Der Webservice stellt diese Dienste als Methoden zur Verfügung.
Screenshot
Abbildung 2.2.: Abfrage der Datenbank Gene am NCBI mit Hilfe von ESummary mit
einem Webbrowser und mit definierter URL-Syntax (1)
2.3. C# und .NET
27
Entrez stellt sieben Programme zur Abfrage von Daten zur Verfügung. Die drei wichtigsten seien hier kurz vorgestellt:
ESearch Sucht in der angegebenen Datenbank nach primären IDs, die Datenbankeinträge mit dem Suchbegriff kennzeichnen
ESummary Holt für eine Liste von IDs Zusammenfassungen der dazugehörigen Datenbankeinträge mit den wichtigsten Informationen
EFetch Holt für eine Liste von IDs die kompletten Einträge von der angegebenen Datenbank
Zugriff auf Entrez und eine ausführliche Beschreibung der Nutzung ist über die Webadresse http://eutils.ncbi.nlm.nih.gov/ möglich.
Für den automatisierten Zugriff über Entrez gelten folgende Regeln:
• Größere Datenmengen sollten nur zwischen 21 Uhr abends und 5 Uhr morgens
Eastern Standard Time (EST) oder am Wochenende erfolgen
• Es sollten nicht mehr als 3 Abfragen pro Sekunde erfolgen
• Es sollte eine email-Adresse angegeben werden, um eine Kontaktaufnahme bei
Problemen zu ermöglichen
2.3. C# und .NET
Eine umfangreiche Programmierumgebung stellt .NET zur Verfügung, die ein Framework von Klassenbibliotheken und Diensten für die Entwicklung von Software unter
Microsoft Windows zur Verfügung stellt. Eine virtuelle Maschine (Common Language
Runtime, CLR) führt dabei einen standardisierten Zwischencode (Common Intermediate
Language, CIL) aus. Dieser Zwischencode kann für alle an .NET angepasste Programmiersprachen erzeugt werden. Die Möglichkeit der Nutzung mehrerer Programmiersprachen unterscheidet .NET von Java und dessen Virtual Maschine.
Beispiele für Komponenten von .NET sind ADO.NET (Active Data Objects), eine Klassenbibliothek für die Benutzung von Datenbanken, und ASP.NET (Active Server Pages)
zum Entwickeln von Webapplikationen. Eine Übersicht über die .NET Umgebung findet
sich bei Westphal [48].
C# ist eine objektorientierte Programmiersprache, die von der Firma Microsoft speziell
für ihre .NET-Laufzeitumgebung entwickelt wurde. Bei der Entwicklung von C# wurde
auf Konzepte der Programmiersprachen Java, C++, Delphi und Visual Basic zurückgegriffen.
28
2. Methoden
Detaillierte Beschreibungen dieser Programmiersprache und ihrer Benutzung finden sich
in einer Reihe von Büchern [37].
2.4. SQL-Server 2000
Der Microsoft SQL-Server ist ein Relationales Datenbank Management System (RDBMS).
Es unterstüzt eine eigene Variante der Structured Query Language (SQL) namens TransactSQL (T-SQL) und fortgeschrittene Techniken wie z.B. Stored Procedures, Trigger, Indices, etc...
Über den Zusatz SQLXML soll eine direkte Unterstüztung des Zusammenspiels zwischen
dem SQL-Server und XML erreicht werden.
2.5. Visio for enterprise architects - VEA
VEA ist ein Programm der Firma Microsoft zur Erzeugung und Darstellung von Diagrammen aller Art. VEA kann für die graphische Entwicklung eines Datenbankschemas
eingesetzt werden und hat die Fähigkeit dieses Schema in ein physikalisches Datenbankschema für ein Datenbankmanagmentsystems (DBMS) wie den SQL-Server umzuwandeln. Umgekehrt kann VEA Reverse Engineering betreiben und ein physikalisches
Datenbankschema, das in einem DBMS implementiert ist, wieder als grahpisches Datenbankschema darstellen. Eine Dokumentation wie Visio für die Datenbankmodellierung
genutzt werden kann, findet sich bei Terry Halpin [14]
2.6. SQLXML
Das SQLXML-Packet versetzt den SQL-Server in die Lage XML zu unterstützen. Detaillierte Informationen finden sich in der entsprechende Dokumentation des SQL-Servers
und bei Schnittko [41]. Bestandteile von SQLXML sind unter anderem:
OPENXML
Mit einer gespeicherten Prozedur namens sp_mxl_preparedocument wird das XMLDokument geparst, in den Arbeitsspeicher geladen und in eine internes Format umgewandelt. Über den Ausdruck OPENXML kann dann eine relationale Sicht des Dokumentes mit T-SQL abgefragt werden. Das XML-Dokument muß als String übergeben
werden, der nicht mehr als 8000 Zeichen haben darf. Ein direktes Einlesen von Dateien
ist nicht möglich.
2.7. XML - EXtensible Markup Language
29
Updategrams
Ein Updategram ist ein XML-Dokument, das die Änderungen beschreibt, die durch eine
Abfrage des SQL-Servers vorgenommen werden, indem die zu ändernden Objekte und
ihr Status nach der Modifikation definiert werden. Diese Vorlage wird durch SQLXML
in entsprechende SQL-Kommandos umgewandelt. Das ermöglicht die Abstraktion des
Datenbankzugriff und die ausschließliche Benutzung von XML-Syntax.
2.7. XML - EXtensible Markup Language
XML ist ein Standard zur Definition beliebiger strukturell verwandter Auszeichnungssprachen zur Erstellung von hierarchisch strukturierter Dateien, die sowohl vom Menschen als auch von Maschinen lesbar sind. Dadurch bietet sich XML zur Definition von
Austauschformaten zwischen Programmen und Datenbanken an.
Dabei werden Elemente hierarchisch in einem Baum unter einem Wurzelelement (Root)
angeordnet. Die Elemente werden durch einen Start-Tag (<Tag-Name>) und einen EndTag (</Tag-Name>) gekennzeichnet. Weiterhin können Attribute den Elementen als
Schlüsselwort-Werte-Paar (Attribut-Name="Attribut-Wert") mitgegeben werden. Erfüllt ein Dokument die Anforderung der XML-Spezifikation, wird es als wohlgeformt
bezeichnet. Dazu gehört z.B., dass verbindlich ein Start- und ein Stop-Tag für jedes
Element vorhanden sein muß.
Beispiel für eine XML-Datei:
<?xml version="1.0"?>
<regal>
<buch id=123456>
<title>XML Professionell</title>
<author>Didier Martin</author>
<verlag>Wrox</verlag>
</buch>
</regal>
Eine ausführliche Behandlung findet sich bei Didier [28] und Dalvi [8]. Im Zusammenhang mit XML stehen einige andere Technologien, die kurz vorgestellt werden:
XML-Schema
XML-Schemata beschreiben die Struktur von XML-Dokumenten. In einer XML Schema Definition (XSD) wird die Struktur definiert, indem bestimmt wird, welche Elemente und Attribute vorhanden sein dürfen, in welcher Beziehung sie zueinander stehen
30
2. Methoden
und welchen Typ von Daten sie enthalten dürfen. Weitere Einschränkungen wie z.B.
Wertebereiche sind möglich. XML-Schemata nutzen die XML-Syntax und können so
mit XML-Tools bearbeitet werden.
Ein gültiges oder valides XML-Dokument hält das Format eines im zugeordneten XMLSchemas ein.
Simple API for XML - SAX
SAX ist eine standardisierte Möglichkeit, ein XML-Dokument sequentiell durch einen
Parser bearbeiten zu lassen, indem der Parser einen Datei-Strom einliest. Dabei kann
aber nur auf das gerade vom Datei-Strom gelieferte Element zugegriffen werden und nicht
auf beliebige Elemente im Dokument. Dafür muß das Dokument auch nicht komplett in
den Speicher geladen werden.
Document Object Model - DOM
DOM stellt ein standardisiertes Objektmodell eines XML-Dokumentes zur Verfügung,
mit dessen Hilfe das Dokument ausgewertet und manipuliert werden kann. Dazu wird
das ganze Dokument von einem DOM-Parser in den Speicher gelesen. Die Elemente
stehen in einer hierarchischen, baumartigen Struktur zueinander in Beziehung und es
kann beliebig auf sie zugegriffen werden.
XPath
XPath ist ein Sprache zur Adressierung von Teilen eines XML-Dokuments und behandelt
ein XML-Dokument als einen Baum von Knoten. Die Syntax von XPath ähnelt der
Notation von Pfadangaben in URLs oder im Dateisystem.
Webservice
Ein Webservice ist eine Sammlung von Protokollen und Standards, die für den Austausch
von Daten zwischen Applikationen genutzt werden. Die genutzten Protokolle SOAP
und XML-RPC nutzen XML zur Codierung der Daten und Funktionsaufrufen und
Standardtransportprotokolle wie HTTP für den Transport.
Die XML-basierende Web Services Description Language (WSDL) beschreibt die
angebotene Funktionalität eines Webservices.
2.8. PSI-XML
Die Proteomics Standards Initiative (PSI) der Human Proteome Organisation (HUPO)
hat das molecular interaction (PSI-MI)-Datenaustauschformat definiert. Damit soll ein
2.8. PSI-XML
31
standardisierter Austausch von Interaktionsdaten zwischen entsprechenden Datenbanken ermöglicht werden. In einem ersten Schritt wurde das Format für Protein-ProteinInteraktionen entwickelt. In Zukunft soll das Format in weiteren Schritten erweitert
werden, so dass auch Interaktionen mit und zwischen anderen Molekülen (DNA, RNA,
etc...) mit diesem Dateiformat erfasst werden können.
Das Root-Element einer PSI-MI XML-Datei ist das Element entrySet. Dieses Element
kann ein oder mehrere entry-Elemente enthalten, die eine oder mehrere Interaktionen
beschreiben. Eine schematische Darstellung des entry-Elements findet sich in Abbildung
2.3. Unter dem entry-Element finden sich das Element interactorList, in das eine Liste
von proteinInteractor -Elementen eingebettet ist. Unter dem entry-Element befindet sich
das interactionList-Element, in der die Interaktionen aufgelistet werden, die die Proteine
in der interactorList eingehen.
PSI, Hermjakob [16]
Abbildung 2.3.: Darstellung des MI entry-Elements
3. Durchführung und Ergebnisse
3.1. Vorbereitung
Nach einer ersten Literaturrecherche wurde ein Biologe interviewt, um einen Überblick über die Anforderungen zu bekommen, die an ein Assistensystem zur Extraktion
von PPIs aus Abstracts gestellt würden. Daraus ergab sich eine Liste von Anforderungen/Wünschen für die Funktionalität des Systems:
1. Das Programm soll die Eingabe von Proteinnamen, nach denen gesucht werden
soll, ermöglichen. Dabei soll ein Proteinname oder eine Liste von Proteinnamen
eingegeben werden können, die allerdings einzeln bearbeitet werden.
2. Die Suche soll automatisch durch bekannte Synonyme ergänzt werden. Als Quelle
kommen externe Verzeichnisse oder selbst angelegte Listen in Frage.
3. Die Synonyme sollten dem Benutzer präsentiert werden, so daß eine Auswahl getroffen werden kann bzw. die Liste erweitert werden kann. Falls möglich sollten die
Synonyme nach bekannten Vorkommen sortiert werden. (Gezielter Ausschluss von
Bezeichnern nach Organismus oder Gewebetyp?)
4. Mit den gewählten Bezeichnern soll eine lokale Kopie der PubMed-Abstracts abgefragt werden und zusätzlich die Online-PubMed-Datenbank. Neuere Abstracts
sollen heruntergeladen werden und den lokal gefunden Abstracts hinzugefügt werden.
5. Bei der ersten Suche soll der Benutzer auf eine längere Wartezeit vorbereitet werden. Benachrichtigung soll z.B. per mail erfolgen.
6. Für die Identifikation von Interaktionen soll der Benutzer die Möglichkeit bekommen die Suche einzuschränken, indem er Verben auswählt, die die Interaktion
beschreiben. Auch hier soll wieder eine Auswahl aus einem entsprechenden Wörterbuch oder direkte Eingabe möglich sein.
7. Es sollte Zugriff auf externe Wörterbücher und selbst definierte Wörterbücher möglich sein.
8. Die Abstracts sollen durch eine Prozesskette geführt werden, in der Prozesse hinzugefügt oder entfernt werden können.
34
3. Durchführung und Ergebnisse
9. Beim Prozess sollen alle Proteinbezeichner und Interaktionsverben im Text identifiziert werden.
10. Methoden zum Untersuchen der Abstracts sollen eine Bewertung der Abstracts
bezüglich der Wahrscheinlichkeit, das eine Interaktion vorliegt, ermöglichen (Scoring).
11. Die Abstracts mit dem höchsten Scoring sollten dem Benutzer angezeigt werden.
12. Abstracts unter einem Schwellwert beim Scoring sollten nur auf Anforderung des
Nutzers angezeigt werden.
13. Das Vorkommen von Proteinnamen und Interaktionsverben sollte im Text der
Abstracts hervorgehoben werden.
14. Der Benutzer soll manuell an einer Interaktion beteiligte Proteine und die Art der
Interaktion identifizieren, d.h. die im Text markierten Bezeichner anklicken.
15. Identifizierte Interaktionen sollen in eine Datenbank aufgenommen werden.
16. Die Interaktionsdaten sollen als Graph visualisiert werden. Der Graph soll skalierbar sein und folgende Daten beinhalten:
• Voller Name beim Überstreichen mit der Maus
• In der Datenbank vorhandene Daten als Datenfeld
• Durch Anklicken sollte ein Querverweis auf weitere Graphen möglich sein
17. Die gespeicherten Daten sollten als PSI-XML importierbar und exportierbar sein.
18. Die einzelnen Komponenten sollte definierte Schnittstellen besitzen und über WebServices (SOAP) ansprechbar sein. (Framework)
19. Eine Benutzerverwaltung sollte vorhanden sein.
Ein Umsetzung aller Anforderung erschien aufgrund der vorgegebenen Zeit unrealistisch,
daher wurde der Schwerpunkt auf das Design und die Implementierung einer Datenbank
gelegt, in der die Daten über Protein-Protein-Wechselwirkungen gespeichert werden können. Zusätzlich sollte ein Prototyp konzeptioniert und nach Möglichkeit auch implementiert werden, der die Kernfunktionen zur Verfügung stellt. Da sich der biologische Teil des
Projekts mit humanen Protein-Protein-Wechselwirkungen beschäftigt, sollten die Daten
der Human Proteome Database (HPRD) als Datenbasis in die Datenbank importiert
werden.
Die Daten der großen öffentlichen Datenbanken können als XML-Dateien nach dem PSIMI Standard von den jeweiligen Websites heruntergeladen werden. Dabei erhält man
entweder einzelne Dateien, von denen jede ein Entry-Element enthält (siehe Abbildung
3.1. Vorbereitung
35
2.3) oder ein einzelne große XML-Datei, bei der alle entry-Elemente in einem entrySet
vorliegen.
HPRD exportiert eine Sammlung von Dateien, wobei in jeder Datei/entry die Interaktionen eines Proteins mit mehreren anderen Proteinen beschrieben ist. Werden die
Interaktionen, wie gewünscht, als Netzwerk dargestellt, liefert ein Entry einen Knoten
des Netzwerk mit den direkt angrenzenden Knoten. Weitere Verzweigungen und Verbindungen zu weiteren Knoten erhält man erst, wenn die Daten über weitere Interaktionspartner der angrenzenden Knoten verfügbar sind. Diese Informationen müssen entweder
über alle einzelnen Dateien oder in einer großen Textdatei gesucht werden.
Datenbankmanagmentsysteme (DBMS) eignen sich für diese Art von Anwendung deutlich besser. Folgende Gründe sprechen für die Benutzung eines DBMS:
• Es wird eine hohe Zahl von Daten erwartet. HPRD liefert Daten für mehr als 20000
humane PPIs und die Aufnahme der PPIs anderer Organismen erhöht diese Zahl
noch einmal deutlich. Siehe Tabelle 1.2.
DBMS sind für die effektive Verwaltung großer Datenmenge ausgelegt.
• Bessere Abfrageperformance im Vergleich zur Abfrage von Textdateien.
• Zentraler Speicherungsort, der auch von mehreren Benutzern gleichzeitig genutzt
werden kann.
• Aufgrund der aktiven Forschung im Bereich der PPIs und der Tatsache, dass Methoden zur Erforschung von PPIs in erster Linie Kandidaten für eine Interaktion
liefern (z.B. die Yeast-2-Hybrid-Methode, siehe Einführung), kommt es zu Veränderungen der Daten über die Interaktionen und der Informationen über die
teilnehmenden Proteine. Dabei läßt sich die Konsistenz und Integrität der Daten
besser in einem DBMS als in Textdateien gewährleisten, da diese Funktionalität
zu einem gewissen Grade in diesen Systemen schon integriert ist.
• Die Abfrage von PPI-Informationen für die Darstellung großer Netzwerke, bei denen nicht nur die direkten Nachbarn dargestellt werden sollen, fällt leichter.
Die technische Ausstattung vor Ort gab die Nutzung bestimmter Technologien vor.
So sollte die Softwareentwicklung in der Programmiersprache C# und dem .NETFramework von Microsoft erfolgen. Dazu stand das Visual Studio .NET 2003 als integrierte Entwicklungsumgebung zur Verfügung. Als relationales DBMS stand der SQLServer von Microsoft zur Verfügung.
36
3. Durchführung und Ergebnisse
3.2. Entwicklung der Datenbank
3.2.1. Vorarbeiten
Das European Bioinformatics Institute (EBI) stellt mit IntAct eine freie OpenSource
Datenbank zum Speichern von Informationen über Protein Interaktionen zur Verfügung.
Zusätzlich bietet das Projekt auch weitere Werkzeuge an, z.B. ProViz zur Visualisierung
von Interaktionen.
Da IntAct eine komplette Umgebung zur Speicherung und Visualisierung anbietet, wurde
in Betracht gezogen, die Software als Grundlage für die eigene Entwicklung zu nutzen
oder zumindestens Anregungen für diese zu erhalten.
IntAct
IntAct ist für die Benutzung unter Linux entwickelt worden. Die zentralen Applikationen
sind zwar in Java geschrieben, es gibt allerdings Bestandteile, wie z.B. das Visualierungstool ProViz, die Linux spezifische Bibliotheken nutzen. Die freie Datenbank PostgreSQL,
als Alternative zum kommerziellen Oracle, existierte zum Zeitpunkt der Evaluation von
IntAct (November 2004) noch nicht als Variante für Windows. Daher ist eine Installation
unter Windows nur mit Hilfe von cygwin möglich, einer Linuxumgebung für Windows.
IntAct wurde versuchsweise mit Hilfe von cygwin unter Windows installiert. Die Installation erwies sich als aufwendig, da sich das gesamte System als anspruchsvoll in Bezug
auf die benötigten Programmen und zu installierenden Bibliotheken erwies. Trotz aller
Bemühungen war die Visualisierungsumgebung aufgrund von Darstellungproblemen nur
eingeschränkt lauffähig.
Aufgrund der Einschränkungen unter Windows und der Tatsache, das IntAct in Java
und nicht in C# geschrieben wurde, wurde von eine Nutzung des Systems Abstand
genommen.
Eine Nutzung der Datenbankstruktur von IntAct schien einer Eigenentwicklung vorzuziehen zu sein. Es existieren Scripte, um die Datenbank unter Oracle und PostgreSQL
aufzusetzen, aber keins für den SQL-Server. Der SQL-Server stand vor Ort zur Verfügung, daher sollte er für die Implementierung einer Datenbank genutzt werden. Eines der
SQL-Scripte wurde für den SQL-Server angepasst und die Datenbank für Experimente
implementiert.
Ein Hindernis war die kaum vorhandene und unstrukturierte Dokumentation von IntAct, insbesondere der Datenbankstruktur. Zum Teil entsprach sie nicht dem aktuellen
Quellcode des Programms und der SQL-Scripte, was ein Verständnis der Entitäten und
ihrer Attribute erschwerte.
3.2. Entwicklung der Datenbank
37
Es gelang Mapping-Tools (z.B. Mapforce der Firma Altova), die eine Zuordnung von
Entities und Attributen eines relationalen Datenbankschemas auf die Elemente eines
hierarchischen XML-Schemas ermöglichen sollen, nicht die Datenbankstruktur vom SQLServer auszulesen.
Das ist wahrscheinlich auf Rekursionen innerhalb der Datenbankstruktur zurückzuführen, die Mapforce in eine Endlosschleife führten und den Speicherbedarf des Programms
auf bis zu 2 GB steigerten bevor das Betriebssytem abstürzte.
Das unvollständige Verständnis des IntAct-Datenbankschemas aufgrund der eingeschränkten Dokumentation, die Mapping-Probleme und der Eindruck, dass das Datenbankschema nicht alle gestellten Anforderungen erfüllen würde, führte zu Entwicklung eines eigenen Datenbankschemas.
Bestimmung der Anforderungen an die Datenbank
Um die Anforderungen an die Datenbank festzulegen, wurde ein Biologe vor Ort befragt,
der intensiv Literaturrecherchen nach PPIs in PubMed betreibt. Grundsätzliche Anforderungen ergaben sich aus dem PSI-XML Format, das als Austauschformat zwischen
PPI-Datenbanken definiert wurde und als kleinster gemeinsamer Nenner zu betrachten
ist. In einem iterativen Prozess wurden die Spezifikationen durch eigene Recherchen und
intensive Diskussionen mit Biologen ergänzt.
Die Spezifikationen wurden in einer Dokumentation schriftlich festgehalten und finden
sich in Anhang A.
Die Dokumentation wurde im Docbook-XML-Format erstellt, das für das Verfassen von
technischer Dokumentation gedacht ist und leicht in verschiedene Ausgabeformate wie
HTML, PDF oder Latex umgewandelt werden kann.
3.2.2. ER-Modell
Aus den Anforderungen wurde Entities und Relationen für ein ER-Modell entwickelt.
Dabei ergaben sich aus den Spezifikationen M:N-Beziehungen, die über Zwischentabellen
aufgelöst wurden. Diese Tabellen wurden jeweils mit der Endbezeichnung List versehen.
Das Modell wurde normalisiert und ergab das nachfolgende Diagramm des ER-Modell.
Die einzelnen Entitäten werden im nächsten Abschnitt zusammen mit ihren Attributen
beschrieben.
38
3. Durchführung und Ergebnisse
Abbildung 3.1.: ER-Diagramm der PPIFinder Datenbank
3.2. Entwicklung der Datenbank
39
3.2.3. Implementierung
Den Entities wurden Eigenschaften (Attribute) zugeordnet und der jeweilige geeignete
Datentyp für diese Attribute bestimmt. Als Primärschlüssel wurden vom DBMS vergebene, eindeutige numerische IDs gewählt. In Zwischentabellen wurden zusammengesetzte
Primärschlüssel gewählt, die sich aus den beiden IDs der beiden referenzierten Tabellen
zusammensetzen. Auch diese wurden in der Dokumentation erfasst.
Mit dem Programm Visio der Firma Microsoft wurde das Datenmodell für die Implementierung der Datenbank im SQL-Server grafisch entwickelt. Das dazugehörige Diagramm
wird in Abbildung 3.7 gezeigt und findet sich vergrößert in Anhang A7. Visio stellt die
Möglichkeit zur Verfügung ein grafische Modell direkt in den SQL-Server zu exportieren. Diese Möglichkeit wurde genutzt, um die Datenbank zu implementieren. Das Modell
kann auf diese Weise auch weiterhin in Visio gepflegt werden.
Im Datenbankdiagramm 3.7 wurden die Tabellen in fünf Gruppen aufgeteilt (A-E).
Gruppierung A umfasst Tabellen, die Interaktionspartner und ihre Eigenschaften beschreiben. Abbildung 3.2 zeigt die Gruppierung im Detail.
Die Tabelle Interactor verwaltet Interaktionspartner. Diese werden durch einen Kurzbe-
Abbildung 3.2.: Gruppe A im implementierten Datenbankschema
zeichner (ShortLabel ), durch einen Namen (Fullname) und durch einen Beschreibungstext (Description) gekennzeichnet. Zusätzlich werden in einer eigenen Tabelle Synonyme
40
3. Durchführung und Ergebnisse
(Synonym) für den jeweiligen Interactor gespeichert. Mit diesen Spalten können allgemein Interaktionspartner beschrieben werden. Für Proteine, DNA und RNA wird in der
Interactor -Tabelle die Sequenz (Sequence) gespeichert. Die genomische Position wird
in einer eigenen Tabelle gespeichert (GenomicPosition), genauso wie die Informationen
über den Herkunftsorganismus (BioSource).
Die Tabellen InteractorXRefList und GenPosXRefList verknüpfen die dazugehörigen
Tabellen Interactor und GenomicPosisiton mit der Tabelle XRef, die Datenbankverweise verwaltet. Entsprechend verbinden InteractorBRefList und InteractorXRefList die
Tabellen Interactor und GenomicPosition mit der Tabelle BibRef, mit deren Hilfe bibliographische Information zu den Interaktoren gespeichert werden können.
Diese Art der Speicherung erlaubt sowohl die Abfrage aller Artikel, in denen ein Interaktor vorkommt, als auch die Suche nach allen Interaktoren, die in einer Publikation
vorhanden sind.
Gruppe B umfasst die Tabelle für die Interaktionen (Interaction), eine Tabelle zur Verknüpfung mit der Interactor -Tabelle und zwei Tabellen, die die Interactions-Tabelle
mit den Tabellen für Datenbank- und Literaturverweise verbinden. Abbildung 3.3 zeigt
Gruppe B als Ausschnitt aus dem Datenbankschema. Eine Interaktion wird genau wie ein
Abbildung 3.3.: Gruppe B im implementierten Datenbankschema
Interactor mit einem Kurzbezeichner (ShortLabel ), durch einen Namen (Fullname) und
durch einen Beschreibungstext (Description) gekennzeichnet. Informationen über das
biologische System, in dem sich die Reaktion abspielt, werden durch eine Verknüpfung
mit der BioSource-Tabelle charakterisiert. Zusätzlich wird eine Verbindung zur InteractionType-Tabelle hergestellt, so dass die Interaktion auch klassifiziert werden kann.
Die Beschreibung der Experimente, mit der die Interaktionen identifiziert werden, findet sich in der Tabelle Experiment. Mit dieser Tabelle findet eine Verknüpfung über die
Zwischentabelle ExperimentList statt, da eine Interaktion durch mehrere verschiedene
Experimente charakterisiert werden kann und in einem Experiment mehrere Interaktionen gefunden werden können.
Block C setzt sich aus den fünf Tabellen BioSource, Organism, Tissue, CellType und
3.2. Entwicklung der Datenbank
41
Compartment zusammen. Diese beschreiben zusammen die biologischen Systeme bis auf
die Ebene von Zellbestandteilen herunter, in denen die Interaktionen stattfinden. Wobei
die Tabelle BioSource mit den anderen vier Tabellen verbunden ist, um so flexibel ein
biologisches System beschreiben zu können.
Alle fünf können über die entsprechende XRefList- bzw. BRefList- mit Datenbank- und
Literaturverweisen verknüpft werden. Folgende Abbildung zeigt die Gruppe C:
Abbildung 3.4.: Gruppe C im implementierten Datenbankschema
42
3. Durchführung und Ergebnisse
Die Beschreibung von Experimenten, bei denen Interaktionen untersucht werden, sollen sich in der Tabelle Experimente wiederfinden. Auch die Experimente werden durch
ShortLabel, FullName und Description beschrieben und über entsprechende XRefListund BibRefList-Tabellen mit den Tabellen XRef und BibRef verbunden, wie in Abbildung 3.5
Abbildung 3.5.: Gruppe D im implementierten Datenbankschema
Die Tabelle InteractionType beschreibt die Art der ablaufenden Interaktion. Abbildung
3.6 zeigt die Tabelle und die zugehörigen XRef- bzw. BRefTabellen. DieXRef -Tabelle
Abbildung 3.6.: Gruppe E im implementierten Datenbankschema
verwaltet Datenbank-IDs und ist verknüpft mit der Tabelle DataSource, damit die IDs
einer Datenbank zugeordnet werden können. Die Tabelle DataSource ist aber so allgemein gehalten, dass nicht nur Datenbanken als Informationsquellen gespeichert werden
3.2. Entwicklung der Datenbank
43
können. Eine Datenquelle wird in der Tabelle durch ein ShortLabel, den FullName, eine
Beschreibung (Description) und durch eine URL gekennzeichnet.
Die Tabelle BibRef verwaltet bibliographische Daten für alles, das sich nicht in einer
Datenbank findet (z.B Handbücher, nicht veröffentliche Abhandlungen, hausinterne Publikationen).
Für die Experimente, den Interaktionstyp und für die Bestandteile der biologischen Quelle ist vorgesehen, nur genau definierte Begriffe zu speichern und so ein kontrolliertes
Vokabular zu schaffen, dass die Kommunikation und die Reproduzierbarkeit von Experimenten verbessert, die auf den in der Literatur gefundenen Informationen basieren.
44
3. Durchführung und Ergebnisse
Abbildung 3.7.: Datenbankschema der im SQL-Server realisierten Datenbank
3.2. Entwicklung der Datenbank
45
3.2.4. Import von PPIs aus externen Datenbanken
Überblick
Das XML-Austauschformat, das von der PSI der HUPO definiert wurde, wird von den
meisten Datenbanken, die Daten über Proteininteraktionen beinhalten, unterstützt. Dazu zählen HPRD, BIND, DIP und andere. Weitere Informationen zu den einzelnen Datenbanken und zur PSI finden sich unter [1, 16, 32, 33].
Es zeigte sich während der Nutzung allerdings schnell, dass der Standard unterschiedlich
interpretiert wird. HPRD füllt den Knoten shortLabel für die Protein-Interaktoren mit
seiner eigenen Datenbank-ID und den Knoten fullName mit einem Synonym für den
Proteinnamen.
BIND dagegen benutzt einen der Namen des Proteins und speichert ihn unter shortLabel
während sich unter fullName eine List der Synonyme findet.
Außerdem enthält das PSI-XML-Format keine Elemente für einige gewünschte Informationen, wie z.B. ein eigenes Element für Synonyme des jeweiligen Proteinnamens und
auch keine Information über die Position des zum Protein gehörigen Gens auf dem Chromosom.
Um nicht die Import-Routinen ständig anpassen zu müssen, wurde das Schema des PSIXML-Formats um folgende Punkte erweitert:
• Für Synonyme wurde unter dem Knoten names des proteinInteractor -Knoten ein
Knoten synonms, der eine Liste von Synonymen beinhaltet, eingerichtet.
• Unter dem proteinInteractor -Knoten wird noch ein Knoten namens genomicPosition eingeführt.
• Als shortLabel wird der Genname mit evtl. einer Numerierung für die entstandene
Isoform des Proteins verwendet, da dies die einzige Systematik ist, die bei der
Bezeichnung von Proteinen vorhanden ist.
Abbildung 3.8 zeigt die Erweiterungen in einem Ausschnitt aus dem erweiterten XMLSchema.
Zu exportierende XML-Dateien müssen in dieses erweiterte XML-Format umgewandelt
werden und können dann importiert werden. Dadurch bleiben die nötigen Änderungen auf der Ebene der XML-Dokumente und können mit den Werkzeugen zur XMLBearbeitung behandelt werden und müssen nicht in der Import-Routine vorgenommen
werden.
46
3. Durchführung und Ergebnisse
Abbildung 3.8.: Ausschnitt aus dem erweiterten XML-Schema, das die vorgenommenen
Erweiterungen zeigt
Aufbereitung der HPRD-Daten
Als Referenzdatensatz und Grundstein sollen die manuell aus Fachartikeln extrahierten
Daten der Datenbank HPRD benutzt werden. HPRD stellt seine Daten als PSI-XMLDateien zur Verfügung. Diese können nach einer Registrierung von der HPRD-Webseite
heruntergeladen werden.
Um PSI-XML Dokumente in XML-Dokumente nach dem erweiterten Schema einlesen zu
können, wurden eine eigene Klasse HPRDXmlDocument entwickelt, die das Dokument
repräsentiert und deren Methoden die Umwandlung ermöglichen. Abbildung 3.9 zeigt
eine UML-Repräsentation der Klasse HPRDXMLDocument und ihrer Methoden.
Abbildung 3.9.: UML-Darstellung der Klasse HPRDXMLDocument
3.2. Entwicklung der Datenbank
47
Der Konstruktor der Klasse erwartet beim Aufruf als Argumente den Ort des umzuwandelnden XML-Dokuments und den Ort, an dem das erweiterte Schema zu finden ist.
Dies wird in die umgewandelten Dateien geschrieben, so dass diese gegen das erweiterte
Schema validiert werden können.
Die Methode TransformHPRDXml erwartet eine Ortsangabe für die neue Datei und
führt die eigentlich Umwandlung aus.
Abbildung 3.10 zeigt den schematischen Ablauf der Anpassung. Dabei wird auf den
Abbildung 3.10.: Umwandlung des HPRD-Dokuments
Entrez-Webservice des NCBI zugegriffen, um die dort zur Verfügung gestellten Datenbanken Gene und RefSeq abzufragen. Die zusätzlichen Informationen werden in einer
erweiterten XML-Datei gespeichert und stehen für den Import zur Verfügung.
proteinInteractor -Elemente, die keinen Verweis auf die RefSeq-Datenbank enthalten,
werden aussortiert, da es sich um Einträge handelt, die bei HPRD noch nicht verifiziert worden sind. Um zu sehen, welche Elemente aussortiert worden sind, werden diese
in einer eigenen Datei gespeichert. Dadurch wird sicher gestellt, dass ausschließlich identifizierte Proteine in die Datenbank aufgenommen werden und keine leeren Platzhalter,
die bei HPRD als Kandidaten für ein Protein geführt werden.
48
3. Durchführung und Ergebnisse
Zugriff auf den Entrez-Webservice
Visual Studio .NET macht den Zugriff auf Webservices sehr einfach. Dazu wird nur die
URL des angebotenen Webservice benötigt.
Um den Entrez-Webservice nutzen zu können, fügt man dem Visual Studio Projekt
einen Webverweis (Web Reference) hinzu. Der gestartete Assistent fragt nach der URL,
versucht diese zu erreichen und zeigt bei Erfolg die angebotenen Dienste an. Nach der
Vergabe eines Names (eutils) wird der Assistent beendet und der Webservice findet
sich mit dem vergebenen Namen unter „Web References“ in der Projektmappe (Siehe
Abbildung 3.11). Bei dem Vorgang wurde eine Proxyklasse angelegt, deren Methoden
Screenshot
Abbildung 3.11.: Entrez-Webservice - Im Visual Studio als Web Reference mit dem Namen eutils
als Proxy für die vom Webservice angebotenen Methoden dienen. Nach dem Anlegen
einer Instanz der Proxyklasse können die Methoden wie die Methoden jeder anderen
Klasse benutzt werden.
Zum vereinfachten Zugriff auf die Entrez Tools wurde die Klasse EntrezEutils geschrieben, die die beiden Methoden SearchForID und SearchForEntrySummary anbietet, die
die Entrez eUtil-Methoden eSearch und eSummary nutzen. Allerdings braucht man jetzt
nur noch drei statt über 20 Argumente, die den Methoden übergeben werden müssen.
3.2. Entwicklung der Datenbank
49
Abbildung 3.12.: UML-Darstellung der Klasse EntrezEutils
Import
Um die Daten zu importieren müssen die Daten aus einem hierarchisch strukturierten
XML-Dokument in die relationale Datenbank konvertiert werden. Eine Möglichkeit ist
die XML-Unterstützung des SQL-Servers in Form des SQLXML-Paketes. UpdateGrams
(siehe Methoden) schienen eine gute Wahl zu sein, da nur einmal ein Mapping-Schema,
das die XML-Knoten auf Entities in der Datenbank mappt, erstellt werden muß und die
Ausführung von SQL-Kommandos nicht notwendig ist.
Allerdings war trotz intensiver Suche keine Möglichkeit zu finden, verkettete und voneinander abhängige Tabellen (N:M-Beziehungen, aufgelöst mit 1:N-Beziehungen mit einer Zwischentabelle), deren Primärschlüssel zusätzlich automatisch vom SQL-Server generiert werden, mit Updategrams zu importieren. Einzige Möglichkeit ist das XMLDokument so zu zerlegen, das jeweils einzelne oder nur einfach verknüpfte Tabellen
angesprochen werden, was aber den vereinfachenden Ansatz von UpdateGrams zunichte machen würde. Äußerungen von Mitarbeitern von Microsoft aus dem SQL-ServerEntwickler-Team deuten darauf hin, dass eine Unterstützung für oben genanntes Problem frühestens in der nächsten Majorversion von SQLXML funktionsfähig sein wird.
Eine Alternative ist OPENXML, wobei das XML-Dokument in eine Tabelle umgewandelt wird, die dann von SQL-Kommandos abgerufen werden kann. Allerdings liegt das
Problem ähnlich, zuerst müßten in der Datenbank die automatischen IDs der Elterntabelle besetzt werden, bevor sie als Fremdschlüssel in einer Kindtabelle eingesetzt werden.
Um die Daten zu importieren wird folgender Weg vorgeschlagen:
• Die Einträge für Interaktoren aus dem XML-Dokument extrahieren und als String
an eine StoredProcedure des SQL-Servers übergeben
50
3. Durchführung und Ergebnisse
• Mit OPENXML die aus dem XML erzeugte Tabelle (sp_prepare_document) abfragen und die Interaktoren in die Datenbank schreiben
• Die vom SQL-Server vergebenen IDs zurückgeben und als InteractorIDs in der
Interaktionsliste des XML-Dokumentes für den jeweiligen proteinInteraktor übernehmen
• Interaktionen mit den neuen IDs in die Datenbank speichern.
Leider funktioniert dies bisher nur für einen Proteineintrag.
3.3. Konzeption des Prototypen
Ein zu entwickelnder Prototyp sollte die grundlegenden Anforderungen, die in der Vorbereitung festgelegt worden sind, erfüllen. D.h. es sollte dem Benutzer die Suche nach
Proteinnamen in der PubMed-Abstract Datenbank ermöglichen, dabei nach Synonyme
für den Proteinnamen suchen, Proteinnamen finden und in den entsprechenden Abstracts hervorgehoben präsentieren können, diese dem Benutzer zur Wahl stellen und
zum Schluß in die Datenbank speichern.
Abbildung 3.13 zeigt einen möglichen Workflow für einen Prototypen. Dazu muß dem
Benutzer (Im Workflow grün) eine Oberfläche präsentiert werden, in der er das gesuchte Protein eingeben kann. Danach sollte automatisch über den Entrez-Webservice die
NCBI-Datenbank Gene nach einem eindeutigen Eintrag für den Suchbegriff abgefragt
werden. Gene hält eine Reihe von Synonymen für die Expressionsprodukte der entsprechenden Gene bereit. Das kann über die oben beschriebene Klasse EntrezEutils (Im
Workflow blau) geschehen.
Der Benutzer sollte das Suchergebnis präsentiert bekommen, um zu entscheiden ob der
das richtige Protein bzw. die richtigen Synonyme sucht.
Dann startet wieder eine Abfrage über EntrezEutils, diesmal werden die Suchbegriffe
in den PubMed-Abstracts gesucht. Gefundene Abstracts können herunter geladen und
verarbeitet werden.
An dieser Stelle könnten weitere Module zur Textanaylse in den Workflow eingebunden
oder es können Schritte weggelassen werden.
NLProt ist weiter oben beschrieben. NLProt findet Proteinnamen und taggt sie mit
dem Tag <protein></protein>. Das Programm kann von der Kommandozeile gestartet werden und verlangt eine Eingabedatei, in der in jeder Zeile ein Abstract ohne
Zeilenumbrüche steht. Das entspricht dem, was der Entrez-Webservice zurückgibt. In
einer Ausgabedatei werden die getaggten Abstracts abgelegt. Das zu schreibende Programm muß also eine Eingabedatei vorbereiten, die Abstracttexte dort ablegen, mit
3.3. Konzeption des Prototypen
51
dem Process-Aufruf NLProt aufrufen und nach Beendigung von NLProt die getaggten
Abstracttexte wieder aus der NLProt-Ausgabedatei einlesen.
Ein weiteres Element wird als Verbtagger bezeichnet. Im einfachsten Fall sucht es nach
vom Benutzer oder einem Wörterbuch vorgegebenen Verben, die Interaktionen beschreiben. Diese sollte es mit einem Tag versehen. An dieser Stelle könnten z.B. Tools des
Natural Language Processing (NLP) zum Einsatz kommen und semantische Analysen
des Textes unternehmen.
Die einfachste Möglichkeit, Sätze zu trennen, sind regular expressions. Sätze werden
im Englischen grundsätzlich mit einem Satzzeichen beendet (Punkt, Ausrufezeichen,
Fragezeichen), danach folgt ein Leerzeichen und der nächste Satz beginnt mit einem
Großbuchstaben. Bis auf wenige Ausnahmen können mit einer regular expression, die
diese Zusammenhänge beschreibt, Sätze getrennt werden. Das kann mit dem Programm
RegExCoach und beliebigen Texten ausprobiert werden.
Der reguläre Ausdruck [.?!] [A-Z] (Perl-Syntax) liefert genau die Position zwischen den
Sätzen. Die Split-Methode im .Net-Framework unterstützt als Trennzeichen auch regular
expressions. Die Sätze können also von dem Programm getrennt und entweder direkt
bearbeitet oder ebenfalls getaggt werden. (<sentence> Satz....</sentence>)
Das letzte Tool kann dann Sätze heraussuchen die zwei Proteinnamen beinhalten, zwischen denen ein Interaktionsverb steht.
Die Abstracts sollten dem Benutzer sortiert präsentiert werden, je nachdem ob und
wieviele Sätze mit Interaktionen gefunden worden sind.
Zum Abschluß muß der Benutzer entscheiden, welchen Abstract er bearbeiten will. Im
ausgewählten Abstract kann er dann Protein-Paare als Interaktore auswählen, diese werden mit den Entrez Tools noch einmal kontrolliert und dann in der Datenbank gespeichert, wobei möglichst viel Informationen vom NCBI geholt werden sollen, insbesondere
Verweise auf andere Datenbanken, sowohl am NCBI als auch außerhalb.
52
3. Durchführung und Ergebnisse
Abbildung 3.13.: Workflow für Prototypenanwendung
4. Zusammenfassung und Ausblick
4.1. Zusammenfassung
Während der Diplomarbeit hat sich gezeigt, dass die Entscheidung ob in einem Abstract eine Protein-Protein-Wechselwirkung vorliegt, biologisches Fachwissen und viel
Erfahrung erfordert. Eindeutige Regeln, die eine automatisierte Verarbeitung leicht machen würden, gibt es nicht. Allerdings führen automatisierte Systeme zur Unterstützung
der Literaturrecherche in Zusammenarbeit mit einem menschlichen Entscheider zu erheblichen Arbeitseinsparungen. Das haben auch die vor Ort schon umgesetzten Ideen
gezeigt.
Die Einarbeitung in die Gesamtthematik ist von zeitlich unterschätzt worden, allerdings
liefert die Diplomarbeit eine gesunde Basis an Hintergrundswissen, das auch weiterhin
nützlich sein kann. Insbesondere die Datenbankdokumentation konzentriert in den Anforderungen Wissen über Proteine und ihr Verhalten.
Zum Ende der Diplomarbeit ist es nur gelungen, Teile der XML-Dateien in die Datenbank
einzulesen. Das sollte zum Abschluß noch finalisiert werden.
Eine Umsetzung des Prototypen bis zum Abschluß der schriftlichen Arbeiten wäre hilfreich gewesen, um die Nützlichkeit eines solchen Systems zu zeigen.
4.2. Ausblick
Um die Datenbank sinnvoll nutzen zu können, muß die Import-/Export-Funktionalität
implementiert werden und eine Umsetzung des Prototypenkonzepts würde eine Arbeitserleichterung für die Literaturrecherche nach PPIs bedeuten.
Interesse an einem solchen System wurde auch auf mehreren Konferenzen geäußert. Ein
Bedarf für eine solche Hilfestellung scheint also durchaus vorhanden zu sein.
Eigene Komponenten, die in den Verarbeitungsfluß für die Abstracts eingebunden werden, können sehr spezifisch Such- und Analysemöglichkeiten erschließen. Das können
spezifisch trainierte und ausgesuchte Lernalgorithmen (SVM) sein oder auch am Ende
der Verarbeitung eine graphentheoretische Analyse der PPI-Netzwerke.
Anhang A. Documentation for the
PPIFinder database
A.1. Requirements
1. The database structure should include the information that is provided by the
PSI-XML format
2. An interactor is able to react physico-chemically with an interaction partner
3. Every interactor interacts with one or more interactors (or with itself)
4. Every interactor is characterised by
• a short label
• the full name
• the primary data source
• GeneSymbol
• the sequence
• a description
• one or more biological sources:
– organism
– tissue
– cell-type
– compartment
• One or more cross-references to database entries
• One or more cross-references to publications
5. An interactor can have one ore more cross-referencess (database and bibliograhic)
6. Interactors can have one or more synonyms and a synonym can be defined for one
or more interactors
56
Anhang A. Documentation for the PPIFinder database
7. Proteins (interactors) with same primary structure (amino acid sequence) but different source organism should be treaten as different interactors
8. Interactions are from various types
9. Interactors can be part of one or more interactions and an interaction goes on
between two or more interactors
10. Interactions, organism, tissue, cell-type and compartment are characterised by
• a short label
• the full name
• a description
• one or mor cross-referencess to databases
• one or more cross-references to publications
11. Interactions are additionally characterised by value for the confidence
12. Every interaction can be found by one ore more experiments
13. Experiments are characterised by
• a short label
• the full name
• a description
• one or mor cross-references to databases
• one or more cross-references to publications
• a method for interactor detection
• a method for interaction detection
• a measure for confidence
14. Interactions, organism, tissue, cell-type,compartment, experiments, interaction detection, interactor detection should be designed as controlled vokabulary (means
that only a well defined suit of terms should be allowed)
15. Bibliographic references are characterised by a cross-reference to a bibliographic
database or by a direct description (author, journal/book, ISBN, Title, comment)
16. Genomic location of the interactor is characterised by a reference to a database, a
bibliographic reference and/or a description of the position (e.g. for S100A8 (human, other nomenclature for other species)is the position on the chromosom 1q21)
1q21:
A.2. Transactions
57
1 Number of chromosom
q Which arm of the chromosome
21 Number of band
17. One band on the chromosome is able to code more than one protein
18. Proteins have their gene symbol as short label, the hprd short label should be
stored seperately
19. The following cross-references are important: RefSeq(NCBI Nukleotide), Gene(NCBI
EntrzGene), HPRD, PubMed
20. PTMs (Posttranslational modifications) can change one or more amino acids in
the amino acid sequence of a protein. So the position of the changed amino acid
must be saved in the database
21. General information about a reaction site should be saved as textual description
22. A product of a Gene can have one or more isoform structures. All isoforms have the
same GeneID (in the NCBI gene database) and the same gene name, but different
RefSeqIDs (in the NCBI nucleotide database)
Often an abstract don´t show definitely what isoform interacts.
So an additional entry with the GeneID and the gene name, but without an RefSeqID, must be introduced in the database as wildcard interactor in an interaction
until it is clear which isoform is meant.
A.2. Transactions
1. Creating of a list of all interaction partners of an interactor and visualisation as
network
2. Possibility to add interactors to the database
3. List of all properties of an interactor
4. List of all properties of an interaction as far as they are saved in the database.
Otherwise presentation of cross-references
5. List of other information like biological-source, experiment, etc...
6. List of all synonyms of an interactor
7. List of interactors and their interactions from a specific biological-source (e.g. human -> heart -> muscle-cell)
58
Anhang A. Documentation for the PPIFinder database
A.3. Entitytypes
Interactor Molecule that is partner in an interaction (e.g. Proteins)
Interaction A set of molecules (interactors)
InteractionType Character of the relationship between the interactors
GenomicPosition Position of the genetic data of an interactor on a chromosome (for
biological molecules)
Synonym Alternative identifier for an interactor
XRef Cross-reference to a database
BibRef Direct cross-reference to an publication (professional journal)
DataSource Source of the data in the local database (e.g. imported from HPRD, BIND
or from own experiments)
BioSource Location where the interactor-molecule is found through a biological experiment. Characterised by the organism, the compartment, the cell-type, the tissue
and an experiment.
Organism Creature where the interactor is found
Tissue Parts of the organism
CellType Different types of cells in the tissue of an organism
Compartment Parts of the cell, like the nucleus or the membran of a cell
Experiment Set of parameters for an experiment where an interaction is found
InteractionList Characterise the relation between interactor and interaction
ExperimentList List of interactions found in an experiment
InteractorXRefList Characterises references to databases
InteractorBRefList Characterises references to bibliographic data
InteractionXRefList Characterises references to databases
InteractionBRefList Characterises references to bibliographic data
IntactTypeXRefList Characterises references to databases
IntactTypeBRefList Characterises references to bibliographic data
GenPosXRefList Characterises references to databases
GenPosBRefList Characterises references to bibliographic data
A.4. Relationships
59
BioSourceXRefList Characterises references to databases
BioSourceBRefList Characterises references to bibliographic data
OrganismXRefList Characterises references to databases
OrganismBRefList Characterises references to bibliographic data
TissueXRefList Characterises references to databases
TissueBRefList Characterises references to bibliographic data
CellTypeXRefList Characterises references to databases
CellTypeBRefList Characterises references to bibliographic data
CompartmentXRefList Characterises references to databases
CompartmentBRefList Characterises references to bibliographic data
ExperimentXRefList Characterises references to databases
ExperimentBRefList Characterises references to bibliographic data
A.4. Relationships
Entity A
Relationship
Entity B
Cardinality
Interactor
is part of
has
has references in
has references in
comes from
InteractionList
Synonyms
InteractorXRefList
InteractorBRefList
Organism
1:M
1:M
1:M
1:M
M:1
Interaction
is part of
has references in
has references in
was found in
executes in
InteractionList
InteractionXRefList
InteractionBRefList
ExperimentList
BioSource
1:M
1:M
1:M
1:M
M:1
InteractionType
characterises
has references in
has references in
Interaction
IntactTypeXRefList
IntactTypeBRefList
1:M
1:M
1:M
continued on next page
60
Anhang A. Documentation for the PPIFinder database
Entity A
Relationship
Entity B
GenomicPosition
characterises
has references in
has references in
Interactor
GenPosXRefList
GenPosBRefList
1:M
1:M
1:M
Interactor
Interaction
XRef
BibRef
1:M
1:M
1:M
1:M
DataSource
is
is
is
is
the
the
the
the
source
source
source
source
of
of
of
of
Cardinality
BioSource
is composed of
is composed of
is composed of
is composed of
has references in
has references in
Organism
Tissue
CellType
Compartment
BioSourceXRefList
BioSourceBRefList
M:1
M:1
M:1
M:1
1:M
1:M
Organism
has references in
has references in
OrganismXRefList
OrganismBRefList
1:M
1:M
Tissue
has references in
has references in
TissueXRefList
TissueBRefList
1:M
1:M
CellTypeXRefList
CellTypeBRefList
CompartmentXRefList
CompartmentBRefList
EperimentList
ExperimentXRefList
ExperimentBRefList
1:M
1:M
1:M
1:M
1:M
1:M
1:M
InteractorXRefList
InteractionXRefList
IntactTypeXRefList
GenPosXRefList
BioSourceXRefList
OrganismXRefList
TissueXRefList
1:M
1:M
1:M
1:M
1:M
1:M
1:M
CellType
Compartment
Experiment
XRef
has
has
has
has
references
references
references
references
is part of
has references
has references
references
references
references
references
references
references
references
in
in
in
in
in
in
in
in
in
in
in
in
in
continued on next page
A.5. Attributes of Entities
Entity A
BibRef
61
Relationship
Entity B
references in
references in
references in
CellTypeXRefList
CompartmentXRefList
ExperimentXRefList
1:M
1:M
1:M
references
references
references
references
references
references
references
references
references
references
InteractorBRefList
InteractionBRefList
IntactTypeBRefList
GenPosBRefList
BioSourceBRefList
OranismenBRefList
TissueBRefList
CellTypeBRefList
CompartmentBRefList
ExperimentBRefList
1:M
1:M
1:M
1:M
1:M
1:M
1:M
1:M
1:M
1:M
in
in
in
in
in
in
in
in
in
in
Cardinality
Tabelle A.1.: Tabelle der Relationen der Entitäten
A.5. Attributes of Entities
Attribute
Interactor
Interactor_ID
ShortLabel
FullName
Description
Sequence
Organism_ID
GenomicPosition_ID
Description
Typ
Key
NULL
Identifies definitely the
interactor
Short identifier
Identifier of the interactor
Description of the interactor
Sequence of aminco
acids of a protein
Reference to the source
organism of the interactor
Reference to the genomic position of the protein
int
PK
NOT NULL
nvarchar(50)
nvarchar(50)
NOT NULL
ntext
text
int
FK
int
FK
continued on next page
62
Anhang A. Documentation for the PPIFinder database
Attribute
Description
Typ
Key
DataSource_ID
Reference to the data
source from where the
information about the
interactor comes (e.g.
HPRD, own experiment, ...)
int
FK
Identifies definitely the
interaction
Short identifier
Identifier of the interaction
Description of the interaction
Reference to the biological source of the interaction
Reference
to
the
interaction-type
Reference to the data source from where
the information about
the interaction comes
(e.g. HPRD, own experiment, ...)
int
PK
Reference to the interactor of an interaction
Reference to the interaction
General description of
the location of the reaction site on the interactor
Interaction
Interaction_ID
ShortLabel
FullName
Description
BioSource_ID
InteractionType_ID
DataSource_ID
InteractionList
Interactor_ID
Interaction_ID
ReactionSite
NULL
NOT NULL
nvarchar(50)
nvarchar(50)
NOT NULL
ntext
int
FK
int
FK
int
FK
int
PK/FK
NOT NULL
int
PK/FK
NOT NULL
ntext
continued on next page
A.5. Attributes of Entities
Attribute
Description
Typ
SequenceSite
Position of the modified
amino acid in the amino acid sequence of the
protein
int
Identifies definitely the
type of an interaction
Short identifier
Identifier of the interaction type
Description of the interaction type
int
InteractionType
InteractionType_ID
ShortLabel
FullName
Description
InteractorXRefList
Interactor_ID
XRef_ID
InteractorBRefList
Interactor_ID
BibRef_ID
InteractionXRefList
Interaction_ID
XRef_ID
InteractionBRefList
Interaction_ID
BibRef_ID
63
Key
NULL
PK
NOT NULL
nvarchar(50)
nvarchar(150)
NOT NULL
ntext
Reference to the interator, that is referenced
Reference to the database
int
PK/FK
NOT NULL
int
PK/FK
NOT NULL
Reference to the interator, that is referenced
Reference to a bibliographical source
int
PK/FK
NOT NULL
int
PK/FK
NOT NULL
Reference to the interaction, that is referenced
Reference to the database
int
PK/FK
NOT NULL
int
PK/FK
NOT NULL
Reference to the interaction, that is referenced
Reference to a bibliographical source
int
PK/FK
NOT NULL
int
PK/FK
NOT NULL
continued on next page
64
Anhang A. Documentation for the PPIFinder database
Attribute
IntactTypeXRefList
InteractionType_ID
XRef_ID
IntactTypeBRefList
IntertactionType_ID
BibRef_ID
GenomicPosition
GenomicPosition_ID
ShortLabel
FullName
Description
GenPosXRefList
GenomicPosition_ID
XRef_ID
GenPosBRefList
GenomicPosition_ID
BibRef_ID
Description
Typ
Key
NULL
Reference
to
the
interaction-type, that is
referenced
Reference to the database
int
PK/FK
NOT NULL
int
PK/FK
NOT NULL
int
PK/FK
NOT NULL
int
PK/FK
NOT NULL
int
PK
NOT NULL
Reference
to
the
interaction-type, that is
referenced
Reference to a bibliographical source
Identifies definitely the
position entry
Short identifier
Identifier for the genomic position
Description of the interaction type
Reference to the genomic position, that is referenced
Reference to the database
Reference to the genomic position, that is referenced
Reference to a bibliographical source
nvarchar(50)
nvarchar(150)
NOT NULL
ntext
int
PK/FK
NOT NULL
int
PK/FK
NOT NULL
int
PK/FK
NOT NULL
int
PK/FK
NOT NULL
continued on next page
A.5. Attributes of Entities
Attribute
Synonym
Synonym_ID
Name
Description
Interactor_ID
XRef
XRef_ID
ID
DataSource_ID
BibRef
BibRef_ID
Title
Author
Editor
Publisher
Booktitle
Year
Note
URL
DataSource_ID
65
Description
Typ
Key
NULL
Identifies definitely the
synonym entry
synonym
Description for the synonym
Reference to the interactor to that the synonym belongs
int
PK
NOT NULL
Identifies definitely the
reference
Identifier in the source
database (e.b. PubMed
number)
Reference to a database
int
PK
NOT NULL
int
FK
NOT NULL
Identifies definitely the
reference
Title of article
Author of the article
Editor
of
the
book/journal
Publisher
of
the
book/journal
Name
of
the
book/journal
Publishing year
Comment about the article
How to find the article
in the internet
Reference to a data
source
int
PK
NOT NULL
nvarchar(150)
ntext
nvarchar(100)
NOT NULL
nvarchar(150)
nvarchar(100)
nvarchar(100)
NOT NULL
nvarchar(150)
nvarchar(150)
datetime
ntext
ntext
int
FK
DataSource
continued on next page
66
Anhang A. Documentation for the PPIFinder database
Attribute
Description
Typ
Key
NULL
DataSource_ID
Identifies definitely the
data source
Short identifier
Name of the database
Short description of the
database
Adress of the database
int
PK
NOT NULL
Identifies definitely the
biological source number
Short identifier
Name of the database, if
one exists
Alternative description
Reference to the source
organism
Reference to the source
tissue
Reference to the source
cell type
Reference to the source
compartment in the cell
int
ShortLabel
FullName
Description
URL
BioSource
BioSource_ID
ShortLabel
FullName
Description
Organism_ID
Tissue_ID
CellType_ID
Compartment_ID
BioSourceXRefList
BioSource_ID
XRef_ID
BioSourceBRefList
BioSource_ID
BibRef_ID
nvarchar(50)
nvarchar(150)
ntext
NOT NULL
ntext
PK
NOT NULL
nvarchar(50)
nvarchar(150)
NOT NULL
ntext
int
FK
int
FK
int
FK
int
FK
Reference to the biological source, that is referenced
Reference to the database
int
PK/FK
NOT NULL
int
PK/FK
NOT NULL
Reference to the biological source, that is referenced
Reference to a bibliographical source
int
PK/FK
NOT NULL
int
PK/FK
NOT NULL
continued on next page
A.5. Attributes of Entities
Attribute
Organism
Organism_ID
NCBI-TaxID
ShortLabel
FullName
Description
OrganismXRefList
Organism_ID
XRef_ID
OrganismBRefList
OrganismType_ID
BibRef_ID
Tissue
Tissue_ID
ShortLabel
FullName
Description
TissueXRefList
Tissue_ID
XRef_ID
67
Description
Typ
Key
NULL
Identifies definitely the
organism
ID in the taxonomy database of the NCBI
Short identifier
Name of the organism
Short description of the
organism
int
PK
NOT NULL
Reference to the organism, that is referenced
Reference to the database
Reference to the organism, that is referenced
Reference to a bibliographical source
Identifies definitely the
tissue
Short identifier
Name of the tissue
Short description of the
tissue
Reference to the tissue,
that is referenced
Reference to the database
int
nvarchar(50)
nvarchar(50)
ntext
NOT NULL
int
PK/FK
NOT NULL
int
PK/FK
NOT NULL
int
PK/FK
NOT NULL
int
PK/FK
NOT NULL
int
PK
NOT NULL
nvarchar(50)
nvarchar(150)
ntext
NOT NULL
int
PK/FK
NOT NULL
int
PK/FK
NOT NULL
TissueBRefList
continued on next page
68
Anhang A. Documentation for the PPIFinder database
Attribute
Description
Typ
Key
NULL
Tissue_ID
Reference to the tissue,
that is referenced
Reference to a bibliographical source
int
PK/FK
NOT NULL
int
PK/FK
NOT NULL
Identifies definitely the
cell type
Short identifier
Name of the cell type
Short description of the
cell type
int
PK
NOT NULL
Reference to the cell type, that is referenced
Reference to the database
int
PK/FK
NOT NULL
int
PK/FK
NOT NULL
Reference to the celltype, that is referenced
Reference to a bibliographical source
int
PK/FK
NOT NULL
int
PK/FK
NOT NULL
Identifies definitely the
compartment
Short identifier
Name of the compartment
Short description of the
compartment
int
PK
NOT NULL
Reference to the compartment, that is referenced
int
BibRef_ID
CellType
CellType_ID
ShortLabel
FullName
Description
CellTypeXRefList
CellType_ID
XRef_ID
CellTypeBRefList
CellType_ID
BibRef_ID
Compartment
Compartment_ID
ShortLabel
FullName
Description
CompartmentXRefList
Compartment_ID
nvarchar(50)
nvarchar(150)
ntext
NOT NULL
nvarchar(50)
nvarchar(150)
NOT NULL
ntext
PK/FK
NOT NULL
continued on next page
A.5. Attributes of Entities
69
Attribute
Description
Typ
Key
NULL
XRef_ID
Reference to the database
int
PK/FK
NOT NULL
Reference to the compartment, that is referenced
Reference to a bibliographical source
int
PK/FK
NOT NULL
int
PK/FK
NOT NULL
Identifies definitely the
experiment
Short identifier
Name of the experiment
Short description of the
compartment
int
PK
NOT NULL
CompartmentBRefList
Compartment_ID
BibRef_ID
Experiment
Experiment_ID
ShortLabel
FullName
Description
ExperimentList
Experiment_ID
Interaction_ID
ExperimentXRefList
Experiment_ID
XRef_ID
ExperimentBRefList
Experiment_ID
BibRef_ID
nvarchar(50)
nvarchar(150)
ntext
NOT NULL
Reference to the experiment
Reference to the interaction that is found in
the experiment
int
PK/FK
NOT NULL
int
PK/FK
NOT NULL
Reference to the experiment, that is referenced
Reference to the database
int
PK/FK
NOT NULL
int
PK/FK
NOT NULL
Reference to the experiment, that is referenced
Reference to a bibliographical source
int
PK/FK
NOT NULL
int
PK/FK
NOT NULL
Tabelle A.2.: Tabelle der Attribute der Entitäten
70
Anhang A. Documentation for the PPIFinder database
A.6. ER-Modell
A.6. ER-Modell
71
72
Anhang A. Documentation for the PPIFinder database
A.7. Model for the MS-SQL-Server (designed with
Visio)
Anhang B. NLProt-Installation und
Betrieb
NLProt kommt anscheinend mit tief verschachtelten Verzeichnissen nicht klar, daher muß
direkt unter C: ein Verzeichnis angelegt werden. Z.B. C:\NLProt und das Softwarearchive
dort entpacken.
install.exe ausführen und bei der Frage nach Erzeugung der Datenbank mit (y)es antworten. Nach der fehlerfreien Beendigung sollte ein Verzeichnis name_dbs enstanden sein,
indem sich alle Buchstaben als Verzeichnis wiederfinden. In diesen Verzeichnissen sollten
sich Dateien befinden, ansonsten ist etwas schief gegangen.
Bei der Ausführung soll NLProt ein temporäres Verzeichnis tmp anlegen, allerdings
schafft das Programm dies aus irgendwelchen Gründen nicht und bricht dann den Ablauf
ab. Daher muß man das Verzeichnis von Hand selbst anlegen.
Ansonsten ist die Benutzung wie im Readme von NLProt beschrieben.
Glossar
A
Antigen
Moleküle, die als körperfremd erkannt und vom Immunsystem bekämpft werden. Dabei werden spezifische Antikörper gebildet, die mit dem Antigen reagieren. Dabei kann z.B. das Antigen selbst deaktiviert werden oder es wird
durch die Antikörper für körpereigene Fresszellen markiert.
Antikörper Lösliches Protein, das von den B-Zellen des lymphatischen Systems produziert wird und das mit hoher Spezifität mit einem entsprechenden Antigen
reagiert. Wird auch als Immunglobulin bezeichnet.
D
DBMS
Datenbank Managment System
Softwaresystem, das für den Betrieb und die Verwaltung von Datenbanken
verantwortlich ist.
E
Entitiy-Relationship-Modell (ER-Modell) Konzeptuelles Datenmodell zum Entwurf
von Datenbanken
Das Modell beschreibt die Struktur der Datenbank mit den dazugehörigen
unabhängigen Einheiten (Entitäten), ihren Beziehungen (Relationen) untereinander und den dazugehörigen Eigenschaften (Attribute).
Enzym
Protein, das eine spezifische chemische Reaktion katalysiert.
76
GLOSSAR
H
Hormon
Chemisches Signal, das in einem vielzelligen Organismus von einem Zelltyp
produziert und über den Blutkreislauf zu entfernten Zielgeweben transportiert wird, auf die es steuernde Effekte ausübt.
HUPO
Human Proteome Organisation
Versuch nationale und regionale Organisationen, die sich mit dem menschlichen Proteom beschäftigen, in einer weltweiten Dachorganisation zusammenzufassen.
I
in silico
in Silizium
Vorgänge, die im Computer ablaufen bzw. simuliert werden.
Anspielung auf das Element Silizium, das Ausgangsmaterial für Computerchips ist.
in vitro
lt. im Glass
Vorgänge, die außerhalb eines lebenden Organismus stattfinden.
in vivo
lt. im Lebenden
Prozesse, die im lebenden Organismus ablaufen.
Information Extraction, IE Verfahren um aus Texten einzelne Fakten und Konzepte
zu extrahieren, wobei der Benutzer aber weiß welche Informationen er sucht.
Information Retrieval, IR Verfahren um für eine Suchanfrage relevante Dokumente
zu finden.
K
Keratin
Mechanisch beständiges, chemisch wenig reaktives Protein. Es stellt den Hauptbestandteil der äußeren epidermalen Hautschicht sowie von Haaren, Horn,
Nägeln und Federn dar.
Kollagen Organischer Bestandteil von Zähnen und Knochen, wesentlicher Bestandteil
von Sehnen, Bändern und Haut. Zeichnet sich durch hohe Zugfestigkeit und
geringe Dehnbarkeit aus.
GLOSSAR
77
N
Natural Language Processing Verarbeitung natürlichsprachlicher Informationen mit
Hilfe des Computers.
NCBI
National Center for Biotechnology Information
1988 gegründetes Zentrum am National Institutes of Health(NIH) in den
USA, dessen Aufgaben die Sammlung, Speicherung und Weitergabe biotechnologischen Wissens umfassen. Dazu entwickelt das NCBI verschiedenen Datenbanken und stellt diese zur Verfügung.
NCBI Gene Datenbank des NCBI, die Information über Gene und verwandte Information enthält.
O
Ontologie Bezeichnet ein formalisiertes, hierarchisches System, das für eine Domäne(ein Fachgebiet) Konzepte, ihre Beziehungen zueinander und Regeln definiert und beschreibt.
P
Pankreas Drüsenorgan des Menschen und höherer Tiere, das Verdauungsenzyme und
Hormone produziert. Wird auch als Bauchspeicheldrüse bezeichnet.
Precision Maß für die Genauigkeit eines Suchergebnisses.
Precision ist definiert als der Anteil der gefundenen relevanten Dokumente
im Verhältnis zu allen gefundenen Dokumenten.
PSI
Proteomics Standard Initiative
Begründet 2002 von der HUPO, um Standards für die Datenrepräsentation zu entwickeln, um Proteomics-Daten besser austauschen, vergleichen und
verifizieren zu können.
R
Recall
Maß für die Vollständigkeit eines Suchergebnisses bei einer Recherche.
Der Recall ist dabei definiert als der Anteil der gefundenen relevanten Dokumente im Verhältnis zu allen relevanten Dokumenten, die in einer durchsuchten Dokumentenmenge vorhanden ist.
78
RefSeq
GLOSSAR
Reference Sequence
Datenbank des NCBI, die eine Sammlung von Sequenzen von DNA, RNA
und von Proteinen (Expressionsprodukte bekannter Gene) enthält.
Regulärer Ausdruck Im Englischen regular expression (abgekürzt regexp oder regex).
Damit wird ein Muster in einer Abfolge von Textzeichen beschrieben bzw.
die Methodik mit der dieses Muster gefunden und bearbeitet werden kann.
S
supervised learning Überwachtes Lernen (maschninelles Lernen)
Ein Algorithmus lernt aus gegebenen Datenmengen von Ein- und Ausgabe
einen funktionellen Zusammenhang. Dabei wird zu jeder Eingabe ein korrekter Funktionswert angegeben.
Support Vector Maschine (SVM) Überwachte Lernmethode.
T
Text Mining Bezeichnet das Auffinden von neuen Informationen aus Textdaten. Wobei die gefundenen Informationen keine direkte Antwort auf eine spezifische
Suchabfrage sind, sondern einer komplett neue Kategorie von Informationen
angehören. Textminingsoftware soll also das Wissen des Nutzers erweitern.
Y
Yeast-2-Hybrid Methode (Y2H) Methode zur Bestimmung von Protein-Protein Interaktionen. Zu untersuchende Proteine werden in den Kern von Hefezellen
eingebracht und ermöglichen bei erfolgreicher Interaktion die Expression eines Genproduktes, das dann als Nachweis für die Interaktion fungiert.
Literaturverzeichnis
[1] Afarano, C. ; Andrade, C.E. ; Anthony, K. [u. a.]: The Biomolecular Interaction Network Database and related tools 2005 update. In: Nucleic Acids Research
33 (2005), S. D418–D424 1.3.1, 3.2.4
[2] Albert, Sylvie ; Gaudan, Sylvain ; Knigge, Heidrun [u. a.]: Computer-Assisted
Generation of a Protein-Interaction Database for Nuclear Receptors. In: Molecular
Endocrinology 17 (2003), Nr. 6, S. 1555–1567 1.3.3, 1.3.3, 1.4
[3] Bader, Garry D. ; Donaldson, I. [u. a.]: BIND-The Biomolecular Interaction
Network Database. In: NAR 29 (2001), Nr. 1, S. 242–245 1.3.1
[4] Berleant, D. ; Ding, J. ; Nettleton, D.: Corpus Properties of Protein Interaction Descriptions. http://class.ee.iastate.edu/berleant/home. – In Vorbereitung
[5] Bickel, Steffen ; Brefeld, Ulf ; Faulstich, Lukas ; Hakenberg, Jörg ; Leser,
Ulf ; Plake, Conrad ; Scheffer, Tobias: A Suppport Vector Machine Classifier
for Gene Name Recognition. In: Proceedings EMBO Workshop EMBO, 2004. – EMBO Workshop: A critical assessment of text mining methods in molecular biology.
Granada, Spain 4, 1.3.3
[6] Chen, Hao ; Sharp, Burt M.: Content-rich biological network constructed by
mining PubMed abstracts. In: BMC Bioinformatics 5 (2004), Nr. 147 1.3.3
[7] Connolly, Thomas ; Begg, Carolyn ; Strachan, Anne: Datenbanksysteme Eine praktische Anleitung zu Design, Implementierung und Management. AddisonWesley Verlag, 2002. – ISBN ISBN 3–8273–2013–5
[8] Dalvi, Dinar ; Graph, Joe [u. a.]: Professional XML for .NET Developers. Wrox
Press, 2001. – ISBN 1–861005–31–8 2.7
[9] Daraselia, Nikolai ; Yuryev, Anton [u. a.]: Extracting human protein interactions from MEDLINE using a full-sentence parser. In: Bioinformatics 19 (2003), Nr.
0, S. 1–8 1.3.3
80
Literaturverzeichnis
[10] E.F.Friedl, Jeffrey: Mastering Regular Expressions. 2nd. O’Reilly & Associates,
2002. – ISBN 0596002890 1.2.4
[11] Egorov, Sergei ; Yuryev, Anton ; Daraselia, Nikolai: A Simple and Practical
Dictionary-based Approach for Identification of Proteins in Medline Abstraccts. In:
Journal of the American Medical Informatics Association 11 (2004), Nr. 4 1.3.3,
1.4
[12] Gansner, Emden R. ; North, Stephen C.: An open graph visualization system
and its applications to software engineering. In: Software-Pratice and Experience
00 (1999), Nr. S1, 1-5. http://www.graphviz.org 1.3.2
[13] Halleux, Jonathan de: QuickGraph: A 100% C# graph library with Graphviz
Support. http://www.codeproject.com/cs/miscctrl/quickgraph.asp. – Online
Ressource. – Benutzung von Grahphiz um mit C# Graphen darzustellen 1.3.2
[14] Halpin, Terry ; Evans, Ken ; Hallock, Patrick ; Maclean, Bill: Database Modelling with Microsoft Viso for Enterprise Architects. Morgan Kaufmann Publishers
(Elsevier), 2003. – ISBN 1–55860–919–9 2.5
[15] Han, Kyungsook ; Ju, Byong-Hyon ; Jung, Haemoon: WebInterViewer: visualizing
and analyzing molecular interaction networks. In: Nucleic Acids Research 32 (2004),
S. W89–W95
[16] Hermjakob, Henning ; Montecchi-Palazzi, Luisa [u. a.]: The HUPO PSI´s
Molecular Interaction format - a community standard for the representation of
protein interaction data. In: nature biotechnology 22 (2004), S. 177–183 1.3.3, ,
3.2.4
[17] Hermjakob, Henning ; Montecchi-Palazzi, Luisa [u. a.]: IntAct: an open source
molecular interaction database. In: Nucleic Acids Research 32 (2004), S. D452–D455
1.3.1
[18] Hu, Zhang-Zhi ; Mani, Inderjeet [u. a.]: iProLINK: an integrated protein resource
for literature mining. In: Computational Biology and Chemistry 28 (2004), S. 409–
416
[19] I. Donaldson, J. M. [u. a.]: PreBIND and Textomy - mining the biomedical
literature for protein-protein interactions using a support vector machine. In: Bioinformatics 4 (2003), Nr. 11 1.3.3, , 1.4
[20] Iragne, Florian ; Nikolski, Macha ; Mathieu, Bertrand ; Auber, David ; Sherman, David: ProViz: protein interaction visualization and exploration. In: Bioinformatics 21(2) (2005), S. 272–274 1.3.2,
Literaturverzeichnis
81
[21] Joachmis, Thorsten: SVM light. http://svmlight.joachims.org. – Online
Ressource. – Implementierung einer SVM in C, die im wissenschaftlichen Bereich
frei benutzt werden kann 4
[22] J.Tavernier ; Eyckermann, S. ; Lemmens, I. [u. a.]: MAPPIT: a cytokine
receptor-based two-hybrid method in mammalian cells. In: Clinical & Experimental
Allergy 32 (2002), Nr. 10, S. 1397–14004 1.1
[23] Kamal Nigam, Andrew Kachites M. [u. a.]: Text Classification from Labeled and
Unlabeled Documents using EM. In: Machine Learning 1 (1999), S. 1–34
[24] Kersey, Paul j. ; Duarte, Jorge ; Williams, Allyson [u. a.]: The International
Protein Index: An integrated database for proteomics experiments. In: Proteomics
4 (2004), S. 1985–1988
[25] Lukasz Salwinski, Christoper S. M. [u. a.]: The Database of Interacting Proteins:
2004 update. In: NAR 32 (2004), S. D449–D451 1.3.1
[26] Madigan, Michael T. ; Martinko, John M. ; Parker, Jack: Biology of Microorganisms. 10nd. Pearson Education Inc., 2002. – ISBN ISBN 0–13–066271–2
[27] Mani, Inderjeet ; Hu, Zhangzhi ; Jang, Seok B. [u. a.]: Protein Name Tagging
Guidelines: Lessons Learned. In: Proceedings ISCB, EBI, University of Glasgow,
2004. – Vortrag 1.2.2
[28] Martin, Didier ; Birbeck, Mark ; Kay, Michael [u. a.]: XML Professionell.
MITP-Verlag, 2000. – ISBN 3–8266–0633–7 2.7
[29] Michalickova, Katerina ; Bader, Gary D. [u. a.]: SeqHound: biological sequence
and structure database as a platform for bioinformatics research. In: BMC Bioinformatics 3 (2002)
[30] Mika, Sven ; Rost, Burkhard: NLProt: extracting protein names and sequences
from papers. In: Nucleic Acids Research 32 (2004), S. W634–W637 1.3.3, 2.1
[31] Mika, Sven ; Rost, Burkhard: Protein names precisely peeled off free text. In:
Bioinformatics 20 Suppl. 1 (2004), S. 241–247 1.3.3, 2.1,
[32] Peri, Suraj ; Navarro, J. D. ; Amanchy, Ramars [u. a.]: Development of Human
Protein Reference Database as an Initial Platform for Approaching Systems Biology
in Humans. In: Genome Research 13 (2003), Nr. 10, S. 2363–2371 1.3.1, 1.3.3, 3.2.4
[33] Peri, Suraj ; Navarro, J. D. ; Amanchy, Ramars [u. a.]: Human protein reference
database as a discovery resource for proteomics. In: Nucleic Acids Research 32
(2004), S. D497–D501 1.3.1, 1.3.3, 3.2.4
82
Literaturverzeichnis
[34] Plake, Conrad: Extraktion von Protein-Protein Interaktionen aus Freitexten. 2004.
– Studienarbeit am Institut für Informatik/Bioinformaitk der Humboldt-Universität
zu Berlin 1.3.3, 1.4
[35] Plake, Conrad ; Hakenberg, Jörg ; Leser, Ulf: Optimizing Syntax-Patterns
for Discovering Protein-Protein-Interactions. In: Proc ACM Symposium on Applied
Computing, SAC, Bioinformatics Track. Santa Fe, USA : ACM, March 2005 1.3.3
[36] Pruitt, Kim D. ; Tatusova, Tatiana ; Maglott, Donna R.: NCBI Reference
Sequence (RefSeq):a curated non-redundant sequence database of genomes, transcripts and proteins. In: Nucleic Acids Research 33 (2005), S. D501–D504
[37] Robinson, Simon ; Allen, K. S. ; ohters: Professional C#. Wrox Press, 2002.
– ISBN 1–861007–04–3 2.3
[38] Salwinski, Lukasz ; Eisenberg, David: Computational methods of analysis of
protein-protein interactions. In: Current Opinion in Structural Biology 13 (2003),
S. 377–382 1.3
[39] Schölkopf, Bernhard ; Smola, Alexnader J.: Learning with Kernels - Support
Vector Machines, Regularization, Optimization and Beyond. MIT Press, 2002. –
ISBN ISBN 0–262–19475–9 4
[40] Schmeier, Sebastian: Klassifizierung von biochemischen Texten mittels statistischer Lernverfahren, Freie Universität Berlin, Bachelorarbeit, 2003 1.3.3
[41] Schnittko, Christoph: SQLXML in .NET. http://www.topxml.com. – Online
Ressource. – Überblick über die XML-Unterstützung des SQL-Servers 2000 2.6
[42] Scholefield, Z. ; Yates, EA. [u. a.]: Heparan sulfate regulates amyloid precursor
protein processing by BACE1, the Alzheimer’s beta-secretase. In: Journal of Cell
Biologie 163 (2003), October, Nr. 1, S. 97–107 6
[43] Shannon, Paul ; Markiel, Andrew [u. a.]: Cytoscape: A Software Enviroment
for Integrated Models of Biomolecular Interaction Networks. In: Genome Research
13 (2003), S. 2498–2504 1.3.2
[44] Shatkay, Hagit: Mining the Biomedical Literature: State of the Art, Challenges
and Evaluation. In: Tutorial notes ISCB, EBI, University of Glasgow, 2004 4, 1.2.4,
1.2.5, 1.3, 1.3.3
[45] Standl, E. [u. a.]: Deutscher Gesundheitsbericht Diabetes 2003. Kirchheim + Co
GmbH, 2003 1.1
[46] Voet, D. ; Voet, J. G. ; Pratt, C. W.: Lehrbuch der Biochemie. 1nd. WILEYVCH Verlag GmbH & Co. KGaA, Weinheim, 2002. – ISBN ISBN 3–527–30519–X
1.1
Literaturverzeichnis
83
[47] Weitz, Edi: The Regex Coach - interactive regular expressions. http://www.
weitz.de/regex-coach. – Online Ressource. – Ermöglicht interaktives Experimentieren mit regular expressions in einer graphischen Benutzeroberfläche
[48] Westphal, Ralf: .NET kompakt. Spektrum Verlag, 2002. – ISBN 3–8274–1185–8
2.3
[49] Weyer, Christian: XML Web Service-Anwendungen mit Microsoft .NET. AddisonWesley Verlag, 2002. – ISBN 3–8273–1891–2 3.2.4
[50] Young, K.H.: Yeast Two-Hybrid: So many interactions, (in) so little time ... In:
Biology of Reproduction 58 (1998), S. 302–122 1.1
[51] Zanzoni, Andreas ; Montecchi-Palazzi, Luisa [u. a.]: MINT: a Molecular INTeraction database. In: FEBS Letters 513 (2002), Nr. 1, S. 135–140 1.3.1
Index
.NET, 48
Actin, 1
Antigene, 1
Antikörper, 1
BIND, 25
Chilibot, 38
CIL, 48
CLR, 48
Common Intermediate Language, 48
Common Language Runtime, 48
Datenbankstruktur, 64
DBMS, 25
Diabetes, 1
DIP, 25
Docbook, 64
EBI, 27
Entity, 65
Entrez-Webservice, 81
Enzym, 1
ER-Modell, 65
Glucose, 1
GLUT-4, 2
GraphViz, 30
Hidden Markov Modell, 18
HMM, 18
Hormon, 1
HPRD, 27, 78
HUPO, 77
Informationsextraktion, 14
Informationsretrieval, 14
Insulin, 2
IntAct, 27, 62
Isoform, 78
Keratin, 1
Kollagen, 1
Mapping, 63
Natural Language Processing, 14
NCBI, 81
NLP, 14
NLProt, 37, 123
OJB, 28
OPENXML, 50
Oracle, 28, 63
Parsing, 16
PIMWalker, 33
Post Translational Modifications, 27
PostgeSQL, 28
PostgreSQL, 63
PPI, 6
PreBIND, 38
Primärschlüssel, 67
Protein-Protein Interaktionen, 6
ProtScan, 37
86
ProViz, 31, 62
PSI, 77
PSI-MI, 54
PSI-XML, 64
PTM, 27
PubMed, 7, 64
Quickgraph, 30
Referenzdatensatz, 78
RefSeq, 81
regex, 15
Regulärer Ausdruck (regular expression),
15
Relation, 65
SQL, 49
SQLXML, 50
SVM, 37, 43
T-SQL, 49
Textmining, 14
textomy, 38
Token, 16
Tulip, 31
Updategrams, 50
Virtual Maschine, 48
Visio, 67
WSDL, 53
XML, 16
XML-Schemata, 52
Yeast-2-Hybrid Methode, 3
Zope, 27
Index

Documentos relacionados