uberon icon indicating copy to clipboard operation
uberon copied to clipboard

The great base debugging

Open anitacaron opened this issue 3 years ago • 21 comments

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:

  • core.owl (http://purl.obolibrary.org/obo/uberon/core.owl)
  • merged_import.owl (http://purl.obolibrary.org/obo/uberon/imports/merged_import.owl)

anitacaron avatar May 25 '22 13:05 anitacaron

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.

shawntanzk avatar May 25 '22 13:05 shawntanzk

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)

cmungall avatar May 25 '22 17:05 cmungall

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:

  • core.owl (http://purl.obolibrary.org/obo/uberon/core.owl)
  • merged_import.owl (http://purl.obolibrary.org/obo/uberon/imports/merged_import.owl)

anitacaron avatar Jun 01 '22 13:06 anitacaron

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 avatar Jun 01 '22 16:06 cmungall

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

cmungall avatar Jun 01 '22 16:06 cmungall

Thank you @cmungall! I pinged your issue here.

matentzn avatar Jun 01 '22 16:06 matentzn

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

matentzn avatar Jun 01 '22 16:06 matentzn

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

otic ganglion SubClassOf Nothing

Axiom Impact

Axioms used 1 times

Ontologies used:

  • core.owl (http://purl.obolibrary.org/obo/uberon/core.owl)
  • merged_import.owl (http://purl.obolibrary.org/obo/uberon/imports/merged_import.owl)

anitacaron avatar Jun 01 '22 17:06 anitacaron

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).

rays22 avatar Jun 02 '22 13:06 rays22

@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)

cmungall avatar Jun 02 '22 14:06 cmungall

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

  • multi cell-part structure would work - or we could just generalise to the parent class (I'm sure very many ganglia also have whole cells). I really think granularity assertions belong on more specific terms, especially in cross-species ontologies - but that's something to discuss another time.
  • I think we could we replace the use of innervates for ganglia with 'extends_fibers_into', preserving use of innervates for neuron projection bundles (tracts and nerves) - although I guess that might lose the sense that those fibers synapse to targets in the object of the relationship.

dosumis avatar Jul 18 '22 13:07 dosumis

@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

matentzn avatar Aug 08 '22 13:08 matentzn

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 avatar Aug 08 '22 15:08 anitacaron

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:

  • core.owl (http://purl.obolibrary.org/obo/uberon/core.owl)

anitacaron avatar Aug 08 '22 15:08 anitacaron

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:

  • [] BFO:0000001 ! entity
    • [i] BFO:0000002 ! continuant
      • [i] BFO:0000004 ! independent continuant
        • [i] CARO:0030000 ! biological entity
          • [i] CARO:0000000 ! anatomical entity
            • [i] UBERON:0010009 ! aggregate regional part of brain
              • [i] UBERON:0014370 ! extrastriate cortex
              • [i] UBERON:0010011 ! collection of basal ganglia
                • [i] UBERON:0023920 ! basal ganglia of rodent
              • [i] UBERON:0000431 ! ventral medial complex of thalamus

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)

  • Conservative solution: replace the logical definition with is_a regional part of brain
  • My preferred solution: obsolete the grouping and rewire the above terms to RPoB

cmungall avatar Aug 08 '22 19:08 cmungall

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

shawntanzk avatar Aug 18 '22 10:08 shawntanzk

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?

rays22 avatar Aug 18 '22 11:08 rays22

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

matentzn avatar Aug 18 '22 12:08 matentzn

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?

shawntanzk avatar Aug 18 '22 12:08 shawntanzk

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

matentzn avatar Aug 18 '22 12:08 matentzn

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

anitacaron avatar Jan 16 '23 11:01 anitacaron