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