Vorlesungsplan Datenintegration Data Warehousing - Martin

Werbung
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
Herunterladen