Integration von molekularbiologischen Daten Vorlesungsplan 1. 2. Übersicht Datenmodelle • • • 3. 4. 5. 6. 7. Genom-DB Genexpressions-DB Protein-DB Pathway-DB Publikations-DB 1. 8. 9. 10. • Datenintegration • Bio-Datenbanken und Integrationsprobleme • Bisherige Ansätze in der Bioinformatik • Kleisli • TAMBIS • GenMapper Textdateien, Entry-Modell Relationale DB XML OWL & Ontologien Zugriff und Anfragesysteme Datenintegration von Bio-DB Webservices Sommersemester 2005/06 Alexander Hinneburg Seite 604 Sommersemester 2005/06 Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg Martin-Luther-Universität Halle-Wittenberg Datenintegration Data Warehousing Sommersemester 2005/06 Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg Seite 606 Sommersemester 2005/06 Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg Seite 605 Seite 607 Mediation Sommersemester 2005/06 Alexander Hinneburg Bio-Datenbanken Seite 608 Sommersemester 2005/06 Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg Martin-Luther-Universität Halle-Wittenberg LocusLink Beispiel Integrationsprobleme Sommersemester 2005/06 Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg Seite 610 Sommersemester 2005/06 Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg Seite 609 Seite 611 Existierende Systeme im Bio-Bereich Kleisli • Mediator Ansatz basierend auf Wrapper-Technologie User Query Anwendungen APIs Kleisli Query Engine Query Languages:sSQL, CPL Complex Object Data Model Query Optimizer Ontologien Vokabulare Sommersemester 2005/06 Alexander Hinneburg Seite 612 Wrapper Wrapper Wrapper Wrapper Wrapper XML HTML DB1 Oracle DB2 Sybase Flat File Sommersemester 2005/06 Martin-Luther-Universität Halle-Wittenberg Alexander Hinneburg Seite 613 Martin-Luther-Universität Halle-Wittenberg Kleisli • Metadaten Kleisli Complex Object Data Model • Typ-Beispiel – erlaubt zusammengesetzte, verschachtelte Typen – allgemeine Syntax: – Mengen {t}, Multimengen {|t|}, Listen [t] – Records – Varianten • • Instanz-Beispiel Syntax ist selbstbeschreibend, keine Schema Infos notwendig Sommersemester 2005/06 Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg Seite 614 Sommersemester 2005/06 Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg Seite 615 Kleisli Kleisli • • Anfragen – funktional gekapselt => für verschiedene Quellen wiederverwendbar • Beispiel – create function get-title-from-featureTable (DB) as select title: x.title, feature: x.feature from DB x where x.title like ‘%tyrosine’ Sommersemester 2005/06 Alexander Hinneburg Seite 616 Beispiel mit Verschachtelung – Konvertiert einen komplexen Typ in flache Tabelle create function flatten-featureTable (DB) as select title: x.title, feature: f.name, start: f.start, end: f.end, anno-name: a.anno_name, anno-descr: a.anno_descr from DB x, feature f, f.anno.l2s a – Verschachtelung create function nest-featureTable-by-organism (DB) as select organism: z, entries: ( select from DB x, x.feature f, f.anno a where a.anno_name=‘organism’ and a.descr=z) from ( select distinct y.anno-descr from DB.flatten-featureTable y where y.anno-name=‘organism’) z Sommersemester 2005/06 Alexander Hinneburg Seite 617 Martin-Luther-Universität Halle-Wittenberg Martin-Luther-Universität Halle-Wittenberg Kleisli, Zusammenfassung Nutzung von Ontologien (1) • Integriert mehrere Datenquellen mittels Wrapper • Verteilte Datenquellen • Komplexe Datentypen – natürlichere Modellierung als rel. Schema – Syntax ist selbstbeschreibend – notwendig um Ergebnisse von Kleisli-Anfragen zu verarbeiten • Anfragen, sSQL – funktional gekapselt – erlauben komplexe Typen als Ergebnis – rekursiv aufrufbar • Collection Programming Language (CPL) – erlaubt Anfragen direkt in Programmiersprache (Perl); Ergebnis: Perl-Obj • sSQL und CPL werden optimiert Sommersemester 2005/06 Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg Seite 618 Sommersemester 2005/06 Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg Seite 619 Nutzung von Ontologien (2) Sommersemester 2005/06 Alexander Hinneburg Seite 620 TAMBIS - Architektur Sommersemester 2005/06 Alexander Hinneburg Seite 621 Martin-Luther-Universität Halle-Wittenberg Martin-Luther-Universität Halle-Wittenberg Tambis: Mediators Tambis: Wrappers •The mediator is an information broker. It uses a conceptual knowledge base of biology to: •Describe a universal model •Help users form queries Wrapper •Translate the mediator’s model to the sources’ model Sommersemester 2005/06 Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg Mediator Wrapper Wrapper Seite 622 •Wrappers create the illusion of a common query language for each information resource. •This insulates the mediator from differences in source access methods Wrapper •The current wrapper language is CPL Sommersemester 2005/06 Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg Mediator Wrapper Wrapper Seite 623 Tambis: Architecture •The Terminology Server provides services for reasoning about concept models, answering questions like: What can I say about Proteins? What are the parents of concept X? •It communicates with other modules through a well-defined interface Tambis: Architecture Biological Terminology Terminology Server Services KB Query Formulation Dialogues Query Transformation Terminology Server Biology Concept Model Linguistic Model Sommersemester 2005/06 •The user interacts with Query Biological Terminology Formulation Dialogues, expressing Server queries in terms of the biological model. •The dialogues are driven by Services the content of the model, Query KB Formulation guiding the user towards Dialogues sensible queries. •The query is then passed to the transformation process, which may require further user input to refine and instantiate the query. Query Transformation Wrapper Service Wrapper Service Alexander Hinneburg Seite 624 Sommersemester 2005/06 Alexander Hinneburg Seite 625 Martin-Luther-Universität Halle-Wittenberg Martin-Luther-Universität Halle-Wittenberg Tambis: Architecture Tambis: Architecture •The Services Knowledge Base links Biological Terminology the biological ontology with the Server sources and their schemas. •This information is used by the transformation process to Services determine which source should Query KB Formulation be used. Services KB Concepts ⇔ SSM mapping BISSMap Dialogues Source Combination Model SCM Source and Services Model SSM Sommersemester 2005/06 Query Transformation Alexander Hinneburg •Information about particular user preferences - say favourite databases or analysis methods may also be incorporated by the query planner. Dialogues •The query plans are then passed to the wrappers. Wrapper Service Martin-Luther-Universität Halle-Wittenberg •Query Transformation takes the Biological Terminology conceptual source-independent Server queries and rewrites to produce executable query plans. •To do this it requires knowledge Services about the biological sources and Query KB Formulation the services they offer. Seite 626 Sommersemester 2005/06 Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg Query Transformation Wrapper Service Seite 627 Tambis: Architecture •The Wrapper Service coordinates the execution of the query and sends each component to the appropriate source. •Results are collected and returned to the user. Wrapper Service Biological Terminology Server Wrapper Client •The Biological Concept model is built using a Description Logic or DL. •Primitive concepts are atomic terms, e.g. Protein or Motif. Services KB Query Formulation Dialogues Query Execution Coordinator Wrapper Client Modelling Biology with DLs Query Transformation Wrapper Client •Roles denote binary relationships between concepts, e.g. hasOrganismSource, isComponentOf. •Term constructors associate concepts and roles to define composite concepts, e.g. Motif which isComponent of Protein. •Concepts are both definitions that form the model and queries on the model - the same language is used. Wrapper Service Sommersemester 2005/06 Alexander Hinneburg Seite 628 Sommersemester 2005/06 Martin-Luther-Universität Halle-Wittenberg Modelling Biology with DLs •Primitive concepts are placed by the modeller into a subsumption (or kind-of) hierarchy. Motif •Composite concepts are automically classified in the hierarchy based on the description of the concept. SequenceComponent which hasFunction Hydrolase Motif which isComponentOf Protein Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg Modelling Biology with DLs •Two concepts are permitted to be related via some role through the use of sanctions. Composite concepts can’t be formed without sanctioned permission. Motif isComponentOf Protein Motif which hasFunction Hydrolase NucleicAcidComponent isComponentOf Protein •Sanctions ensure that only semantically valid compositions are formed; a large number of compositions can be inferred from a sparse model. •They also allow us to answer questions like “what can I say about this concept?” Motif which <isComponentOf (Protein which hasOrganismSource PoeciliaReticulata) hasFunction Hydrolase> Sommersemester 2005/06 Seite 629 •The combination of concepts with roles is tightly controlled. We use these controls together with the classification to check the coherency of a concept. SequenceComponent SequenceComponent which isComponentOf Protein Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg Seite 630 Sommersemester 2005/06 Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg Seite 631 TAMBIS - Abfragen Sommersemester 2005/06 Alexander Hinneburg TAMBIS - Query-Verarbeitung Seite 632 Sommersemester 2005/06 Alexander Hinneburg Seite 633 Martin-Luther-Universität Halle-Wittenberg Martin-Luther-Universität Halle-Wittenberg GenMapper Architektur Generische Datenmodellierung Sommersemester 2005/06 Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg Seite 634 Sommersemester 2005/06 Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg Seite 635 Generic Annotation Model (GAM) Sommersemester 2005/06 Alexander Hinneburg Seite 636 GAM-basiertes Datenmanagement Sommersemester 2005/06 Martin-Luther-Universität Halle-Wittenberg Datenintegration Sommersemester 2005/06 Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg Alexander Hinneburg Seite 637 Martin-Luther-Universität Halle-Wittenberg Datenzugriff Seite 638 Sommersemester 2005/06 Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg Seite 639 Ableitung neuer Annotationen Sommersemester 2005/06 Alexander Hinneburg Seite 640 Generierung von Annotationssichten Sommersemester 2005/06 Martin-Luther-Universität Halle-Wittenberg Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg Seite 641 Nutzerschnittstelle (2) Nutzerschnittstelle (1) Sommersemester 2005/06 Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg Seite 642 Sommersemester 2005/06 Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg Seite 643 Zusammenfassung Anwendung: Gene Functional Profiling • • • Traditionelle Datenintegrationsansätze eingeschränkt einsetzbar in Bioinformatik Trade-off zwischen (Schema- und Instanz-) Konsistenz und Skalierbarkeit, Flexibilität TAMBIS: • DiscoveryLink, Kleisli: – Mediator, semantische Integration auf Schema- und Instanzebene – Mediator, globales Schema als Vereinigung der lokalen Schemas – Keine Integration der Instanzdaten • SRS: – Mediator, kein globales Schema, sondern Mengen abfragbarer Attribute, IR-basierte Indexierung und Suche in einzelnen Quellen – Nutzung der Verweisen zur Navigation zwischen Datenquellen • GenMapper: Forschungsprototyp – Materialisierte Integr., kein globales Schema, sondern generisches Datenmodell – Flexible View-Generierung, Nutzung der Verweise zur semantischen Integration der Instanzdaten Sommersemester 2005/06 Alexander Hinneburg Seite 644 Sommersemester 2005/06 Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg Transitive Beziehungen Abbildung von Hierarchien • Konzept- und Hintergrundwissen => Ontologie • Ontologien verknüpfen Konzepte transitiv über mehrere Zwischenkonzepte • Ontologie enthält verschiedene Hierarchien • Hierarchie ist abstrakt ein gericheter azyklischer Graph • Beispiel: Universtätshierarchie IS-A Konzept Konzept – IS-A – PART-OF – CONTAINED-IN • Ontologien in der Bioinformatik – – – – Seite 645 Martin-Luther-Universität Halle-Wittenberg • Naive Implementierung in DB Arten von Organismen Fachbegriffe Biochemische Objekte und Funktionen Krankheiten Sommersemester 2005/06 Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg – Adjazenzlisten – eine Tabelle R für Kanten Seite 646 Sommersemester 2005/06 Person Student Person Employee Student Part-Timer Student TA Student RA Employee TA Employee RA Employee Professor TA Assistant RA Assistant Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg Seite 647 Anfrageoperationen Anfrageoperationen • Verallgemeinerung • – z.B. finde alle Konzepte, die „TA“ verallgemeinern – Nicht geschlossen in SQL möglich – Pfade zu den Wurzeln • LUB (Least Upper Bound) • GLB (Greatest Lower Bound) • Durch Mehrfach-Vererbung können diese Operationen nicht eindeutige Ergebnisse liefern Alle Operationen enthalten Rekursion und sind somit nicht mit einem SQL Statement direkt beantwortbar – finde das allgemeinste Konzept, welches die Konzepte x, y beerbt • – durch OR –Test gleich gesamte Menge pre testen • Trotzdem viele SQL Anfragen • • Spezialisierung – finde das spezialisierteste Konzept, welches die Konzepte x, y verallgemeinert • Terminiert, da Graph keine Zyklen enthält • leichte Verbesserung: Alexander Hinneburg • – Untergraphen, alle Knoten, die von einem Knoten v erreichbar sind result = {}, to_check={TA} while (to_check != empty) k = pick and delete an element from to_check pre = { select IS_A_Konzept from R where Konzept= k} result = result + pre to_check = to_check + pre Sommersemester 2005/06 Verallgemeinerung Seite 648 Sommersemester 2005/06 Alexander Hinneburg Seite 649 Martin-Luther-Universität Halle-Wittenberg Martin-Luther-Universität Halle-Wittenberg Transitive Hülle Kompression der Transitiven Hülle Ausweg: Materialisierung der transitiven Hülle als Bit-Matrix T Seien die Konzepte, dann ist der Eintrag (i,j) der Bit-Matrix eins, gdw. x_i ist ein Vorfahre von x_j • Materialisierte Hülle speichert zu einem Knoten v – eine Liste der Nachfolger, d.h. Knoten die von v erreichbar sind – eine Liste der Vorgänger, d.h. Knoten, von denen v erreichbar ist • Intervall Kompression – ordne jedem Knoten eine Nummer zu – repräsentiere die Vorgänger- und Nachfolgerlisten als Intervall(e) • Gerichtete Bäume • Vorteil • Nachteil: O(n^2) Platz – ordne jedem Knoten die Post-Order Nummer zu – Jeder Knoten v bekommt auch Index, der das Minimum der Post-Order Nummern der Nachfolger (einschließlich v) von v ist. – => falls ein gerichteter Pfad von einem v zu einem w existiert, dann ist index(v) <= post(w) <= post(v) – Abfragen sind Intervalloperationen – Platzbedarf ist O(n) – Operationen einfache Bit Vergleiche Sommersemester 2005/06 Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg Seite 650 Sommersemester 2005/06 Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg Seite 651 Erweiterung auf DAG • • Optimaler aufspannender Baum Sei G ein gerichteter azyklischer Graph (DAG) mit einer ZHK Kompression – finde einen aufspannenden Baum T von G – Berechne für jeden Knoten die Post-Order Nr. j und den Index i bezüglich T, d.h. jeder Knoten bekommt ein Intervall [i,j] zugewiesen – Bearbeite alle Knoten in umgekehrter topologischer Ordnung für Knoten p führe folgende Schritte aus • Zu einem DAG gibt es mehrere auf spannende Bäume • Nicht alle Bäume nicht gleich gut für die Kompression geeignet • Beispiel • Für jede Kante (p,q) füge alle Intervalle von q zu p hinzu • Falls ein Intervall [i1,i2] ein anderes Intervall [j1,j2] umfaßt, d.h. i1<= j1, j2<=i2, streiche [j1,j2] aus der Intervallliste von p • Intervalle, die T kodieren heißen Baum-Intervalle, die anderen NichtBaum-Intervalle Anzahl Intervalle: Sommersemester 2005/06 Alexander Hinneburg Seite 652 Sommersemester 2005/06 Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg Martin-Luther-Universität Halle-Wittenberg Optimaler aufspannender Baum Platz Bedarf • Optimal, heißt die kleinste Anzahl an Intervallen – Intervalle, die anderen enthalten sind werden nicht mitgezählt – Fortlaufende Intervalle werden einzeln gezählt • Seite 653 • Algorithmus, um den opt. Baum zu bestimmen • Im schlechtesten Fall werden quadr. viele Intervalle in Anzahl der Knoten benötigt Beispiel: vollständig bipartiter Graph Einfügen eines Zwischenknotens • Sommersemester 2005/06 Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg Seite 654 Schlechtester Fall tritt bei gut designeten Hierarchien selten auf Sommersemester 2005/06 Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg Seite 655 Änderungen der Hierarchie • • Änderungen der Hierarchie • Problem: einfügen von Kanten (und Knoten) Idee – Kante (i,j) (Knoten sind schon vorhanden) – Intervalle von j müssen zu allen Vorgängern von i hingefügt werden – Falls ein neues Intervall schon in einem vorhandenen Intervall enthalten ist – Post-Order Nummern nicht fortlaufend, sondern mit Lücken – Lückengröße: mit w ist Anzahl Bits für Integer • • Neue Knoten und Kanten können Lücken ausnutzen und die Intervalle der restlichen Knoten müssen nicht geändert werden Einfügen von Baum-Kanten – neuer Knoten j verbunden mit Kante (i,j) von einem existierenden Knoten i – Sei n2=post(i) und n1=min( post( direkter Sohn von i) ), falls i ein Blatt ist, dann ist n1 = index(i) -1 – finde zwei Post-Order Nummern zwischen n1 und n2, die schon vergeben sind und die größte Differenz haben: n1’ und n2’ – post(j) = (n1+n2)/2 und index(j)=n1’+1 Sommersemester 2005/06 Alexander Hinneburg Seite 656 Martin-Luther-Universität Halle-Wittenberg Y. Lee, J. Geller: Efficient Transitive Closure Reasoning in a combined Class/Part/Containment Hierarchy, Knowledge and Information Systems 2002, 4:305-328 Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg • Intervall nicht zum aktuellen Vorgängerknoten hinzufügen • Intervall nicht zu den nächsten Vorgängern weiterreichen • Falls keine Lücken mehr vorhanden => Neuorganisation der Kodierung für die transitive Hülle • Updates erhalten nicht die optimale Kodierung für transitive Hülle, d.h. periodische Neuorganisation • Weitere Details in: R. Agrawal, A. Borgida, H.V. Jagadish: Efficient Management of transitive Relationships in Large Data and Knowledge Bases, Sigmod 1989, 253262 Sommersemester 2005/06 Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg Beispiel Sommersemester 2005/06 Einfügen von Nicht-Baum-Kanten Seite 658 Seite 657