obophenotype / uberon

An ontology of gross anatomy covering metazoa. Works in concert with https://github.com/obophenotype/cell-ontology
http://obophenotype.github.io/uberon/
Other
131 stars 29 forks source link

The great base debugging #2495

Closed anitacaron closed 1 year ago

anitacaron commented 2 years ago

EDIT: these unsats are not the problem anymore, look at my comment below.

neuroblast SubClassOf Nothing

Axiom Impact

Axioms used 20 times

Axioms used 19 times

Axioms used 18 times

Axioms used 16 times

Axioms used 15 times

Axioms used 11 times

Axioms used 9 times

Axioms used 7 times

Axioms used 4 times

Axioms used 3 times

Axioms used 2 times

Axioms used 1 times

Ontologies used:

shawntanzk commented 2 years ago

heart plus pericardium SubClassOf thoracic cavity element thoracic cavity element EquivalentTo organ and (located in some thoracic cavity) thoracic cavity EquivalentTo anatomical space and (part of some coelemic cavity lumen) and (luminal space of some thoracic segment of trunk)

I think this part is the issue: heart which his material, through this chain, ends up being part of a space with is not material. I think the located in from (located in some thoracic cavity) is the main issue, a material entity should be allowed to be located in a immaterial entity - from this example, it doesn't seem so.

balhoff commented 2 years ago

Another problem is 'coelomic cavity lumen' is immaterial but inferred to be material :

cmungall commented 2 years ago

has developmental contribution from Domain should be weakened in RO

(we can discuss this longer term and implementing a slightly different developmental model but for now it has to be weakened)

@shawntanzk - the located in relation is fine

Domain: 'independent continuant' and (not ('spatial region')) 'independent continuant'

Range: 'independent continuant' and (not ('spatial region')) 'independent continuant'

(don't worry about SR, it's a useless BFO class)

anitacaron commented 2 years ago

New problem after adding CARO back, please could someone check again? @cmungall @balhoff

subarcualis rectus I SubClassOf Nothing

otic ganglion SubClassOf Nothing

ramus muscularis of glossopharyngeus nerve SubClassOf Nothing

ramus muscularis of vagus nerve SubClassOf Nothing

Axiom Impact

Axioms used 4 times

Axioms used 3 times

Axioms used 2 times

Axioms used 1 times

Ontologies used:

cmungall commented 2 years ago

The explanation makes it easy to see what's going wrong:

id: UBERON:3010726
name: ramus muscularis of glossopharyngeus nerve
def: "Branchiomotor branch of the glossopharyngeus nerve innervating the m. subarcuales rectus I." [AAO:EJS]
is_a: UBERON:0000479 ! tissue
relationship: innervates UBERON:3010659 ! subarcualis rectus I
relationship: part_of UBERON:0001649 ! glossopharyngeal nerve
property_value: provenance_notes "This class was sourced from an external ontology (amphibian_anatomy). Its definitions, naming conventions and relationships may need to be checked for compatibility with uberon" xsd:string {source="http://purl.obolibrary.org/obo/aao.owl"}

in uberon, both nerves and branches of nerves should be subclass of nerve not tissue

as an aside, using the inverse innervated_by is not a pattern in uberon


id: UBERON:3010659
name: subarcualis rectus I
def: "Deep, visceral muscle associated with tongue movement." [AAO:BMZ]
is_a: UBERON:3000224 ! hyobranchial muscle
relationship: innervated_by UBERON:3010726 ! ramus muscularis of glossopharyngeus nerve
property_value: provenance_notes "This class was sourced from an external ontology (amphibian_anatomy). Its definitions, naming conventions and relationships may need to be checked for compatibility with uberon" xsd:string {source="http://purl.obolibrary.org/obo/aao.owl"}
cmungall commented 2 years ago

we need to get patterns down ASAP. I made a start on this a while ago and did not finish, sorry. Once we have patternization we will see the outliers are the cause of many problems

For {muscle} branch of {nerve} here is an exemplar:

