680 likes | 874 Views
Ontology Databases: Detecting Inconsistencies in the Gene Ontology using Not-gadgets. Paea LePendu University of Oregon. Talk: National Center for Biomedical Ontology ◦ Stanford University ◦ September , 2009. General Interests. Logic. Programming Languages. Databases.
E N D
Ontology Databases:Detecting Inconsistencies in the Gene Ontology using Not-gadgets Paea LePendu University of Oregon Talk:National Center for Biomedical Ontology ◦ Stanford University ◦ September, 2009
General Interests Logic Programming Languages Databases Automated Reasoning
Outline • Ontology-based Data Management • Background, Motivation • Theory • Benchmarking • Application Domain, Query Answering • Inconsistency Detection • Theory • The serotonin example • GO plus ZFIN, MGI annotations
Ontology-based Database Integration:reducing database integration to ontology translation
Ontology-based Database Integration:reducing database integration to ontology translation
Ontology-based Data Management Class Property Datatype SubClass Restriction Individual Relation Attribute Datatype Keys Constraint View Trigger Tuple
Ontology-based Data Management User Ontology Data Access Layer Data Annotation Data Management RDBMS RDBMS RDBMS RDBMS RDBMS
Example: sisters-siblings This is what we know : All sisters are siblings. Hilary and Lynn are sisters. This is what we want to know : { <x,y> | siblingOf(x,y) } Who are siblings? Obviously, the answer should be : { <Hilary, Lynn> } Hilary and Lynn are siblings.
Example: The Gene Ontology GO_0003674 z01, z02, z03 GO_0005488 e01,e02, e03 GO_0030528 y01, y02, y03 GO_0003676 c01, c02, c03 GO_0045182 b01, b02, b03 GO_0003677 x01, x02, x03 GO_0008135 a01, a02, a03 GO_0003723 d01, d02, d03 GO_0003700 w01, w02, w03
Example: The Gene Ontology GO_0003674 z01, z02, z03 GO_0005488 e01,e02, e03 GO_0030528 y01, y02, y03 GO_0003676 c01, c02, c03 GO_0045182 b01, b02, b03 GO_0003677 x01, x02, x03 GO_0008135 a01, a02, a03 GO_0003723 d01, d02, d03 GO_0003700 w01, w02, w03
Ontology Databases:General Models for Database Designs • Generality is important • Avoid rewriting • Scalability of KB is important • Persistence, caching and indexing • Major generic models • Horizontal Models • Vertical Models • Decomposition Storage Models
Ontology Databases: View-based Approach CREATE VIEW v_Person(id) AS SELECT id FROM Person UNION SELECT id FROM v_Male UNION SELECT id FROM v_Female Person Female Male [Pan & Heflin. DLDB: Extending Relational Databases to Support Semantic Web Queries. ISWC, 2003.]
Ontology Databases: Active Database Approach ON INSERT into Male INSERT into Person On INSERT into Female INSERT into Person Person Female Male [LePendu, et al. Ontology Database: a New Method for Semantic Modeling and an Application to Brainwave Data. SSDBM, 2008.]
Ontology Databases: Active Database Approach ON INSERT into Male INSERT into Person On INSERT into Female INSERT into Person Person Female Male
Ontology Databases: Active Database Approach Person Female Male
Ontology Databases: Active Database Approach Person Female Male
Ontology Databases: Active Database Approach Person Female Male
Ontology Databases: Active Database Approach Person Female Male
Ontology Databases: Active Database Approach Person Female Male
Ontology Databases: Active Database Approach Person Female Male
Example: sisters-siblings (revisited) This is what we know : All sisters are siblings. Hilary and Lynn are sisters. This is what we want to know : Who are siblings? Obviously, the answer should be : Hilary and Lynn are siblings.
Example: sisters-siblings (revisited) This is what we know : All sisters are siblings. Hilary and Lynn are sisters. This is what we want to know : Who are siblings? Obviously, the answer should be : Hilary and Lynn are siblings.
Example: sisters-siblings (revisited) This is what we know : All sisters are siblings. Hilary and Lynn are sisters. This is what we want to know : Who are siblings? Obviously, the answer should be : Hilary and Lynn are siblings.
Example: sisters-siblings (revisited) This is what we know : All sisters are siblings. Hilary and Lynn are sisters. This is what we want to know : { <x,y> | siblingOf(x,y) } Who are siblings? Obviously, the answer should be : Hilary and Lynn are siblings.
Example: sisters-siblings (revisited) This is what we know : All sisters are siblings. Hilary and Lynn are sisters. This is what we want to know : { <x,y> | siblingOf(x,y) } Who are siblings? Just look it up! Obviously, the answer should be : Hilary and Lynn are siblings.
Example: sisters-siblings (revisited) This is what we know : All sisters are siblings. Hilary and Lynn are sisters. This is what we want to know : { <x,y> | siblingOf(x,y) } Who are siblings? Just look it up! Obviously, the answer should be : { <Hilary, Lynn> } Hilary and Lynn are siblings.
Lehigh University Benchmark (LUBM) Load Time and Query Time (1.5 million facts) (10 Universities, 20 Departments) [Guo, et al. LUBM: A Benchmark for OWL Knowledge Base Systems. J Web Semantics, 2005.]
Ontology-based Data Management [Frishkoff, et al. Development of Neural Electromagnetic Ontologies (NEMO): Ontology-based Tools for Representation and Integration of Event-related Brain Potentials. ICBO, 2009]
Ontology-based Query Answering Return all data instances that belong to ERP pattern classes which have a surface positivity over frontal regions of interest and are earlier than the N400. Which patterns have a region of interest that is left-occipital and manifests between 220 and 300ms? What is the range of intensity mean for the region of interest for N100? Show the region of interest for all ERP patterns that occur between 0 and 300ms. Which PCA factor do P100 patterns most often appear in? What is the range of intensity mean for the region of interest for N100 patterns? Show the patterns whose region of interest is left occipital and occurs between 220 and 300ms.
Inconsistency Detection • Background and Motivation • Expressiveness • From disjunctions to negations • Theory • Not-gadgets • Motivation • Serotonin example • ATP-gated cation channel activity • Results from ZFIN and MGI Annotations
Not-gadgets ¬ → ¬
Example: inconsistency detection "Annotations in this way sometimes point to errors in the type-type relationships described in the ontology. An example is the recent removal of the type serotonin secretion as an is_a child of neurotransmitter secretion from the GO Biological Process ontology. This modification was made as a result of an annotation from a paper showing that serotonin can be secreted by cells of the immune system where it does not act as a neurotransmitter.“ [Hill, et al. Gene Ontology annotations: what they mean and where they come from. BMC Bioinformatics, 2008]
Example: serotonin secretion gene-x not-gadget fail! gene-x
Example: GO:0004931 ATP-gated cation channel activity (as of 3/09): [Term] id: GO:0004931 name: ATP-gated cation channel activity namespace: molecular_function def: "Catalysis of the transmembrane transfer of an ion by a channel that opens when extracellular ATP has been bound by the channel complex or one of its constituent parts." [GOC:mah, PMID:9755289] comment: Note that this term refers to an activity and not a gene product. Consider also annotating to the molecular function term 'purinergic nucleotide receptor activity ; GO:0001614'. synonym: "P2X activity" RELATED [] synonym: "purinoceptor" BROAD [] synonym: "purinoreceptor" BROAD [] is_a: GO:0005231 ! excitatory extracellular ligand-gated ion channel activity is_a: GO:0005261 ! cation channel activity
Example: GO:0004931 GO:0004391 sub-graph (using Jambalaya):
Example: GO:0004931 What is so interesting about GO:0004391? ZFIN ZDB-GENE-030319-2 p2rx2 NOTGO:0004931 ZFIN:ZDB-PUB-031031-8|PMID:14580944 IDA F purinergic receptor P2X, ligand-gated ion channel, 2 gene taxon:7955 20071005 ZFIN ZFIN ZDB-GENE-030319-2 p2rx2 GO:0004931 ZFIN:ZDB-PUB-031031-8|PMID:14580944 IGI ZFIN:ZDB-GENE-000427-3 F purinergic receptor P2X, ligand-gated ion channel, 2 gene taxon:7955 20071005 ZFIN Source: [1/13/2009] http://www.geneontology.org/gene-associations/
Example: GO:0004931 The not-gadget will raise a logical inconsistency. • p2rx2 NOTGO:0004931 • p2rx2 GO:0004931 GO_0004931 not-gadget fail! _GO_0004931 p2rx2 * Tables starting with an '_' are negations.
Example: GO:0004931 GO:0004391 sub-graph (using Jambalaya):
Example: GO:0004931 GO:0004391 sub-graph (using Jambalaya):
Example: GO:0004931 GO:0004391 sub-graph (using Jambalaya):