From eb0579c4c6d887803942a2cd0657561440c7f6d1 Mon Sep 17 00:00:00 2001 From: cmungall Date: Thu, 13 Dec 2018 12:29:31 +0100 Subject: [PATCH 1/4] First pass at more specific has-input relations See also #230 #244 --- src/ontology/ro-edit.owl | 47 +++++++++++++++++++++++++++++++--------- 1 file changed, 37 insertions(+), 10 deletions(-) diff --git a/src/ontology/ro-edit.owl b/src/ontology/ro-edit.owl index 46aa0a6f..067229cb 100644 --- a/src/ontology/ro-edit.owl +++ b/src/ontology/ro-edit.owl @@ -18,17 +18,17 @@ Prefix(oboInOwl:=) Ontology( Import() +Import() +Import() +Import() Import() -Import() -Import() +Import() Import() -Import() Import() -Import() -Import() Import() -Import() -Import() +Import() +Import() +Import() Annotation(dc:description "The OBO Relations Ontology (RO) is a collection of OWL relations (ObjectProperties) intended for use across a wide variety of biological ontologies."@en) Annotation(dc:source ) Annotation(dc:title "OBO Relations Ontology"@en) @@ -456,6 +456,9 @@ Declaration(ObjectProperty(obo:RO_0004003)) Declaration(ObjectProperty(obo:RO_0004004)) Declaration(ObjectProperty(obo:RO_0004005)) Declaration(ObjectProperty(obo:RO_0004006)) +Declaration(ObjectProperty(obo:RO_0004007)) +Declaration(ObjectProperty(obo:RO_0004008)) +Declaration(ObjectProperty(obo:RO_0004009)) Declaration(ObjectProperty(obo:RO_0004010)) Declaration(ObjectProperty(obo:RO_0004011)) Declaration(ObjectProperty(obo:RO_0004012)) @@ -2218,7 +2221,7 @@ AnnotationAssertion(rdfs:label obo:RO_0002217 "actively participates in"@en) SubObjectPropertyOf(obo:RO_0002217 obo:RO_0000056) InverseObjectProperties(obo:RO_0002217 obo:RO_0002218) -# Object Property: obo:RO_0002218 (has active participant) +# Object Property: obo:RO_0002218 (obsolete has active participant) AnnotationAssertion(obo:IAO_0000112 obo:RO_0002218 "'heart development' has active participant some Shh protein") AnnotationAssertion(obo:IAO_0000114 obo:RO_0002218 obo:IAO_0000125) @@ -2227,7 +2230,8 @@ AnnotationAssertion(obo:IAO_0000116 obo:RO_0002218 "This may be obsoleted and re AnnotationAssertion(obo:IAO_0000117 obo:RO_0002218 "Chris Mungall") AnnotationAssertion(obo:IAO_0000118 obo:RO_0002218 "has agent") AnnotationAssertion(oboInOwl:inSubset obo:RO_0002218 subsets:ro-eco) -AnnotationAssertion(rdfs:label obo:RO_0002218 "has active participant"@en) +AnnotationAssertion(rdfs:label obo:RO_0002218 "obsolete has active participant"^^xsd:string) +AnnotationAssertion(owl:deprecated obo:RO_0002218 "true"^^xsd:boolean) SubObjectPropertyOf(obo:RO_0002218 obo:RO_0000057) # Object Property: obo:RO_0002219 (surrounded by) @@ -5149,6 +5153,29 @@ AnnotationAssertion(rdfs:label obo:RO_0004006 "has partial material basis in ger SubObjectPropertyOf(obo:RO_0004006 obo:RO_0004000) InverseObjectProperties(obo:RO_0004006 obo:RO_0004016) +# Object Property: obo:RO_0004007 (has primary participant) + +AnnotationAssertion(oboInOwl:created_by obo:RO_0004007 "cjm"^^xsd:string) +AnnotationAssertion(oboInOwl:creation_date obo:RO_0004007 "2018-12-13T11:26:17Z"^^xsd:dateTime) +AnnotationAssertion(rdfs:label obo:RO_0004007 "has primary participant") +SubObjectPropertyOf(obo:RO_0004007 obo:RO_0000057) + +# Object Property: obo:RO_0004008 (has primary output) + +AnnotationAssertion(oboInOwl:created_by obo:RO_0004008 "cjm"^^xsd:string) +AnnotationAssertion(oboInOwl:creation_date obo:RO_0004008 "2018-12-13T11:26:32Z"^^xsd:dateTime) +AnnotationAssertion(rdfs:label obo:RO_0004008 "has primary output") +SubObjectPropertyOf(obo:RO_0004008 obo:RO_0002234) +SubObjectPropertyOf(obo:RO_0004008 obo:RO_0004007) + +# Object Property: obo:RO_0004009 (has primary input) + +AnnotationAssertion(oboInOwl:created_by obo:RO_0004009 "cjm"^^xsd:string) +AnnotationAssertion(oboInOwl:creation_date obo:RO_0004009 "2018-12-13T11:26:56Z"^^xsd:dateTime) +AnnotationAssertion(rdfs:label obo:RO_0004009 "has primary input") +SubObjectPropertyOf(obo:RO_0004009 obo:RO_0002233) +SubObjectPropertyOf(obo:RO_0004009 obo:RO_0004007) + # Object Property: obo:RO_0004010 (is genetic basis for condition) AnnotationAssertion(obo:IAO_0000232 obo:RO_0004010 "Do not use this relation directly. It is intended as a grouping for a more specific relations") @@ -5842,7 +5869,7 @@ DLSafeRule(Annotation(rdfs:comment "This rule is dubious: added as a quick fix f DLSafeRule(Annotation(rdfs:comment "If a molecular function (X) has a regulatory subfunction, then any gene product which is an input to that subfunction has an activity that directly_regulates X. Note: this is intended for cases where the regaultory subfunction is protein binding, so it could be tightened with an additional clause to specify this.") Annotation(rdfs:label "inferring direct reg edge from input to regulatory subfunction") Body(ObjectPropertyAtom(obo:RO_0002352 Variable() Variable()) ObjectPropertyAtom(obo:RO_0002333 Variable() Variable()) ObjectPropertyAtom(obo:RO_0002013 Variable() Variable()))Head(ObjectPropertyAtom(obo:RO_0002578 Variable() Variable()))) DLSafeRule(Annotation(rdfs:label "inferring direct neg reg edge from input to regulatory subfunction") Body(ObjectPropertyAtom(obo:RO_0002352 Variable() Variable()) ObjectPropertyAtom(obo:RO_0002333 Variable() Variable()) ObjectPropertyAtom(obo:RO_0002014 Variable() Variable()))Head(ObjectPropertyAtom(obo:RO_0002630 Variable() Variable()))) DLSafeRule(Annotation(rdfs:label "inferring direct positive reg edge from input to regulatory subfunction") Body(ObjectPropertyAtom(obo:RO_0002352 Variable() Variable()) ObjectPropertyAtom(obo:RO_0002333 Variable() Variable()) ObjectPropertyAtom(obo:RO_0002015 Variable() Variable()))Head(ObjectPropertyAtom(obo:RO_0002629 Variable() Variable()))) -DLSafeRule(Annotation(rdfs:label "From has_ligand to ligand activity") Body(ObjectPropertyAtom(obo:RO_0002019 Variable() Variable()) ObjectPropertyAtom(obo:RO_0002327 Variable() Variable()))Head(ClassAtom(obo:GO_0048018 Variable()) ObjectPropertyAtom(obo:RO_0002578 Variable() Variable()))) +DLSafeRule(Annotation(rdfs:label "From has_ligand to ligand activity") Body(ObjectPropertyAtom(obo:RO_0002327 Variable() Variable()) ObjectPropertyAtom(obo:RO_0002019 Variable() Variable()))Head(ClassAtom(obo:GO_0048018 Variable()) ObjectPropertyAtom(obo:RO_0002578 Variable() Variable()))) DLSafeRule(Annotation(rdfs:label "effector input is compound function input") Body(ObjectPropertyAtom(obo:RO_0002233 Variable() Variable()) ObjectPropertyAtom(obo:RO_0002025 Variable() Variable()))Head(ObjectPropertyAtom(obo:RO_0002233 Variable() Variable()))) DLSafeRule(Annotation(rdfs:label "Input of effector is input of its parent MF") Body(ObjectPropertyAtom(obo:RO_0002233 Variable() Variable()) ObjectPropertyAtom(obo:RO_0002025 Variable() Variable()))Head(ObjectPropertyAtom(obo:RO_0002233 Variable() Variable()))) DLSafeRule(Annotation(rdfs:comment "if effector directly regulates X, its parent MF directly regulates X") Body(ObjectPropertyAtom(obo:RO_0002025 Variable() Variable()) ObjectPropertyAtom(obo:RO_0002578 Variable() Variable()))Head(ObjectPropertyAtom(obo:RO_0002578 Variable() Variable()))) From d1b3b285d574431d06ffc5af908884bb0b8059f2 Mon Sep 17 00:00:00 2001 From: cmungall Date: Thu, 13 Dec 2018 12:31:10 +0100 Subject: [PATCH 2/4] making enabled_by a subprop of has participant, fixes #249 --- src/ontology/ro-edit.owl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ontology/ro-edit.owl b/src/ontology/ro-edit.owl index 067229cb..f7510ae3 100644 --- a/src/ontology/ro-edit.owl +++ b/src/ontology/ro-edit.owl @@ -2927,6 +2927,7 @@ SubObjectPropertyOf(obo:RO_0002332 obo:RO_0002328) AnnotationAssertion(obo:IAO_0000115 obo:RO_0002333 "inverse of enables") AnnotationAssertion(obo:IAO_0000117 obo:RO_0002333 "Chris Mungall") AnnotationAssertion(rdfs:label obo:RO_0002333 "enabled by"@en) +SubObjectPropertyOf(obo:RO_0002333 obo:RO_0000057) SubObjectPropertyOf(obo:RO_0002333 obo:RO_0002328) # Object Property: obo:RO_0002334 (regulated by) From 2ff0416d9ea7f471db0b277dc3832a9ad43800d4 Mon Sep 17 00:00:00 2001 From: cmungall Date: Thu, 13 Dec 2018 12:33:32 +0100 Subject: [PATCH 3/4] changing name --- src/ontology/ro-edit.owl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ontology/ro-edit.owl b/src/ontology/ro-edit.owl index f7510ae3..086d1875 100644 --- a/src/ontology/ro-edit.owl +++ b/src/ontology/ro-edit.owl @@ -5154,11 +5154,11 @@ AnnotationAssertion(rdfs:label obo:RO_0004006 "has partial material basis in ger SubObjectPropertyOf(obo:RO_0004006 obo:RO_0004000) InverseObjectProperties(obo:RO_0004006 obo:RO_0004016) -# Object Property: obo:RO_0004007 (has primary participant) +# Object Property: obo:RO_0004007 (has primary input or output) AnnotationAssertion(oboInOwl:created_by obo:RO_0004007 "cjm"^^xsd:string) AnnotationAssertion(oboInOwl:creation_date obo:RO_0004007 "2018-12-13T11:26:17Z"^^xsd:dateTime) -AnnotationAssertion(rdfs:label obo:RO_0004007 "has primary participant") +AnnotationAssertion(rdfs:label obo:RO_0004007 "has primary input or output") SubObjectPropertyOf(obo:RO_0004007 obo:RO_0000057) # Object Property: obo:RO_0004008 (has primary output) From f8e8d605ac12df67a36c007e94075220973e25a3 Mon Sep 17 00:00:00 2001 From: cmungall Date: Thu, 31 Jan 2019 10:49:41 -0800 Subject: [PATCH 4/4] adding definitions --- src/ontology/ro-edit.owl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/ontology/ro-edit.owl b/src/ontology/ro-edit.owl index 086d1875..41b80540 100644 --- a/src/ontology/ro-edit.owl +++ b/src/ontology/ro-edit.owl @@ -5156,6 +5156,7 @@ InverseObjectProperties(obo:RO_0004006 obo:RO_0004016) # Object Property: obo:RO_0004007 (has primary input or output) +AnnotationAssertion(obo:IAO_0000115 obo:RO_0004007 "p 'has primary input ot output' c iff either (a) p 'has primary input' c or (b) p 'has primary output' c.") AnnotationAssertion(oboInOwl:created_by obo:RO_0004007 "cjm"^^xsd:string) AnnotationAssertion(oboInOwl:creation_date obo:RO_0004007 "2018-12-13T11:26:17Z"^^xsd:dateTime) AnnotationAssertion(rdfs:label obo:RO_0004007 "has primary input or output") @@ -5163,6 +5164,7 @@ SubObjectPropertyOf(obo:RO_0004007 obo:RO_0000057) # Object Property: obo:RO_0004008 (has primary output) +AnnotationAssertion(Annotation(oboInOwl:hasDbXref "GOC:cjm") Annotation(oboInOwl:hasDbXref "GOC:dph") Annotation(oboInOwl:hasDbXref "GOC:kva") Annotation(oboInOwl:hasDbXref "GOC:pt") Annotation(rdfs:comment "PMID:27812932") obo:IAO_0000115 obo:RO_0004008 "p has primary output c if (a) p has output c and (b) the goal of process is to modify, produce, or transform c.") AnnotationAssertion(oboInOwl:created_by obo:RO_0004008 "cjm"^^xsd:string) AnnotationAssertion(oboInOwl:creation_date obo:RO_0004008 "2018-12-13T11:26:32Z"^^xsd:dateTime) AnnotationAssertion(rdfs:label obo:RO_0004008 "has primary output") @@ -5171,6 +5173,7 @@ SubObjectPropertyOf(obo:RO_0004008 obo:RO_0004007) # Object Property: obo:RO_0004009 (has primary input) +AnnotationAssertion(Annotation(oboInOwl:hasDbXref "GOC:cjm") Annotation(oboInOwl:hasDbXref "GOC:dph") Annotation(oboInOwl:hasDbXref "GOC:kva") Annotation(oboInOwl:hasDbXref "GOC:pt") Annotation(rdfs:comment "PMID:27812932") obo:IAO_0000115 obo:RO_0004009 "p has primary input c if (a) p has input c and (b) the goal of process is to modify, consume, or transform c.") AnnotationAssertion(oboInOwl:created_by obo:RO_0004009 "cjm"^^xsd:string) AnnotationAssertion(oboInOwl:creation_date obo:RO_0004009 "2018-12-13T11:26:56Z"^^xsd:dateTime) AnnotationAssertion(rdfs:label obo:RO_0004009 "has primary input") @@ -5870,7 +5873,7 @@ DLSafeRule(Annotation(rdfs:comment "This rule is dubious: added as a quick fix f DLSafeRule(Annotation(rdfs:comment "If a molecular function (X) has a regulatory subfunction, then any gene product which is an input to that subfunction has an activity that directly_regulates X. Note: this is intended for cases where the regaultory subfunction is protein binding, so it could be tightened with an additional clause to specify this.") Annotation(rdfs:label "inferring direct reg edge from input to regulatory subfunction") Body(ObjectPropertyAtom(obo:RO_0002352 Variable() Variable()) ObjectPropertyAtom(obo:RO_0002333 Variable() Variable()) ObjectPropertyAtom(obo:RO_0002013 Variable() Variable()))Head(ObjectPropertyAtom(obo:RO_0002578 Variable() Variable()))) DLSafeRule(Annotation(rdfs:label "inferring direct neg reg edge from input to regulatory subfunction") Body(ObjectPropertyAtom(obo:RO_0002352 Variable() Variable()) ObjectPropertyAtom(obo:RO_0002333 Variable() Variable()) ObjectPropertyAtom(obo:RO_0002014 Variable() Variable()))Head(ObjectPropertyAtom(obo:RO_0002630 Variable() Variable()))) DLSafeRule(Annotation(rdfs:label "inferring direct positive reg edge from input to regulatory subfunction") Body(ObjectPropertyAtom(obo:RO_0002352 Variable() Variable()) ObjectPropertyAtom(obo:RO_0002333 Variable() Variable()) ObjectPropertyAtom(obo:RO_0002015 Variable() Variable()))Head(ObjectPropertyAtom(obo:RO_0002629 Variable() Variable()))) -DLSafeRule(Annotation(rdfs:label "From has_ligand to ligand activity") Body(ObjectPropertyAtom(obo:RO_0002327 Variable() Variable()) ObjectPropertyAtom(obo:RO_0002019 Variable() Variable()))Head(ClassAtom(obo:GO_0048018 Variable()) ObjectPropertyAtom(obo:RO_0002578 Variable() Variable()))) +DLSafeRule(Annotation(rdfs:label "From has_ligand to ligand activity") Body(ObjectPropertyAtom(obo:RO_0002019 Variable() Variable()) ObjectPropertyAtom(obo:RO_0002327 Variable() Variable()))Head(ClassAtom(obo:GO_0048018 Variable()) ObjectPropertyAtom(obo:RO_0002578 Variable() Variable()))) DLSafeRule(Annotation(rdfs:label "effector input is compound function input") Body(ObjectPropertyAtom(obo:RO_0002233 Variable() Variable()) ObjectPropertyAtom(obo:RO_0002025 Variable() Variable()))Head(ObjectPropertyAtom(obo:RO_0002233 Variable() Variable()))) DLSafeRule(Annotation(rdfs:label "Input of effector is input of its parent MF") Body(ObjectPropertyAtom(obo:RO_0002233 Variable() Variable()) ObjectPropertyAtom(obo:RO_0002025 Variable() Variable()))Head(ObjectPropertyAtom(obo:RO_0002233 Variable() Variable()))) DLSafeRule(Annotation(rdfs:comment "if effector directly regulates X, its parent MF directly regulates X") Body(ObjectPropertyAtom(obo:RO_0002025 Variable() Variable()) ObjectPropertyAtom(obo:RO_0002578 Variable() Variable()))Head(ObjectPropertyAtom(obo:RO_0002578 Variable() Variable())))