Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
e83416c
Phase 2 end-to-end test on first 10 muscular-system terms
dosumis Apr 27, 2026
3ad9844
Leaf flow: look up genus + part_of via obo-grep instead of single-col…
dosumis Apr 28, 2026
7385dbf
Re-test leaf flow with leaf_template_rows: both is_a AND part_of popu…
dosumis Apr 28, 2026
8229a6e
Enrichment experiment: 6 muscle terms across difficulty gradient
dosumis Apr 28, 2026
4ce9a09
Ovary enrichment experiment — hypothesis disproven
dosumis Apr 28, 2026
c544244
Phase 6 + Phase 7 (skeletal-muscle): system overlays + develops_from
dosumis Apr 28, 2026
42738e6
Validate Phase 6 + Phase 7 muscle overlay end-to-end on muscular-system
dosumis Apr 28, 2026
db5d64b
Full muscular-system run: 75 input terms processed end-to-end
dosumis May 11, 2026
0f2984b
Delete hra-muscular.template.tsv
dosumis May 11, 2026
0fdd84d
Add consolidated unresolvable.tsv report from the full muscular-syste…
dosumis May 11, 2026
77fd128
Add consolidated review.tsv: input rows joined with all findings per row
dosumis May 11, 2026
bb73ff6
review.tsv: add mapped_label, parent_correction_label, mapping_evidence
dosumis May 11, 2026
3f73ed6
Register hra_muscular component and surface template diffs in PRs
dosumis May 15, 2026
c21556f
Move 3 back-muscle groupings from EC template to manual curation in e…
dosumis May 15, 2026
e640036
Review fixes: part_of for 9900025, term_tracker_item column, move rep…
dosumis May 15, 2026
18346d5
Merge branch 'master' into add-hra-muscular-ntr
dosumis May 18, 2026
6436580
Wire subclasses to back-muscle grouping terms (9900020/9900055/9900063)
dosumis May 18, 2026
8117acb
Add posterior abdominal wall (UBERON:9900100); wire 4 muscles + group…
dosumis May 18, 2026
31eb4c9
Merge branch 'add-hra-muscular-ntr' of https://github.com/obophenotyp…
dosumis May 18, 2026
692925c
Reassign template-row UBERON IDs from 99xxxxx (temp) to 11xxxxx (OS r…
dosumis May 18, 2026
58c9677
Fix illegal-annotation-property QC: use 'depiction' obo shortcut, not…
dosumis May 18, 2026
de0719b
ASCTB-TEMP URLs -> ccf: CURIEs; fix articularis genu is_a to skeletal…
dosumis May 18, 2026
d5f52d5
Fix 8 unsat muscles: split spine location into attaches_to_part_of
dosumis May 18, 2026
2007e30
Declare RO:0002177 as ObjectProperty in muscular prefixes stub
dosumis May 18, 2026
f1995e6
Merge branch 'master' into add-hra-muscular-ntr
dosumis May 20, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions bulk_ntr_workflow/outputs/definitions/grouping_terms.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
{
"confirmed_matches": [
{
"label": "circular pharyngeal muscle",
"uberon_id": "UBERON:0001569",
"confidence": "high",
"uberon_definition": "Pharyngeal constrictor refers to one of the muscles that serves to constrict the pharynx. They include: Superior pharyngeal constrictor muscle Middle pharyngeal constrictor muscle Inferior pharyngeal constrictor muscle.",
"wikipedia_summary": "Pharyngeal constrictor / circular pharyngeal muscle is the outer circular layer of pharyngeal musculature comprising the superior, middle, and inferior constrictors; functions to constrict the pharyngeal lumen during swallowing.",
"note": "UBERON:0001569 has EXACT synonym 'pharyngeal constrictor muscle' and xref Wikipedia:Pharyngeal_constrictor. The TA2 'circular pharyngeal muscle' refers to the same circular layer collective. UBERON:0001569 is a parent class with members superior/middle/inferior pharyngeal constrictor (UBERON:0006329, UBERON:0010749, UBERON:0001570). Recommend adding 'circular pharyngeal muscle' as RELATED synonym to UBERON:0001569."
}
],
"possible_matches": [
{
"label": "anterior vertebral muscle",
"uberon_id": "UBERON:0008549",
"confidence": "medium",
"note": "UBERON:0008549 'prevertebral muscle' has the same definition (one of the muscles deep to the prevertebral fascia... including the longus colli, longus capitis, rectus capitis anterior, and rectus capitis lateralis). Synonym 'flexor muscle of vertebral column'. The TA2 term 'anterior vertebral muscle' is a synonymous regional grouping. Curator should confirm whether to map directly to UBERON:0008549, to its child UBERON:0017647 'prevertebral muscle of neck', or add as RELATED synonym. Definition uses attaches_to + innervated_by axioms (multi-axiom pattern), not the simple genus + part_of pattern, so this would be out of scope for the EC template even if added as a new term."
}
],
"manual_curation": [
{
"label": "anterior vertebral muscle",
"definition": "A group of muscles deep to the prevertebral fascia on the anterior surface of the cervical and superior thoracic vertebrae, comprising the longus colli, longus capitis, rectus capitis anterior, and rectus capitis lateralis muscles; innervated by anterior rami of cervical spinal nerves; functions in flexion of the head and neck.",
"reason": "The closest existing UBERON term is UBERON:0008549 (prevertebral muscle) which uses 'is_a + attaches_to + innervated_by' axioms — NOT the simple genus + part_of pattern supported by the groups template. If treated as a confirmed/possible match instead, no new term is needed. Curator should decide between mapping to UBERON:0008549 vs creating 'anterior vertebral muscle' as a synonym.",
"similar_terms": [
{
"id": "UBERON:0008549",
"label": "prevertebral muscle",
"intersection_of": ["(none — uses is_a + attaches_to UBERON:0002412 vertebra + innervated_by UBERON:0006838 ventral ramus of spinal nerve)"]
},
{
"id": "UBERON:0017647",
"label": "prevertebral muscle of neck",
"intersection_of": ["UBERON:0008549 prevertebral muscle", "part_of UBERON:0000974 neck"]
}
],
"suggestion": "Most likely outcome: add 'anterior vertebral muscle' as RELATED synonym to UBERON:0008549, no new term needed."
}
],
"definitions": {
"circular pharyngeal muscle": "A group of pharyngeal muscles forming the outer circular layer of the pharyngeal wall, comprising the superior, middle, and inferior pharyngeal constrictors, which encircle the pharynx and contract sequentially during swallowing to propel the food bolus into the esophagus; innervated chiefly by the pharyngeal branch of the vagus nerve (CN X).",
"anterior vertebral muscle": "A group of muscles deep to the prevertebral fascia on the anterior surface of the cervical and superior thoracic vertebrae, comprising the longus colli, longus capitis, rectus capitis anterior, and rectus capitis lateralis muscles, innervated by anterior rami of cervical spinal nerves and acting to flex and stabilize the head and neck."
},
"wikipedia_images": {
"circular pharyngeal muscle": "http://upload.wikimedia.org/wikipedia/commons/a/ac/Musculusconstrictorpharyngissuperior.png",
"anterior vertebral muscle": "https://upload.wikimedia.org/wikipedia/commons/b/b0/Prevertebral_muscles.png"
},
"xrefs": {
"circular pharyngeal muscle": "Wikipedia:Pharyngeal_constrictor|FMA:46620",
"anterior vertebral muscle": "Wikipedia:Prevertebral_muscles|FMA:32514"
},
"def_xrefs_to_add": {
"circular pharyngeal muscle": "Wikipedia:Pharyngeal_constrictor",
"anterior vertebral muscle": "Wikipedia:Prevertebral_muscles"
}
}
28 changes: 28 additions & 0 deletions bulk_ntr_workflow/outputs/definitions/input/grouping_terms.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"group_name": "grouping_terms",
"parent_id": "GROUPING_TERMS",
"parent_label": "(grouping terms \u2014 agent determines genus + part_of differentiator per term)",
"term_counts": {
"leaf": 0,
"group": 2
},
"note": "parent_label is best-effort; subagent should resolve via OLS4. For term_type='group' terms: use obo-grep on uberon-edit.obo to find similar UBERON groupings, identify the genus + part_of pattern, and fill genus + location. If pattern doesn't fit, route to manual_curation.",
"terms": [
{
"ntr_id": "http://purl.obolibrary.org/obo/UBERON_9900002",
"label": "anterior vertebral muscle",
"term_type": "group",
"genus": "",
"location": "",
"def_xref": "https://fipat.library.dal.ca/ta2/|ISBN:9780323393225|https://purl.org/ccf/ASCTB-TEMP_anterior-vertebral-muscle"
},
{
"ntr_id": "http://purl.obolibrary.org/obo/UBERON_9900007",
"label": "circular pharyngeal muscle",
"term_type": "group",
"genus": "",
"location": "",
"def_xref": "https://fipat.library.dal.ca/ta2/|ISBN:9780323393225|https://purl.org/ccf/ASCTB-TEMP_circular-pharyngeal-muscle"
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"group_name": "needs_mapping_fma_22424",
"parent_id": "NEEDS_MAPPING:FMA:22424",
"parent_label": "",
"term_counts": {
"leaf": 1,
"group": 0
},
"note": "parent_label is best-effort; subagent should resolve via OLS4. For term_type='group' terms: use obo-grep on uberon-edit.obo to find similar UBERON groupings, identify the genus + part_of pattern, and fill genus + location. If pattern doesn't fit, route to manual_curation.",
"terms": [
{
"ntr_id": "http://purl.obolibrary.org/obo/UBERON_9900003",
"label": "articularis genu muscle",
"term_type": "leaf",
"is_a": "NEEDS_MAPPING:FMA:22424",
"part_of": "NEEDS_MAPPING:FMA:22424",
"def_xref": "https://fipat.library.dal.ca/ta2/|ISBN:9780323393225|https://purl.org/ccf/ASCTB-TEMP_articularis-genu-muscle"
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"group_name": "needs_mapping_fma_46583",
"parent_id": "NEEDS_MAPPING:FMA:46583",
"parent_label": "",
"term_counts": {
"leaf": 1,
"group": 0
},
"note": "parent_label is best-effort; subagent should resolve via OLS4. For term_type='group' terms: use obo-grep on uberon-edit.obo to find similar UBERON groupings, identify the genus + part_of pattern, and fill genus + location. If pattern doesn't fit, route to manual_curation.",
"terms": [
{
"ntr_id": "http://purl.obolibrary.org/obo/UBERON_9900004",
"label": "aryepiglottic part of oblique arytenoid muscle",
"term_type": "leaf",
"is_a": "NEEDS_MAPPING:FMA:46583",
"part_of": "NEEDS_MAPPING:FMA:46583",
"def_xref": "https://fipat.library.dal.ca/ta2/|ISBN:9780323393225|https://purl.org/ccf/ASCTB-TEMP_aryepiglottic-part-of-oblique-arytenoid-muscle"
}
]
}
20 changes: 20 additions & 0 deletions bulk_ntr_workflow/outputs/definitions/input/uberon_0000975.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"group_name": "uberon_0000975",
"parent_id": "UBERON:0000975",
"parent_label": "",
"term_counts": {
"leaf": 1,
"group": 0
},
"note": "parent_label is best-effort; subagent should resolve via OLS4. For term_type='group' terms: use obo-grep on uberon-edit.obo to find similar UBERON groupings, identify the genus + part_of pattern, and fill genus + location. If pattern doesn't fit, route to manual_curation.",
"terms": [
{
"ntr_id": "http://purl.obolibrary.org/obo/UBERON_9900009",
"label": "costal part of respiratory diaphragm muscle",
"term_type": "leaf",
"is_a": "INFER:UBERON:0000975",
"part_of": "INFER:UBERON:0000975",
"def_xref": "https://fipat.library.dal.ca/ta2/|ISBN:9780323393225|https://purl.org/ccf/ASCTB-TEMP_costal-part-of-respiratory-diaphragm-muscle"
}
]
}
28 changes: 28 additions & 0 deletions bulk_ntr_workflow/outputs/definitions/input/uberon_0001572.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"group_name": "uberon_0001572",
"parent_id": "UBERON:0001572",
"parent_label": "",
"term_counts": {
"leaf": 2,
"group": 0
},
"note": "parent_label is best-effort; subagent should resolve via OLS4. For term_type='group' terms: use obo-grep on uberon-edit.obo to find similar UBERON groupings, identify the genus + part_of pattern, and fill genus + location. If pattern doesn't fit, route to manual_curation.",
"terms": [
{
"ntr_id": "http://purl.obolibrary.org/obo/UBERON_9900005",
"label": "ceratoglossus of hyoglossus muscle",
"term_type": "leaf",
"is_a": "INFER:UBERON:0001572",
"part_of": "INFER:UBERON:0001572",
"def_xref": "https://fipat.library.dal.ca/ta2/|ISBN:9780323393225|https://purl.org/ccf/ASCTB-TEMP_ceratoglossus-of-hyoglossus-muscle"
},
{
"ntr_id": "http://purl.obolibrary.org/obo/UBERON_9900006",
"label": "chondroglossus of hyoglossus muscle",
"term_type": "leaf",
"is_a": "INFER:UBERON:0001572",
"part_of": "INFER:UBERON:0001572",
"def_xref": "https://fipat.library.dal.ca/ta2/|ISBN:9780323393225|https://purl.org/ccf/ASCTB-TEMP_chondroglossus-of-hyoglossus-muscle"
}
]
}
20 changes: 20 additions & 0 deletions bulk_ntr_workflow/outputs/definitions/input/uberon_0002381.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"group_name": "uberon_0002381",
"parent_id": "UBERON:0002381",
"parent_label": "",
"term_counts": {
"leaf": 1,
"group": 0
},
"note": "parent_label is best-effort; subagent should resolve via OLS4. For term_type='group' terms: use obo-grep on uberon-edit.obo to find similar UBERON groupings, identify the genus + part_of pattern, and fill genus + location. If pattern doesn't fit, route to manual_curation.",
"terms": [
{
"ntr_id": "http://purl.obolibrary.org/obo/UBERON_9900008",
"label": "clavicular head of pectoralis major muscle",
"term_type": "leaf",
"is_a": "INFER:UBERON:0002381",
"part_of": "INFER:UBERON:0002381",
"def_xref": "https://fipat.library.dal.ca/ta2/|ISBN:9780323393225|https://purl.org/ccf/ASCTB-TEMP_clavicular-head-of-pectoralis-major-muscle"
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"group_name": "unresolvable_meningohypophyseal_artery",
"parent_id": "UNRESOLVABLE:meningohypophyseal artery",
"parent_label": "",
"term_counts": {
"leaf": 1,
"group": 0
},
"note": "parent_label is best-effort; subagent should resolve via OLS4. For term_type='group' terms: use obo-grep on uberon-edit.obo to find similar UBERON groupings, identify the genus + part_of pattern, and fill genus + location. If pattern doesn't fit, route to manual_curation.",
"terms": [
{
"ntr_id": "http://purl.obolibrary.org/obo/UBERON_9900010",
"label": "dorsal part of intertransversarii laterales lumborum muscle",
"term_type": "leaf",
"is_a": "UNRESOLVABLE:meningohypophyseal artery",
"part_of": "UNRESOLVABLE:meningohypophyseal artery",
"def_xref": "https://fipat.library.dal.ca/ta2/|ISBN:9780323393225|https://purl.org/ccf/ASCTB-TEMP_dorsal-part-of-intertransversarii-laterales-lumborum-muscle"
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"group_name": "unresolvable_segmental_back_muscle",
"parent_id": "UNRESOLVABLE:segmental back muscle",
"parent_label": "",
"term_counts": {
"leaf": 1,
"group": 0
},
"note": "parent_label is best-effort; subagent should resolve via OLS4. For term_type='group' terms: use obo-grep on uberon-edit.obo to find similar UBERON groupings, identify the genus + part_of pattern, and fill genus + location. If pattern doesn't fit, route to manual_curation.",
"terms": [
{
"ntr_id": "http://purl.obolibrary.org/obo/UBERON_9900001",
"label": "anterior cervical intertransversarii muscle",
"term_type": "leaf",
"is_a": "UNRESOLVABLE:segmental back muscle",
"part_of": "UNRESOLVABLE:segmental back muscle",
"def_xref": "https://fipat.library.dal.ca/ta2/|ISBN:9780323393225|https://purl.org/ccf/ASCTB-TEMP_anterior-cervical-intertransversarii-muscle"
}
]
}
27 changes: 27 additions & 0 deletions bulk_ntr_workflow/outputs/definitions/needs_mapping_fma_22424.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"definitions": {
"articularis genu muscle": "A skeletal muscle of the anterior compartment of the thigh that arises from the anterior surface of the lower body of the femur, deep to the vastus intermedius, and inserts onto the synovial membrane of the knee joint, retracting the suprapatellar bursa superiorly during knee extension and preventing impingement of the synovium between the patella and femur."
},
"wikipedia_images": {
"articularis genu muscle": "https://upload.wikimedia.org/wikipedia/commons/thumb/3/30/Gray244.png/512px-Gray244.png"
},
"xrefs": {
"articularis genu muscle": "Wikipedia:Articularis_genus_muscle|FMA:22437"
},
"def_xrefs_to_add": {
"articularis genu muscle": "PMID:30229230|PMID:33215156"
},
"resolved_relationships": {
"articularis genu muscle": "is_a"
},
"resolved_parents": {
"articularis genu muscle": "UBERON:0004252"
},
"unresolvable": [
{
"label": "parent FMA:22424 (muscle of anterior compartment of thigh)",
"reason": "No UBERON term exists with FMA:22424 as xref or with 'anterior compartment of thigh' in label/synonyms. OLS4 searches for the FMA ID and for the label text return no hits. Closest UBERON grouping for the anterior thigh compartment specifically is UBERON:0001377 (quadriceps femoris), but articularis genu is anatomically discrete from the quadriceps (sometimes referred to as the 'fifth quadriceps muscle' but not part of the named quadriceps complex).",
"suggestion": "Fell back to UBERON:0004252 (hindlimb stylopod muscle; synonyms 'muscle of thigh', 'thigh muscle') as parent per workflow instructions. Curator may consider creating a new UBERON term 'muscle of anterior compartment of thigh' (FMA:22424) as an intermediate parent in a future batch."
}
]
}
18 changes: 18 additions & 0 deletions bulk_ntr_workflow/outputs/definitions/needs_mapping_fma_46583.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"resolved_parents": {
"_parent_FMA:46583": "UBERON:0008575"
},
"xrefs": {
"aryepiglottic part of oblique arytenoid muscle": "FMA:46602|Wikipedia:Aryepiglottic_muscle"
},
"confirmed_matches": [
{
"label": "aryepiglottic part of oblique arytenoid muscle",
"uberon_id": "UBERON:0011025",
"confidence": "high",
"uberon_definition": "The aryepiglotticus is a muscle of the larynx running in the aryepiglottic fold from the arytenoid cartilage to the epiglottis.",
"wikipedia_summary": "The aryepiglotticus muscle (aryepiglottic muscle) is a muscle of the larynx that runs within the aryepiglottic fold, from the arytenoid cartilage to the epiglottis. It is sometimes described as a separate muscle but is often considered the most superficial fibres of the oblique arytenoid muscle that are prolonged into the aryepiglottic fold. Together with the transverse arytenoid and thyroarytenoid muscles it acts as a sphincter to close the larynx during swallowing or coughing.",
"note": "UBERON:0011025 already carries the FMA:46602 xref and the exact synonym 'ary-epiglottic part of oblique arytenoid' [FMA:46602]. It is asserted as part_of UBERON:0008575 (oblique arytenoid), which is precisely the relationship the NTR requested. The proposed NTR label is a near-identical variant of the existing FMA-sourced synonym; this is a confirmed exact-structure match. The proposed parent FMA:46583 (oblique arytenoid muscle) maps to UBERON:0008575 (oblique arytenoid), confirmed via xref FMA:46583 on that UBERON term."
}
]
}
25 changes: 25 additions & 0 deletions bulk_ntr_workflow/outputs/definitions/uberon_0000975.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"confirmed_matches": [
{
"label": "costal part of respiratory diaphragm muscle",
"uberon_id": "UBERON:0035831",
"confidence": "high",
"uberon_definition": "The domain of the diaphragm that is a thin domed sheet of muscle composed of a radial array of myofibers extending laterally from the ribs and medially to a central tendon.",
"wikipedia_summary": "The costal part of the diaphragm originates from the inner surfaces of the lower six ribs and their costal cartilages and inserts into the central tendon of the diaphragm. Its radial myofibers converge towards the central tendon and are responsible for the primary movement of the diaphragm during respiration.",
"uberon_label": "costal diaphragm",
"matched_via_synonym": "costal part of diaphragm (EXACT, FMA:58277)",
"fma_xref": "FMA:58277",
"note": "The requested label 'costal part of respiratory diaphragm muscle' is the TA2-style fuller name for the same structure. UBERON's term 'costal diaphragm' (UBERON:0035831) carries 'costal part of diaphragm' as an EXACT synonym with FMA:58277, and the diaphragm itself (UBERON:0001103) carries 'diaphragm muscle' as an EXACT synonym. Definitions describe identical structure (radial myofibers from ribs to central tendon)."
}
],
"resolved_parents": {
"costal part of respiratory diaphragm muscle": "UBERON:0001103"
},
"unresolvable": [
{
"label": "costal part of respiratory diaphragm muscle",
"reason": "Source-supplied parent UBERON:0000975 is 'sternum' (an endochondral skeletal element, is_a 'endochondral element'), which is the wrong anatomical domain for a part of the diaphragm muscle. The correct parent is UBERON:0001103 'diaphragm' (a skeletal muscle organ, with synonym 'diaphragm muscle').",
"suggestion": "Term already exists as UBERON:0035831 'costal diaphragm' (synonym: 'costal part of diaphragm', FMA:58277), part_of UBERON:0001103. Exclude from the template via confirmed_matches; no NTR needed. Curator should note the upstream HRA ASCT+B parent mapping error (UBERON:0000975 sternum) for feedback."
}
]
}
Loading
Loading