id: UBERON:0022296
name: inferior palpebral branch of infra-orbital nerve
def: "A nerve that innervates a lower eyelid and is a branch of the infra-orbital branch of the maxillary nerve." [http://orcid.org/0000-0002-6601-2165]
synonym: "rami palpebrales inferiores nervi infraorbitalis" EXACT LATIN [Wikipedia:Inferior_palpebral_nerve]
xref: FMA:52983
xref: Wikipedia:Inferior_palpebral_nerve
intersection_of: UBERON:0001021 {source="FMA"} ! nerve
intersection_of: branching_part_of UBERON:0018408 {source="FMA"} ! infra-orbital nerve
intersection_of: innervates UBERON:0001713 {source="FMA"} ! lower eyelid

although we may want to make this even more explicit and have innervates always connect to a muscle

matentzn commented 2 years ago

Thank you @cmungall! I pinged your issue here.

matentzn commented 2 years ago

@anitacaron if you have trouble to figure out what to fix let me know on slack!

anitacaron commented 2 years ago

Ok, I changed the nerves but still have this one:

otic ganglion SubClassOf Nothing

Axiom Impact

Axioms used 1 times

Ontologies used:

rays22 commented 2 years ago

UBERON:0000045 ganglion is currently defined as a subclass of UBERON:0010001 cell cluster organ.

Maybe re-defining UBERON:0000045 ganglion as a subclass of UBERON:0005162 multi-cell-part structure instead of being the subclass of UBERON:0010001 cell cluster organ would solve the logical incoherence?

I am not a nervous system expert, but the text definition of UBERON:0000045 ganglion being a 'A biological tissue mass, most commonly a mass of nerve cell bodies.' would agree with the revision in a biological sense (because cell bodies are cell parts).

cmungall commented 2 years ago

@dosumis may have opinions on the best upper ontology chess moves to make

but this is a pattern outlier. Either more ganglia should innervate or none should (and connection should be 2 hop, ganglion to nerve to innervatee)

dosumis commented 2 years ago

This is an old one! It's been discussed on multiple tickets in the past - some of which have proposed solutions. My take.

matentzn commented 2 years ago

@anitacaron to try using multi-cell part structure as a first attempt to solve the issue. @anitacaron to make an issue about the extends_fiber_into proposal and disregard here

anitacaron commented 2 years ago

I changed UBERON:0000045 ganglion to be a subclass of UBERON:0005162 multi-cell-part structure, and there isn't any issue with uberon-edit.obo.

However, when I ran the test pipeline, I got an error in the materialized.owl step. In the materialized.owl.LOG There are 122 unsatisfiable classes in ontology. I ran robot explain in that file and got no results.

So I ran robot explain into unreasoned.owl, which is the input in the materialized step, and got many explanations. I'll add some of them in the following comment.

anitacaron commented 2 years ago

neuron of the substantia nigra SubClassOf Nothing

globus pallidus SubClassOf Nothing

Axiom Impact

Axioms used 20 times

Axioms used 19 times

Axioms used 18 times

Axioms used 14 times

Axioms used 7 times

Axioms used 3 times

Axioms used 2 times

Axioms used 1 times

Ontologies used:

cmungall commented 2 years ago

on reflection, this is a poor grouping class:

id: UBERON:0010009
name: aggregate regional part of brain
def: "A regional part of brain consisting of multiple brain regions that are not related through a simple volummetric part of hierarchy, e.g., basal ganglia[NIF]." [NLXANAT:20090509]
subset: non_informative
synonym: "set of nuclei of neuraxis" RELATED [FMA:256381]
xref: FMA:256381
xref: NLXANAT:20090509
intersection_of: UBERON:0034923 ! disconnected anatomical group
intersection_of: has_member UBERON:0002616 ! regional part of brain
intersection_of: part_of UBERON:0000955 ! brain
property_value: editor_note "May be obsoleted." xsd:string

The over-eager logical definition does not match the textual definition, I am not even sure I understand the textual definition

As a grouping class it doesn't do much work, grouping only 3 regions:

If there really is something distinct about these then this should be asserted using something like pato characteristics (and it should be done consistently with reasonable completeness)

shawntanzk commented 2 years ago

Related to the discussion on innervates and multi-cell-part structure DisjointWith multicellular anatomical structure - please see https://github.com/obophenotype/uberon/pull/2615#issuecomment-1219306915

rays22 commented 2 years ago

I think this is the part of the logical definition of CARO:0001000 multi-cell-part structure that causes/will cause disjointness problems in UBERON by being too restrictive:

Subclass of:
'connected anatomical structure' and (
    ('has part' only (not cell)) and
    ('has component' min (2 'cell part'))
    )

It is often the case in the nervous system that some cells have projections (cell parts) that go outside of the boundary (as defined by gross anatomy) of a multicellular anatomical structure. The UBERON:0000045 ganglion example above illustrates that the strict CARO granularity distinction is not an obvious one for the common sense. What is the practical value or use case for the strict separation of the multi cell part structure type anatomical entities from the multicellular anatomical structure types? Can we change the logical definition in CARO?

matentzn commented 2 years ago

What about dropping the disjointness now if that gets everything to pass, and then make an issue and a new PR discussing its reintroduction..

shawntanzk commented 2 years ago

What about dropping the disjointness now if that gets everything to pass, and then make an issue and a new PR discussing its reintroduction..

I think this axiom comes from CARO import - happy to try to write a custom line in uberon.makefile (If I can rmbr/figure out how to lol) to remove that for now and make a draft PR that reverses it?

matentzn commented 2 years ago

Just delete it with protege for now and make an issue for me to deal with it.

anitacaron commented 1 year ago

Thank you to everyone who helped change the UBERON base approach! All the unsats are resolved now.