diff --git a/src/ontology/idpo-edit.owl b/src/ontology/idpo-edit.owl index fbd0dcd..562b51b 100644 --- a/src/ontology/idpo-edit.owl +++ b/src/ontology/idpo-edit.owl @@ -14,7 +14,9 @@ Annotation( ) Annotation( ) Annotation( ) +Annotation( ) Annotation( ) +Annotation( ) Annotation( ) Annotation( "It describes structural aspects of an IDP/IDR, self-functions and functions directly associated with their disordered state.") Annotation( ) @@ -172,14 +174,14 @@ ObjectPropertyRange( (protein structural state) -AnnotationAssertion( "A quality of a protein region, defined by its conformational behavior.") +AnnotationAssertion( "A quality of a protein or protein region, defined by its conformational behavior.") AnnotationAssertion( "conformational state") AnnotationAssertion( "structural state") AnnotationAssertion( "protein_structural_state") AnnotationAssertion( "IDPO:0000001") AnnotationAssertion(rdfs:label "protein structural state") SubClassOf( ) -SubClassOf( ObjectSomeValuesFrom( )) +SubClassOf( ObjectSomeValuesFrom( ObjectUnionOf( ))) # Class: (disorder state) @@ -293,7 +295,7 @@ SubClassOf( ObjectSomeValuesFrom( (molten globule to order) AnnotationAssertion(Annotation( ) Annotation( "PMID:24356903") "Annotation DP01511r002") -AnnotationAssertion( "A structural transition in which a protein changes from a molten globule state to a fully ordered, well-defined three-dimensional conformation.") +AnnotationAssertion( "A structural transition in which a protein region changes from a molten globule state to a fully ordered, well-defined three-dimensional conformation.") AnnotationAssertion( "protein_structural_transition") AnnotationAssertion( "IDPO:0000012") AnnotationAssertion(rdfs:label "molten globule to order") @@ -304,7 +306,7 @@ SubClassOf( ObjectSomeValuesFrom( (pre-molten globule to order) AnnotationAssertion(Annotation( ) Annotation( "PMID:23462742") "Annotation DP02342r013") -AnnotationAssertion( "A structural transition in which a protein region changes from a pre-molten globule to a fully ordered, well-defined three-dimensional conformation.") +AnnotationAssertion( "A structural transition in which a protein region changes from a pre-molten globule state to a fully ordered, well-defined three-dimensional conformation.") AnnotationAssertion( "protein_structural_transition") AnnotationAssertion( "IDPO:0000013") AnnotationAssertion(rdfs:label "pre-molten globule to order") @@ -413,7 +415,7 @@ AnnotationAssertion(Annotation( "PMI AnnotationAssertion( ) AnnotationAssertion( "PMID:38287572") AnnotationAssertion(Annotation( ) "LLPS") -AnnotationAssertion( "liquid–liquid demixing") +AnnotationAssertion( "liquid-liquid demixing") AnnotationAssertion( "higher-order_assembly_transition") AnnotationAssertion( "IDPO:0000025") AnnotationAssertion(rdfs:label "liquid-liquid phase separation") @@ -483,8 +485,7 @@ AnnotationAssertion( "IDPO:0000030") AnnotationAssertion(rdfs:label "entropic chain function") SubClassOf( ) -SubClassOf( ObjectSomeValuesFrom( )) -SubClassOf( ObjectSomeValuesFrom( )) +SubClassOf( ObjectSomeValuesFrom( )) # Class: (entropic chain function inhering in flexible C-terminal tail) @@ -498,7 +499,6 @@ AnnotationAssertion( "IDPO:0000031") AnnotationAssertion(rdfs:label "entropic chain function inhering in flexible C-terminal tail") SubClassOf( ) -SubClassOf( ObjectSomeValuesFrom( )) # Class: (entropic chain function inhering in flexible N-terminal tail) @@ -512,11 +512,10 @@ AnnotationAssertion( "IDPO:0000032") AnnotationAssertion(rdfs:label "entropic chain function inhering in flexible N-terminal tail") SubClassOf( ) -SubClassOf( ObjectSomeValuesFrom( )) # Class: (entropic chain function inhering in flexible linker) -AnnotationAssertion(Annotation( "PMID:12022860") "An entropic chain function that inheres in a intrinsically disordered region comprising a flexible linker that connects adjacent functional elements of a protein, providing spatial separation that permits independent yet coordinated activity.") +AnnotationAssertion(Annotation( "PMID:12022860") "An entropic chain function that inheres in an intrinsically disordered region comprising a flexible linker that connects adjacent functional elements of a protein, providing spatial separation that permits independent yet coordinated activity.") AnnotationAssertion( "disordered linker") AnnotationAssertion( "flexible linker") AnnotationAssertion( "flexible spacer") @@ -524,7 +523,6 @@ AnnotationAssertion( "IDPO:0000033") AnnotationAssertion(rdfs:label "entropic chain function inhering in flexible linker") SubClassOf( ) -SubClassOf( ObjectSomeValuesFrom( )) # Class: (short linear motif role) @@ -731,7 +729,7 @@ SubClassOf( (intramolecular assembly function) -AnnotationAssertion( "An intramolecular interaction function that inheres in a protein region and is realized in its association with one or more other regions of the same protein to promote a specific conformational organisation of the protein.") +AnnotationAssertion( "An intramolecular interaction function that inheres in a protein region and is realized in its association with one or more other regions of the same protein to promote a specific conformational organization of the protein.") AnnotationAssertion( "self assembly") AnnotationAssertion( "self-assembly") AnnotationAssertion( "disorder_function") @@ -913,13 +911,13 @@ SubClassOf( (role in molecular recognition) -AnnotationAssertion( "A disorder role that inheres in an intrinsically disordered protein region in virtue of its sequence or structural properties being recognised by a molecular partner, and is realized in a molecular recognition process.") +AnnotationAssertion( "A disorder role that inheres in an intrinsically disordered protein region in virtue of its sequence or structural properties being recognized by a molecular partner, and is realized in a molecular recognition process.") AnnotationAssertion( "molecular recognition") AnnotationAssertion( "disorder_role") AnnotationAssertion( "IDPO:0000085") AnnotationAssertion(rdfs:label "role in molecular recognition") SubClassOf( ) -SubClassOf( ObjectSomeValuesFrom( )) +SubClassOf( ObjectSomeValuesFrom( )) # Class: (post-translational modification motif role) @@ -942,68 +940,73 @@ AnnotationAssertion(owl:deprecated # Class: (compound) -AnnotationAssertion( "A molecule composed of two or more distinct chemical components.") -AnnotationAssertion( "compound") +AnnotationAssertion( "An object composed of two or more distinct chemical constituents.") +AnnotationAssertion( "material_entity") AnnotationAssertion( "IDPO:0000091") AnnotationAssertion(rdfs:label "compound") -SubClassOf( ) +SubClassOf( ) # Class: (condensate) -AnnotationAssertion( "A compound formed via phase separation or related physicochemical processes.") -AnnotationAssertion( "compound") +AnnotationAssertion( "An object aggregate that constitutes a distinct phase formed by phase separation or a related physicochemical process.") +AnnotationAssertion( "material_entity") AnnotationAssertion( "IDPO:0000092") AnnotationAssertion(rdfs:label "condensate") -SubClassOf( ) +SubClassOf( ) # Class: (biomolecular condensate) AnnotationAssertion( "A condensate composed of biomolecules such as proteins, protein regions, or nucleic acid strands, typically formed through phase separation driven by weak multivalent interactions.") -AnnotationAssertion( "compound") +AnnotationAssertion( "material_entity") AnnotationAssertion( "IDPO:0000093") AnnotationAssertion(rdfs:label "biomolecular condensate") SubClassOf( ) +SubClassOf( ObjectSomeValuesFrom( )) # Class: (protein) -AnnotationAssertion( "A molecule composed of one or more polypeptide chains.") -AnnotationAssertion( "protein") +AnnotationAssertion( "An object composed of one or more polypeptide chains.") +AnnotationAssertion( "material_entity") AnnotationAssertion( "IDPO:0000094") AnnotationAssertion(rdfs:label "protein") -SubClassOf( ) +SubClassOf( ) # Class: (protein region) -AnnotationAssertion( "A contiguous segment of a protein that can be distinguished by its structural, functional, or sequence properties.") -AnnotationAssertion( "protein") +AnnotationAssertion( "A fiat object part that is a contiguous portion of a protein distinguishable by its structural, functional, or sequence properties.") +AnnotationAssertion( "material_entity") AnnotationAssertion( "IDPO:0000095") AnnotationAssertion(rdfs:label "protein region") -SubClassOf( ) +SubClassOf( ) +SubClassOf( ObjectSomeValuesFrom( )) # Class: (intrinsically disordered protein) -AnnotationAssertion( "A protein that wholly lacks a stable, fixed three-dimensional structure under physiological conditions.") +AnnotationAssertion( "A protein that lacks a stable, fixed three-dimensional structure along its entire length under physiological conditions.") AnnotationAssertion( "IDP") -AnnotationAssertion( "protein") +AnnotationAssertion( "material_entity") AnnotationAssertion( "IDPO:0000096") AnnotationAssertion(rdfs:label "intrinsically disordered protein") +EquivalentClasses( ObjectIntersectionOf( ObjectSomeValuesFrom( ))) SubClassOf( ) # Class: (intrinsically disordered region) AnnotationAssertion( "A protein region that lacks a stable, fixed three-dimensional structure under physiological conditions.") AnnotationAssertion( "IDR") -AnnotationAssertion( "protein") +AnnotationAssertion( "material_entity") AnnotationAssertion( "IDPO:0000097") AnnotationAssertion(rdfs:label "intrinsically disordered region") +EquivalentClasses( ObjectIntersectionOf( ObjectSomeValuesFrom( ))) SubClassOf( ) # Class: (ordered region) AnnotationAssertion( "A protein region that adopts a stable, fixed three-dimensional structure under physiological conditions.") -AnnotationAssertion( "protein") +AnnotationAssertion( "material_entity") AnnotationAssertion( "IDPO:0000098") AnnotationAssertion(rdfs:label "ordered region") +EquivalentClasses( ObjectIntersectionOf( ObjectSomeValuesFrom( ))) SubClassOf( ) # Class: (SUMOylation target role) @@ -1017,12 +1020,12 @@ SubClassOf( (disorder role) -AnnotationAssertion( "A role that inheres in an intrinsically disordered protein or protein region in virtue of its conformational flexibility within a biological context, and is realized in a process that depends on that flexibility.") +AnnotationAssertion( "A role that inheres in a protein or protein region in virtue of its conformational flexibility within a biological context, and is realized in a process that depends on that flexibility.") AnnotationAssertion( "disorder_role") AnnotationAssertion( "IDPO:0000100") AnnotationAssertion(rdfs:label "disorder role") SubClassOf( ) -SubClassOf( ObjectSomeValuesFrom( )) +SubClassOf( ObjectSomeValuesFrom( ObjectUnionOf( ))) # Class: (N-glycosylation target role) diff --git a/src/ontology/imports/bfo_terms.txt b/src/ontology/imports/bfo_terms.txt index 80e16ae..5dd1ae6 100644 --- a/src/ontology/imports/bfo_terms.txt +++ b/src/ontology/imports/bfo_terms.txt @@ -2,4 +2,9 @@ BFO:0000015 BFO:0000019 BFO:0000034 BFO:0000040 -BFO:0000054 \ No newline at end of file +BFO:0000054 +BFO:0000024 +BFO:0000027 +BFO:0000030 +BFO:0000050 +BFO:0000051 \ No newline at end of file diff --git a/src/ontology/imports/merged_import.owl b/src/ontology/imports/merged_import.owl index c56d2f3..131641d 100644 --- a/src/ontology/imports/merged_import.owl +++ b/src/ontology/imports/merged_import.owl @@ -7,8 +7,8 @@ Prefix(rdfs:=) Ontology( - -Annotation(owl:versionInfo "2026-07-07") + +Annotation(owl:versionInfo "2026-09-14") Declaration(Class()) Declaration(Class()) @@ -20,6 +20,9 @@ Declaration(Class()) Declaration(Class()) Declaration(Class()) Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) Declaration(Class()) Declaration(Class()) Declaration(Class()) @@ -34,6 +37,8 @@ Declaration(Class()) Declaration(Class()) Declaration(Class()) Declaration(Class()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) Declaration(ObjectProperty()) Declaration(ObjectProperty()) Declaration(ObjectProperty()) @@ -54,10 +59,12 @@ Declaration(ObjectProperty()) Declaration(ObjectProperty()) Declaration(ObjectProperty()) Declaration(ObjectProperty()) +Declaration(ObjectProperty()) Declaration(ObjectProperty()) Declaration(ObjectProperty()) Declaration(ObjectProperty()) Declaration(ObjectProperty()) +Declaration(ObjectProperty()) Declaration(ObjectProperty()) Declaration(ObjectProperty()) Declaration(ObjectProperty()) @@ -167,7 +174,7 @@ AnnotationAssertion( "has broad synonym"@en) AnnotationAssertion(rdfs:label "has_broad_synonym") -# Annotation Property: (has cross-reference) +# Annotation Property: (database_cross_reference) AnnotationAssertion( "disease characteristic (MONDO:0021125) has cross-reference (http://www.geneontology.org/formats/oboInOwl#hasDbXref) \"NCIT:C41009\"^^xsd:string") AnnotationAssertion( "An annotation property that links an ontology entity or a statement to a prefixed identifier or URI.") @@ -195,6 +202,27 @@ AnnotationAssertion(rdfs:label (part of) + +AnnotationAssertion( "my brain is part of my body (continuant parthood, two material entities)"@en) +AnnotationAssertion( "my stomach cavity is part of my stomach (continuant parthood, immaterial entity is part of material entity)"@en) +AnnotationAssertion( "this day is part of this year (occurrent parthood)"@en) +AnnotationAssertion( "a core relation that holds between a part and its whole"@en) +AnnotationAssertion(rdfs:label "part of"@en) +SubObjectPropertyOf( ) +InverseObjectProperties( ) +TransitiveObjectProperty() + +# Object Property: (has part) + +AnnotationAssertion( "my body has part my brain (continuant parthood, two material entities)"@en) +AnnotationAssertion( "my stomach has part my stomach cavity (continuant parthood, material entity has part immaterial entity)"@en) +AnnotationAssertion( "this year has part this day (occurrent parthood)"@en) +AnnotationAssertion( "a core relation that holds between a whole and its part"@en) +AnnotationAssertion(rdfs:label "has part"@en) +SubObjectPropertyOf( ) +TransitiveObjectProperty() + # Object Property: (realized in) AnnotationAssertion( "this disease is realized in this disease course"@en) @@ -367,6 +395,13 @@ InverseObjectProperties( "immediately precedes"@en) SubObjectPropertyOf( ) +# Object Property: (overlaps) + +AnnotationAssertion( "x overlaps y if and only if there exists some z such that x has part z and z part of y") +AnnotationAssertion(rdfs:label "overlaps"@en) +SubObjectPropertyOf( ) +SymmetricObjectProperty() + # Object Property: (temporally related to) AnnotationAssertion( ) @@ -396,6 +431,11 @@ AnnotationAssertion( "characteristic of part of"@en) SubObjectPropertyOf( ) +# Object Property: (mereotopologically related to) + +AnnotationAssertion( "A mereological relationship or a topological relationship") +AnnotationAssertion(rdfs:label "mereotopologically related to"@en) + # Object Property: (functionally related to) AnnotationAssertion( "A grouping relationship for any relationship directly involving a function, or that holds because of a function of one of the related entities.") @@ -564,13 +604,17 @@ AnnotationAssertion(rdfs:label "ent AnnotationAssertion( "An entity that exists in full at any time in which it exists at all, persists through time while maintaining its identity and has no temporal parts."@en) AnnotationAssertion(rdfs:label "continuant"@en) SubClassOf( ) +SubClassOf( ObjectAllValuesFrom( )) DisjointClasses( ) +DisjointClasses( ObjectSomeValuesFrom( )) # Class: (occurrent) AnnotationAssertion( "An entity that has temporal parts and that happens, unfolds or develops through time."@en) AnnotationAssertion(rdfs:label "occurrent"@en) SubClassOf( ) +SubClassOf( ObjectAllValuesFrom( )) +DisjointClasses( ObjectSomeValuesFrom( )) # Class: (independent continuant) @@ -586,6 +630,7 @@ AnnotationAssertion( "the interior of your mouth"@en) AnnotationAssertion(rdfs:label "independent continuant"@en) SubClassOf( ) +SubClassOf( ObjectAllValuesFrom( )) DisjointClasses( ) DisjointClasses( ) @@ -621,6 +666,7 @@ AnnotationAssertion( "A specifically dependent continuant that inheres in continuant entities and are not exhibited in full at every time in which it inheres in an entity or group of entities. The exhibition or actualization of a realizable entity is a particular manifestation, functioning or process that occurs under certain circumstances."@en) AnnotationAssertion(rdfs:label "realizable entity"@en) SubClassOf( ) +SubClassOf( ObjectAllValuesFrom( )) DisjointClasses( ) # Class: (quality) @@ -633,6 +679,7 @@ AnnotationAssertion( "the shape of your nostril"@en) AnnotationAssertion(rdfs:label "quality"@en) SubClassOf( ) +SubClassOf( ObjectAllValuesFrom( )) # Class: (specifically dependent continuant) @@ -649,6 +696,7 @@ AnnotationAssertion( "the smell of this portion of mozzarella"@en) AnnotationAssertion(rdfs:label "specifically dependent continuant"@en) SubClassOf( ) +SubClassOf( ObjectAllValuesFrom( )) DisjointClasses( ) # Class: (role) @@ -664,6 +712,52 @@ AnnotationAssertion( "role"@en) SubClassOf( ) +# Class: (fiat object part) + +AnnotationAssertion( "or with divisions drawn by cognitive subjects for practical reasons, such as the division of a cake (before slicing) into (what will become) slices (and thus member parts of an object aggregate). However, this does not mean that fiat object parts are dependent for their existence on divisions or delineations effected by cognitive subjects. If, for example, it is correct to conceive geological layers of the Earth as fiat object parts of the Earth, then even though these layers were first delineated in recent times, still existed long before such delineation and what holds of these layers (for example that the oldest layers are also the lowest layers) did not begin to hold because of our acts of delineation.Treatment of material entity in BFOExamples viewed by some as problematic cases for the trichotomy of fiat object part, object, and object aggregate include: a mussel on (and attached to) a rock, a slime mold, a pizza, a cloud, a galaxy, a railway train with engine and multiple carriages, a clonal stand of quaking aspen, a bacterial community (biofilm), a broken femur. Note that, as Aristotle already clearly recognized, such problematic cases – which lie at or near the penumbra of instances defined by the categories in question – need not invalidate these categories. The existence of grey objects does not prove that there are not objects which are black and objects which are white; the existence of mules does not prove that there are not objects which are donkeys and objects which are horses. It does, however, show that the examples in question need to be addressed carefully in order to show how they can be fitted into the proposed scheme, for example by recognizing additional subdivisions [29"@en) +AnnotationAssertion( "the FMA:regional parts of an intact human body."@en) +AnnotationAssertion( "the Western hemisphere of the Earth"@en) +AnnotationAssertion( "the division of the brain into regions"@en) +AnnotationAssertion( "the division of the planet into hemispheres"@en) +AnnotationAssertion( "the dorsal and ventral surfaces of the body"@en) +AnnotationAssertion( "the upper and lower lobes of the left lung"@en) +AnnotationAssertion(rdfs:label "fiat object part"@en) +SubClassOf( ) + +# Class: (object aggregate) + +AnnotationAssertion( "a collection of cells in a blood biobank."@en) +AnnotationAssertion( "a swarm of bees is an aggregate of members who are linked together through natural bonds"@en) +AnnotationAssertion( "a symphony orchestra"@en) +AnnotationAssertion( "an organization is an aggregate whose member parts have roles of specific types (for example in a jazz band, a chess club, a football team)"@en) +AnnotationAssertion( "defined by fiat: the aggregate of members of an organization"@en) +AnnotationAssertion( "defined through physical attachment: the aggregate of atoms in a lump of granite"@en) +AnnotationAssertion( "defined through physical containment: the aggregate of molecules of carbon dioxide in a sealed container"@en) +AnnotationAssertion( "defined via attributive delimitations such as: the patients in this hospital"@en) +AnnotationAssertion( "the aggregate of bearings in a constant velocity axle joint"@en) +AnnotationAssertion( "the aggregate of blood cells in your body"@en) +AnnotationAssertion( "the nitrogen atoms in the atmosphere"@en) +AnnotationAssertion( "the restaurants in Palo Alto"@en) +AnnotationAssertion( "your collection of Meissen ceramic plates."@en) +AnnotationAssertion(rdfs:label "object aggregate"@en) +SubClassOf( ) + +# Class: (object) + +AnnotationAssertion( "atom"@en) +AnnotationAssertion( "cell"@en) +AnnotationAssertion( "cells and organisms"@en) +AnnotationAssertion( "engineered artifacts"@en) +AnnotationAssertion( "grain of sand"@en) +AnnotationAssertion( "molecule"@en) +AnnotationAssertion( "organelle"@en) +AnnotationAssertion( "organism"@en) +AnnotationAssertion( "planet"@en) +AnnotationAssertion( "solid portions of matter"@en) +AnnotationAssertion( "star"@en) +AnnotationAssertion(rdfs:label "object"@en) +SubClassOf( ) + # Class: (generically dependent continuant) AnnotationAssertion( "The entries in your database are patterns instantiated as quality instances in your hard drive. The database itself is an aggregate of such patterns. When you create the database you create a particular instance of the generically dependent continuant type database. Each entry in the database is an instance of the generically dependent continuant type IAO: information content entity."@en) @@ -671,6 +765,7 @@ AnnotationAssertion( "the sequence of this protein molecule; the sequence that is a copy thereof in that protein molecule."@en) AnnotationAssertion(rdfs:label "generically dependent continuant"@en) SubClassOf( ) +SubClassOf( ObjectAllValuesFrom( )) # Class: (function) @@ -897,8 +992,17 @@ AnnotationAssertion( "out of scope") +SubObjectPropertyOf(ObjectPropertyChain( ) ) +SubObjectPropertyOf(ObjectPropertyChain( ) ) +SubObjectPropertyOf(ObjectPropertyChain( ) ) +SubObjectPropertyOf(ObjectPropertyChain( ) ) +SubObjectPropertyOf(ObjectPropertyChain( ) ) +SubObjectPropertyOf(ObjectPropertyChain( ) ) SubObjectPropertyOf(ObjectPropertyChain( ) ) +SubObjectPropertyOf(ObjectPropertyChain( ) ) SubObjectPropertyOf(ObjectPropertyChain( ) ) +SubObjectPropertyOf(ObjectPropertyChain( ) ) +SubObjectPropertyOf(ObjectPropertyChain( ) ) SubObjectPropertyOf(ObjectPropertyChain( ) ) DLSafeRule(Body(ClassAtom( Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable()))) DLSafeRule(Body(ClassAtom( Variable()) ObjectPropertyAtom( Variable() Variable()))Head(ObjectPropertyAtom( Variable() Variable())))