obophenotype / obophenotype/uberon
11 definitions in the 2026-06-19 release promise a `part_of` the axioms do not state, and 21 HPO phenotype definitions rest on those terms, and 20 automatic definitions place a metapodial element inside a digit the axioms declare disjoint from it
Nobody has claimed this yet.
- Dominant language
- Emacs Lisp
- Stars
- 163
- Forks
- 43
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 5
Description
Hello again, and thanks for the time on issue #3767. I ran a second check over the same release (uberon/releases/2026-06-19/uberon-basic.owl) and joined it to the Human Phenotype Ontology, which places each of its phenotype terms on a Uberon term by logical definition. The question I was after: when a Uberon definition promises a parthood in prose that no axiom states, does anything downstream depend on it. It does. I found 30 terms that bear at least one HPO phenotype definition and whose own definition, on a first automated reading, promised a parthood the release does not state. Reading all 30 by hand against the text, 11 hold up and are Finding A, with 21 phenotype definitions resting on them. Fifteen were misreadings on my side (a boundary, a support, a supply or an innervation read as a parthood) and are left out, apart from one that is a defect in a generated definition. The remaining four were closed by candidate axioms, listed in Finding B.
Terms used. Each is a relation or an annotation from one of the two files; I say what it is, where I read it, and why it matters here.
part_of. Uberon's own relation between a part and its whole, from its[Typedef]stanza:def: "a core relation that holds between a part and its whole",xref: BFO:0000050,is_transitive: true. Every promise below is a missingrelationship: part_ofline, and every current axiom I quote is one.is_a. The OBO format's "is a kind of" relation. It matters here because a definition of the form "A urethra that is part of a male reproductive system" states the genus withis_aand the parthood in prose only, so the prose half can go unstated.intersection_of. The OBO line that carries a logical definition. HPO uses it to say a phenotype is a quality of a Uberon part. One example, fromhp-full.obo, forHP:0000586 Shallow orbits:intersection_of: PATO:0001472 ! decreased depthandintersection_of: inheres_in UBERON:0001697 ! orbit of skull. The second line is what ties a phenotype to a Uberon term and is how I counted dependents.inheres_in(RO:0000052). The relation in that second line, fromhp-full.obo's[Typedef]stanza:id: inheres_in,name: inheres in,xref: RO:0000052. It says the quality is borne by that anatomical entity. 2,780 of HPO's logical definitions use it with a Uberon term.inheres_in_part_of(RO:0002314). The same idea one step out, from its[Typedef]stanza:id: inheres_in_part_of,name: inheres in part of,xref: RO:0002314. The quality is borne by something that is part of the named entity. 876 definitions use it with a Uberon term. I counted both relations as placing a phenotype on a Uberon term.towards(RO:0002503). The third, from its[Typedef]stanza:id: towards,name: towards,xref: RO:0002503. 165 definitions use it with a Uberon term, and I counted those too.mutually_spatially_disjoint_with(RO:0002171). Uberon's own relation from its[Typedef]stanza:def: "A is mutually_spatially_disjoint_with B if both A and B are classes, and there exists no p such that p is part_of some A and p is part_of some B.",xref: RO:0002171. It matters to Finding C, where twenty definitions place a part inside both sides of one such pair.[Automatically generated definition]. A marker in adef:line saying the prose came from the term's logical definition rather than from a curator. Some definitions below carry it; one of them is the clearest defect in this issue.source="...". Annotations naming the source ontology an axiom came from. Quoted verbatim so each line matches the file.
What I did, in plain terms. I read each Uberon definition for a phrase promising that the term is part of something, and checked whether a relationship: part_of line says the same. Where none did, I wrote down the parthood the definition seemed to promise. Separately I read every HPO logical definition that names a Uberon term, which gave me a count of phenotypes resting on each anatomical term. Then I kept only the terms that had both: an unstated promise and at least one phenotype depending on them. Afterwards I read all 30 by hand against the definition text; that pass is where the 14 misreadings fell out, and they are not listed here.
Finding A: 11 definitions that promise a parthood the release does not state
These are the ones where I think the definition plainly says the term is part of something, and no axiom says it. 21 HPO phenotype definitions rest on these 11 terms. The third column quotes the span that carries the promise, with an ellipsis where I cut a long definition; the checklist has the full line and its grep.
| HPO | term | the span that carries the promise | the parthood I read | its current part_of |
phenotypes |
|---|---|---|---|---|---|
| 5 | UBERON:0001697 orbit of skull |
def: "Subdivision of skeleton that is an anterolateral part of the cranium and structurally supports the eye. ..." |
UBERON:0001697 -> UBERON:0003128 (cranium) |
relationship: part_of UBERON:0004088 ! orbital region ; relationship: part_of UBERON:0011156 ! facial skeleton |
HP:0000586 Shallow orbits, HP:0005472 Orbital craniosynostosis, HP:0007115 Naso-orbital encephalocele (+2 more) |
| 4 | UBERON:0001224 renal pelvis |
def: "A funnel shaped proximal portion of the ureter that is formed by convergence of the major calices [MP]." |
UBERON:0001224 -> UBERON:0000056 (ureter) |
relationship: part_of UBERON:0002113 {source="MA"} ! kidney ; relationship: part_of UBERON:0036295 ! renal pelvis/ureter |
HP:0005580 Duplication of renal pelvis, HP:0010944 Abnormal renal pelvis morphology, HP:0010945 Fetal pyelectasis (+1 more) |
| 3 | UBERON:0001013 adipose tissue |
def: "Portion of connective tissue composed of adipocytes enmeshed in areolar tissue." |
UBERON:0001013 -> UBERON:0002384 (connective tissue) |
none | HP:0000292 Loss of facial adipose tissue, HP:0009124 Abnormal adipose tissue morphology, HP:0009126 Increased adipose tissue |
| 2 | UBERON:0002032 areola |
def: "Subdivision of breast which consists of skin, connective tissue and smooth muscle bundle and modified sebaceous glands and which surrounds the nipple." |
UBERON:0002032 -> UBERON:0000310 (breast) |
relationship: part_of UBERON:0001911 {source="MA"} ! mammary gland |
HP:0032314 Abnormal areolar morphology, HP:0100853 Hypoplastic areola |
| 1 | UBERON:0000378 tongue muscle |
def: "The muscular portion of the tongue." |
UBERON:0000378 -> UBERON:0001723 (tongue) |
relationship: part_of UBERON:0000165 ! mouth |
HP:0040173 Abnormality of the tongue muscle |
| 1 | UBERON:0001333 male urethra |
def: "A urethra that is part of a male reproductive system." |
UBERON:0001333 -> UBERON:0000079 (male reproductive system) |
relationship: part_of UBERON:0003101 ! male organism |
HP:0000052 Urethral atresia, male |
| 1 | UBERON:0001334 female urethra |
def: "A urethra that is part of a female reproductive system." |
UBERON:0001334 -> UBERON:0000474 (female reproductive system) |
relationship: part_of UBERON:0003100 ! female organism |
HP:0000067 Urethral atresia, female |
| 1 | UBERON:0004727 cochlear nerve |
def: "... It is part of the vestibulocochlear nerve, the 8th cranial nerve which is found in higher vertebrates; ..." |
UBERON:0004727 -> UBERON:0001648 (vestibulocochlear nerve) |
none | HP:0011396 Abnormality of the cochlear nerve |
| 1 | UBERON:0010262 operculum of brain |
def: "The most posterior portion of the inferior frontal gyrus of the frontal lobe in the brain. ..." |
UBERON:0010262 -> UBERON:0002998 (inferior frontal gyrus) |
relationship: part_of UBERON:0016525 ! frontal lobe |
HP:0100954 Open operculum |
| 1 | UBERON:0010408 ocular angle artery |
def: "The angular artery is the terminal part of the facial artery; ..." |
UBERON:0010408 -> UBERON:0001612 (facial artery) |
none | HP:3000023 Abnormality of angular artery |
| 1 | UBERON:0013778 skin of sole of pes |
def: "A zone of skin that is part of a skin of pes." [OBOL:automatic] |
UBERON:0013778 -> UBERON:0001513 (skin of pes) |
relationship: part_of UBERON:0008338 ! plantar part of pes |
HP:0007403 Hypertrophy of skin of soles |
A note on the two rows I am least sure of, before you spend time on them. renal pelvis already states part_of UBERON:0036295 ! renal pelvis/ureter, which may be how you intend the ureter relation to be carried, in which case the promise is already met and I misread it. And adipose tissue carries no part_of line at all, so if "Portion of connective tissue" is meant as the genus rather than as a parthood, the same applies there. Both are rows my own corrected reader now declines to flag, for a reason that is a limitation of the reader rather than a judgement about your text; I have left them in because the question they raise is one only a curator can settle.
A note on my own reading
Fifteen terms my first reading flagged turned out, on inspection, to contain the word "part" without claiming the term is part of the named whole: a boundary ("its distal limit is the superior part of the esophagus"), a support ("supports the upper part of the pons"), a supply, an innervation, a location ("Muscles of the upper chest"), or the converse ("consists of all ribs"). I have left them out rather than pad Finding A. The reader is now fixed on my side, and re-reading the same 30 terms with it agrees with this hand pass on 27 of the 30.
One term I dropped as a misreading is a defect on its own and I would flag it. metaphysis of humerus (UBERON:0013749) carries:
def: "A metaphysis that is part of a metaphysis." [OBOL:automatic]
relationship: part_of UBERON:0000976 ! humerus
The generated prose names the term's own genus as its whole. The axiom below it is right, so nothing is broken downstream, but the definition as written says a metaphysis of the humerus is part of a metaphysis. Nine HPO phenotype definitions name this term, which is the largest count in this issue.
Finding B: three candidate axioms
These are three part_of axioms a program proposed and I checked by hand against the definition text on this same set of terms. They are candidates, not readings: a curator has not looked at them. I list the definition line each rests on and the number of phenotype definitions each would release from the group above.
| candidate | the definition it rests on | phenotypes released |
|---|---|---|
longitudinal arch of pes (UBERON:0035133) -> appendicular skeleton (UBERON:0002091) |
def: "A curved region of the skeleton of the pes (foot) formed by the tarsal and metatarsal bones." |
2 |
musculature of body (UBERON:0000383) -> musculature (UBERON:0001015) |
def: "The subdivision of the musculoskeletal system that consists of all the muscles of the body[VSAO, modified]." [VSAO:0000033] |
1, by way of musculature of pectoral girdle |
dermal skeleton (UBERON:0010364) -> exoskeleton (UBERON:0006611) |
def: "Skeletal subdivision that undergoes direct development and includes elements that either develop in association with the basement membrane of the ectoderm or are homologous with such elements; ..." |
1, by way of odontoid tissue |
Two flags. A fourth candidate was withdrawn on 2026-09-12: calcareous tooth (UBERON:0001091) -> mouth (UBERON:0000165), which would have released 11 phenotypes and was the largest row in this issue. On re-reading, def: "Skeletal element within the mouth (or in some species, upper part of the digestive tract) that is composed of dentine and is used in procuring or masticating food." says where the tooth sits, not what it is part of, and my first reading took a location for a parthood. It is withdrawn rather than argued. It was also Finding A of issue #3767, where it collides with a pending disjointness axiom; that issue can settle it on its own terms. The last two rows below release a phenotype indirectly: the axiom is on one term and the phenotype hangs off another that reaches it, so the benefit depends on the chain being right as well as the axiom.
Finding C: 20 automatic definitions place a metapodial element inside a digit, and the digit's own axiom says the two are spatially disjoint
These twenty terms are the pre-cartilage condensations and cartilage elements of the metatarsals and metacarpals, one per digit of the pes and the manus. Each carries a definition marked [OBOL:automatic] of the same shape. Two of them, quoted in full:
UBERON:0010547def: "A pedal digit metatarsal pre-cartilage condensation that is part of a pedal digit 1 mesenchyme." [OBOL:automatic]UBERON:0010565def: "A manual digit metacarpus pre-cartilage condensation that is part of a manual digit 1 mesenchyme." [OBOL:automatic]
The digit mesenchyme each names is stated as part of the digit. For pedal digit 1: UBERON:0010562 def: "Mesenchyme that is part of a developing pedal digit 1." [OBOL:automatic] and relationship: part_of UBERON:0003631 ! pedal digit 1. The same two lines exist, with the digit number changed, for the other nine mesenchyme terms (their ids are in the table below).
The digit's own stanza says the opposite of that placement. UBERON:0002544 digit carries def: "A subdivision of the autopod that has as part a series of phalanges together with associated vasculature, musculature, integument and nerves. It is continuous with the metapodial subdivision of the autopod, but does not include the metapodials. In species such as humans, fully formed digits are distinct, whereas in other species the digits may be connected by interdigital webbing, or may be completely unseparated (for example, in cetaceans)." [http://orcid.org/0000-0002-6601-2165, https://github.com/obophenotype/uberon/issues/420] and the axiom relationship: mutually_spatially_disjoint_with UBERON:0009877 ! metapodium region, where mutually_spatially_disjoint_with is defined in the file's [Typedef] stanza as def: "A is mutually_spatially_disjoint_with B if both A and B are classes, and there exists no p such that p is part_of some A and p is part_of some B." UBERON:0009877 metapodium region is def: "Intermediate segment of the autopod, between the mesopodial region and and acropodial region. Examples: metacarpal region, metatarsal region." [https://orcid.org/0000-0002-6601-2165, MA:th], and each of the twenty terms is, by is_a, a metatarsal or metacarpus endochondral element (for example UBERON:0010547 is_a: UBERON:0015037 ! pedal digit 1 metatarsal endochondral element, whose stanza carries relationship: part_of UBERON:5103631 ! pedal digit 1 digitopodial skeleton).
So, read literally: a metatarsal condensation is part of a digit's mesenchyme, which is part of the digit; the digit is spatially disjoint from the metapodium region; and the metatarsal is the metapodium. None of the twenty terms carries a relationship: part_of line, so the axioms are consistent on their own. The conflict lives in the automatic definitions, exactly the kind of promise this issue is about, and here the promise contradicts an axiom; in Finding A the promises only exceed the axioms.
The reading in which nothing is wrong: the developing digit ray does include the future metapodial, and the release already has a whole for that, digit plus metapodial segment (UBERON:5002544, def: "A subdivision of the autopod consisting of digit plus the region incorporating a single metapodial element. These segments are typically repeated along the pre-axiom to post-axial axis." [http://orcid.org/0000-0002-6601-2165]), of which digit is stated to be part_of (relationship: part_of UBERON:5002544 ! digit plus metapodial segment). The twenty definitions may simply be naming the wrong whole for a developmental structure. Two atlases I read alongside the release, EMAPA and EHDAA2, both state the same parthood the definitions do (the condensation as part of the digit mesenchyme), so if the definitions are wrong they are wrong in company.
My question: (a) is the developmental sense intended, so that pedal digit 1 mesenchyme and its nine siblings should be stated part_of the digit-plus-metapodial segment instead of the digit, with the twenty definitions left as they are; (b) should the twenty definitions be regenerated to name the segment or the digitopodial skeleton, leaving the digit's axiom as it is; or (c) is the disjointness axiom meant only for the formed adult structures, in which case a note on its scope would settle it? I have no candidate to propose; any of the three is a curator's call.
| term | name |
|---|---|
| UBERON:0010547 | pedal digit 1 metatarsal pre-cartilage condensation |
| UBERON:0010548 | pedal digit 2 metatarsal pre-cartilage condensation |
| UBERON:0010549 | pedal digit 3 metatarsal pre-cartilage condensation |
| UBERON:0010550 | pedal digit 4 metatarsal pre-cartilage condensation |
| UBERON:0010551 | pedal digit 5 metatarsal pre-cartilage condensation |
| UBERON:0010557 | pedal digit 1 metatarsal cartilage element |
| UBERON:0010558 | pedal digit 2 metatarsal cartilage element |
| UBERON:0010559 | pedal digit 3 metatarsal cartilage element |
| UBERON:0010560 | pedal digit 4 metatarsal cartilage element |
| UBERON:0010561 | pedal digit 5 metatarsal cartilage element |
| UBERON:0010565 | manual digit 1 metacarpus pre-cartilage condensation |
| UBERON:0010566 | manual digit 2 metacarpus pre-cartilage condensation |
| UBERON:0010567 | manual digit 3 metacarpus pre-cartilage condensation |
| UBERON:0010568 | manual digit 4 metacarpus pre-cartilage condensation |
| UBERON:0010569 | manual digit 5 metacarpus pre-cartilage condensation |
| UBERON:0010570 | manual digit 1 metacarpus cartilage element |
| UBERON:0010571 | manual digit 2 metacarpus cartilage element |
| UBERON:0010572 | manual digit 3 metacarpus cartilage element |
| UBERON:0010573 | manual digit 4 metacarpus cartilage element |
| UBERON:0010574 | manual digit 5 metacarpus cartilage element |
What I am asking
- On Finding A: for each of the 11, would you state the promise as an axiom, leave it as prose, or reword the definition so it does not read as a parthood?
- Is a count of dependent HPO definitions a useful way to prioritise this kind of work? If it is, I can produce the same count for any set of terms you name.
- On Finding B: would a pull request with any of the three candidates you accept be welcome, or do you prefer to make such additions yourselves?
- On Finding C: which of (a), (b) or (c) matches the intent, and would a pull request regenerating the twenty definitions be welcome if it is (b)?
I can supply the exact grep for every line above on request.
Sources
- Uberon:
uberon/releases/2026-06-19/uberon-basic.owl, read asuberon-basic.obo(format-version: 1.2), sha256b27618d347df171d0dbbfc6178217487b98b96424641b8c8b4ece77256e67a14. Everydef:andrelationship:line above is quoted from it. - HPO:
hp/releases/2026-09-01/hp-full.owl, read ashp-full.obo, sha25647a2404e2af9cdd074aad50681126d696625e810766912dc4e79946889bc0c65. Everyintersection_of:line and phenotype name above is quoted from it. mutually_spatially_disjoint_with, from Uberon's[Typedef]stanza:id: mutually_spatially_disjoint_with,name: mutually spatially disjoint with,xref: RO:0002171, and itsdef:line quoted under Terms used.part_of, from Uberon's[Typedef]stanza:def: "a core relation that holds between a part and its whole",xref: BFO:0000050,is_transitive: true.inheres_in, from HPO's[Typedef]stanza:id: inheres_in,name: inheres in,xref: RO:0000052.inheres_in_part_of, from HPO's[Typedef]stanza:id: inheres_in_part_of,name: inheres in part of,xref: RO:0002314.towards, from HPO's[Typedef]stanza:id: towards,name: towards,xref: RO:0002503.is_a,def:,intersection_of:,relationship:and[Term]stanzas: the OBO flat file format, version 1.4 (owlcollab.github.io/oboformat).- The first issue:
https://github.com/obophenotype/uberon/issues/3767.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with uberon/releases/2026-06-19/uberon-basic.owl and compare the listed definitions with their relationship: part_of axioms; consult hp-full.obo for the phenotype dependencies. Review Finding A, the three candidate axioms, the generated metaphysis definition, and the disjointness cases against curator intent. Done means the proposed defects are confirmed or rejected and the release's definitions and axioms are corrected or explicitly documented.
Written by the indexing model from the issue text.
Assessment
- Domain
- data
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100