Skip to content

Add HRA intestine/liver/skin NTR template (4 new terms)#3716

Open
zhengj2007 wants to merge 7 commits into
masterfrom
add-hra-intestine_liver_skin-ntr
Open

Add HRA intestine/liver/skin NTR template (4 new terms)#3716
zhengj2007 wants to merge 7 commits into
masterfrom
add-hra-intestine_liver_skin-ntr

Conversation

@zhengj2007

Copy link
Copy Markdown
Collaborator

Generated via bulk_ntr_workflow from source_data/intestine-liver-skin.csv (5 input rows from large-intestine, liver, and skin tables):

  • 4 new UBERON terms (UBERON:8930100-8930102, UBERON:8930104):
    • free taenia coli (UBERON:8930100)
    • mesocolic taenia coli (UBERON:8930101)
    • omental taenia coli (UBERON:8930102)
    • connective tissue sheath (UBERON:8930104) - of hair follicle
  • 1 row excluded as out-of-scope: 'Liver immune resident component' (functional immune-cell collective; belongs in CL, not UBERON)

Name corrections applied: 'free coli' -> 'free taenia coli' etc. (source ASCTB labels were incomplete; full anatomical nomenclature used).

Generated via bulk_ntr_workflow from source_data/intestine-liver-skin.csv
(5 input rows from large-intestine, liver, and skin tables):

- 4 new UBERON terms (UBERON:8930100-8930102, UBERON:8930104):
  - free taenia coli (UBERON:8930100)
  - mesocolic taenia coli (UBERON:8930101)
  - omental taenia coli (UBERON:8930102)
  - connective tissue sheath (UBERON:8930104) - of hair follicle
- 1 row excluded as out-of-scope: 'Liver immune resident component'
  (functional immune-cell collective; belongs in CL, not UBERON)

Name corrections applied: 'free coli' -> 'free taenia coli' etc.
(source ASCTB labels were incomplete; full anatomical nomenclature used).

Signed-off-by: dragon-ai-agent <dragon-ai-agent@users.noreply.github.com>
@ai4c-agent

ai4c-agent Bot commented May 25, 2026

Copy link
Copy Markdown

Claude finished @zhengj2007's task in 5m 13s —— View job


PR Review

Review checklist:

  • Hierarchy and parents are consistent
  • Definitions and supporting references look adequate
  • Obsolete or replacement handling is safe (N/A — no obsoletions)
  • OBO and ODK conventions appear preserved
  • No obvious CI, auth, or workflow regression

Tasks:

  • Gather context and read PR description
  • Read changed template files
  • Check proposed parent terms in ontology
  • Validate term definitions and xrefs
  • Post final review

Summary

This PR adds 4 new UBERON terms for intestine/skin anatomy via ROBOT template, generated through the bulk NTR workflow. The scope decisions are well-reasoned (liver immune component correctly excluded as CL, not UBERON). However there are several issues that need to be fixed before merge.


🔴 CRITICAL: Template not registered in ODK YAML

src/ontology/uberon-odk.yaml does not include hra-intestine-liver-skin.template.tsv. Only hra-skeleton.template.tsv is currently registered. Without registration, the template will never be compiled into the ontology build — the 4 new terms will not exist in the released product.

Per the bulk NTR workflow docs (Stage 5), the registration script must be run:

cd bulk_ntr_workflow
uv run scripts/register_templates.py --name hra-intestine-liver-skin

This should add an entry like:

    - filename: hra_intestine_liver_skin.owl
      use_template: true
      templates:
        - hra-intestine-liver-skin.template.tsv

to components.products in uberon-odk.yaml, then regenerate the Makefile. Fix this →


🟡 IMPORTANT: Incorrect is_a parent for the three taenia coli terms

File: src/templates/hra-intestine-liver-skin.template.tsv rows 3–5

All three taenia coli variants (8930100, 8930101, 8930102) have:

  • is_a: UBERON:0004923 (organ component layer — very generic)
  • part_of: UBERON:0012419 (taenia coli)

The problem: UBERON:0012419 (taenia coli) is mapped to FMA:15041 "longitudinal band of large intestine muscularis" — the type of which the three named variants are subtypes. FMA models free, mesocolic, and omental longitudinal bands as is_a FMA:15041, not part_of. Using part_of UBERON:0012419 implies the three bands are components of taenia coli rather than kinds of taenia coli, which is semantically incorrect (they are not parts of some aggregate — they each ARE a taenia coli).

The correct modeling should be:

  • is_a: UBERON:0012419 (taenia coli) — the three named bands are subtypes
  • part_of: UBERON:0011198 (muscle layer of large intestine) — their spatial containment

Fix this →


🟡 IMPORTANT: isBN: typo duplicates ISBN reference

File: src/templates/hra-intestine-liver-skin.template.tsv rows 3–5 (also bulk_ntr_workflow/source_data/intestine-liver-skin.csv and src/templates/hra-intestine-liver-skin-reports/input.tsv)

Each taenia coli row has this in def_xref:

ISBN:978-1496398949|isBN:978-1496398949|...

isBN:978-1496398949 is a typo of ISBN:978-1496398949 — it's a non-standard prefix that will not resolve and creates a duplicate reference. The isBN: entry should be removed from all three rows. (The typo originates in the source CSV and propagated through the workflow.)

Fix this →


🟡 IMPORTANT: Label "connective tissue sheath" is too generic

File: src/templates/hra-intestine-liver-skin.template.tsv row 6 (UBERON:8930104)

The term label is connective tissue sheath, but the definition and context make clear this is specifically the connective tissue sheath of the hair follicle (the dermal sheath). Without the qualifier, this label:

  1. Conflicts potentially with other connective tissue sheaths (e.g., the epineurium of nerves, tendon sheaths) that may be added later
  2. Does not follow UBERON naming convention where compositional terms include the qualified context

The PR description itself parenthetically notes "of hair follicle". The label should be connective tissue sheath of hair follicle.

Fix this →


🔵 SUGGESTION: Add source-label synonyms per name_corrections.tsv

src/templates/hra-intestine-liver-skin-reports/name_corrections.tsv correctly notes that 'free coli', 'mesocolic coli', and 'omental coli' (the incomplete source ASCTB labels) should be added as synonyms to support data integration. These are not present in the template. Consider adding them as RELATED synonyms in the template's xref column or as synonym annotation properties.


What was done well

  • The "Liver immune resident component" exclusion is correctly reasoned: it's a functional immune-cell collective, not an anatomical structure, and belongs in CL.
  • Name corrections (free/mesocolic/omental coli → taenia coli) are anatomically accurate and well-justified.
  • Definitions for the taenia coli terms are specific and positionally accurate (differentiating cecum/ascending-descending-sigmoid from transverse colon).
  • Out-of-scope and candidate reports are clean.

Merge recommendation

REQUEST CHANGES — the ODK registration gap is a blocker (terms will not appear in released ontology), and the is_a/part_of inversion for the taenia coli terms is an ontological error. The isBN: typo and generic label for 8930104 should also be fixed.

@ai4c-agent ai4c-agent Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

REQUEST CHANGES on PR #3716 (Add HRA intestine/liver/skin NTR template).

🔴 CRITICAL: Template hra-intestine-liver-skin.template.tsv is not registered in src/ontology/uberon-odk.yaml — without this the 4 new terms will never be compiled into the ontology build. Stage 5 (register_templates.py) was not run.

🟡 IMPORTANT:

  1. Taenia coli terms (8930100–8930102) use is_a: UBERON:0004923 + part_of: UBERON:0012419. The three named bands are subtypes of taenia coli (matching FMA's model of FMA:15041 and its subclasses), so the correct axioms are is_a: UBERON:0012419 + part_of: UBERON:0011198 (muscle layer of large intestine).
  2. Duplicate non-standard isBN:978-1496398949 prefix (typo for ISBN) appears in all three taenia coli def_xrefs — must be removed.
  3. UBERON:8930104 label connective tissue sheath is too generic; should be connective tissue sheath of hair follicle.

See detailed review in the Claude comment for fix suggestions.

@github-actions

Copy link
Copy Markdown
Contributor

This PR has not seen any activity in the past month; if nobody comments or reviews it in the next week, the PR creator will be allowed to proceed with merging without explicit approval, should they wish to do so.

@ai4c-agent

ai4c-agent Bot commented Jul 6, 2026

Copy link
Copy Markdown

Claude finished @zhengj2007's task in 5m 36s —— View job


Re-review of PR #3716 (after latest push)

  • Gather context and check what changed since last review
  • Verify prior CRITICAL/IMPORTANT issues were addressed
  • Re-check template registration in ODK YAML
  • Re-check is_a/part_of modeling for taenia coli terms
  • Re-check isBN typo and label fix
  • Post final review and set PR review status

Review checklist:

  • Hierarchy and parents are consistent
  • Definitions and supporting references look adequate
  • Obsolete or replacement handling is safe (N/A — no obsoletions)
  • OBO and ODK conventions appear preserved
  • No obvious CI, auth, or workflow regression

Summary

Good progress since the last review — three of the four previously-flagged issues in src/templates/hra-intestine-liver-skin.template.tsv are now fixed:

  • is_a/part_of for the three taenia coli terms now correctly uses is_a: UBERON:0012419 (taenia coli) + part_of: UBERON:0011198 (muscle layer of large intestine).
  • ✅ The duplicate isBN:978-1496398949 typo is removed from the template's def_xref column.
  • ✅ UBERON:8930104's label is now connective tissue sheath of hair follicle.

However, new commit 9e0bb28 ("Add HRA intestine/liver/skin OWL component") introduces a new blocking problem, and the original registration blocker is still unresolved:


🔴 CRITICAL: Template still not registered in src/ontology/uberon-odk.yaml

This was flagged in the first review and remains unaddressed. uberon-odk.yaml's components.products list still only contains hra_skeleton.owl (line 177) — there is no entry for hra_intestine_liver_skin.owl / hra-intestine-liver-skin.template.tsv. git grep for hra_intestine_liver_skin/hra-intestine-liver-skin across uberon-odk.yaml and src/ontology/Makefile returns nothing. Without this, the 4 new terms will not be compiled into the ontology build/release regardless of the template's content being correct.

Fix this →


🔴 CRITICAL: New src/templates/hra-intestine-liver-skin.owl is malformed and in the wrong location

This file was added in commit 9e0bb28, apparently as a hand-generated/incorrect stand-in for the ODK build step above, and it has multiple OWL functional-syntax errors:

  • Declaration(DataProperty(obo:BFO_0000050))BFO:0000050 (part_of) is an object property, not a data property. Compare with the correctly ROBOT-generated src/ontology/components/hra_skeleton.owl, which declares it via Declaration(ObjectProperty(<...BFO_0000050>)).
  • Declaration(Datatype(obo:UBERON_0002073)) and Declaration(Datatype(obo:UBERON_0011198)) — these are UBERON classes (hair follicle; muscle layer of large intestine), not datatypes.
  • SubClassOf(obo:UBERON_8930100 DataSomeValuesFrom(obo:BFO_0000050 obo:UBERON_0011198)) (and the analogous lines for 8930101/8930102/8930104) — should be ObjectSomeValuesFrom, not DataSomeValuesFrom.

Since UBERON_0002073/UBERON_0011198/BFO_0000050 are declared elsewhere in the ontology as Class/Class/ObjectProperty respectively, this file's conflicting Datatype/DataProperty declarations for the same IRIs are a punning violation that will cause build/reasoning failures once this file is actually imported anywhere. It's also in the wrong directory: all other checked-in template-generated components live under src/ontology/components/ (e.g. hra_skeleton.owl), not src/templates/, and use the full ROBOT ontology header (versioned IRI, owl:versionInfo, etc.) that this file lacks.

Recommendation: delete src/templates/hra-intestine-liver-skin.owl entirely — it should not be hand-authored or committed from src/templates/. Once the template is properly registered in uberon-odk.yaml (see above), the ODK build (make in src/ontology/) will generate the correct component under src/ontology/components/hra_intestine_liver_skin.owl.

Fix this →


🔵 SUGGESTION (carried over, still open)

  • bulk_ntr_workflow/source_data/intestine-liver-skin.csv and src/templates/hra-intestine-liver-skin-reports/input.tsv still contain the isBN:978-1496398949 typo (only the template itself was cleaned up). These are provenance/report files that don't affect the build, so this is non-blocking, but worth tidying for consistency.
  • Source-label synonyms noted in name_corrections.tsv ('free coli', 'mesocolic coli', 'omental coli') are still not added as RELATED synonyms in the template.

What was done well

  • All three previously-flagged semantic/content issues in the template (is_a/part_of inversion, isBN typo, generic label) are correctly fixed.
  • The taenia coli modeling now matches how UBERON:0012419 itself is already asserted in the ontology (is_a: UBERON:0004923, relationship: part_of UBERON:0011198), and the hair-follicle sheath's new label/parents (UBERON:0002384 connective tissue; UBERON:0002073 hair follicle) check out.

Merge recommendation

REQUEST CHANGES — the ODK registration gap remains a blocker, and the newly added src/templates/hra-intestine-liver-skin.owl is a malformed, misplaced file that should be deleted rather than fixed in place (the correct artifact is a ROBOT-generated component produced once registration is done).

@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor
This PR modifies some logical definitions. See details below:

Number of classes with modified logical definitions: 1

gABAergic system

No changes in inferred subclasses.

@ai4c-agent ai4c-agent Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-review after latest push (commit 9e0bb28).

  • Hierarchy and parents are consistent (for the template rows themselves)
  • Definitions and supporting references look adequate
  • Obsolete or replacement handling is safe (N/A)
  • OBO and ODK conventions appear preserved
  • No obvious CI, auth, or workflow regression

Good progress: the previously flagged is_a/part_of inversion for the three taenia coli terms, the duplicate isBN: typo, and the overly generic "connective tissue sheath" label are all now fixed in src/templates/hra-intestine-liver-skin.template.tsv.

Two blockers remain/were introduced:

🔴 CRITICAL: src/ontology/uberon-odk.yaml still does not register hra-intestine-liver-skin.template.tsv under components.products (only hra_skeleton.owl is present). Without this the 4 new terms will never be compiled into the build.

🔴 CRITICAL: The newly added src/templates/hra-intestine-liver-skin.owl (commit 9e0bb28) is malformed OWL functional syntax — it declares BFO:0000050 (part_of) as a DataProperty instead of ObjectProperty, declares UBERON classes UBERON:0002073 and UBERON:0011198 as Datatypes, and uses DataSomeValuesFrom instead of ObjectSomeValuesFrom in the SubClassOf axioms. It's also in the wrong location — checked-in template-generated components belong under src/ontology/components/ (see hra_skeleton.owl), not src/templates/. This file should be deleted; once the template is registered in uberon-odk.yaml, the ODK build will generate the correct component automatically.

See full details in the PR comment.

@ai4c-agent

ai4c-agent Bot commented Jul 6, 2026

Copy link
Copy Markdown

Claude finished @zhengj2007's task in 2m 9s —— View job


Re-review of PR #3716 (after commit 67e5830)

Tasks:

  • Gather context and check what changed since last review
  • Verify OWL syntax fix in src/templates/hra-intestine-liver-skin.owl
  • Re-check template registration in uberon-odk.yaml / Makefile
  • Post final review and set PR review status

Review checklist:

  • Hierarchy and parents are consistent (template content itself)
  • Definitions and supporting references look adequate
  • Obsolete or replacement handling is safe (N/A)
  • OBO and ODK conventions appear preserved
  • No obvious CI, auth, or workflow regression

Summary

Commit 67e5830 ("Update HRA intestine/liver/skin OWL serialization") fixes the OWL functional-syntax errors flagged in the previous review — BFO:0000050 is now correctly declared ObjectProperty (not DataProperty), UBERON:0002073/UBERON:0011198 are now correctly declared Class (not Datatype), and the SubClassOf axioms now use ObjectSomeValuesFrom (not DataSomeValuesFrom). Good fix.

However, the two structural blockers from the last review are still unresolved:


🔴 CRITICAL: Template still not registered in src/ontology/uberon-odk.yaml

components.products in uberon-odk.yaml still only lists hra_skeleton.owl (line 177) — there is no entry for hra_intestine_liver_skin.owl / hra-intestine-liver-skin.template.tsv. src/ontology/Makefile likewise has no hra_intestine_liver_skin target (only hra_skeleton.owl at lines 571/573). Without this registration, the ODK build will never generate this component, and the 4 new terms will not enter the compiled ontology/release regardless of how correct the template or hand-written OWL file are.

Fix this →

🔴 CRITICAL: src/templates/hra-intestine-liver-skin.owl is still hand-authored and in the wrong location

The OWL syntax itself is now fixed, but this file remains a hand-written stand-in rather than a ROBOT build artifact, and is still committed under src/templates/ instead of src/ontology/components/. It also still lacks the standard ROBOT header used by real components (versioned IRI + owl:versionInfo, e.g. compare src/ontology/components/hra_skeleton.owl lines 1-11). Since it's hand-maintained, it will silently drift out of sync with the template on any future edit, and isn't wired into any import/build path — git grep -n "hra-intestine-liver-skin.owl\|hra_intestine_liver_skin.owl" across uberon-edit.obo and Makefile shows nothing references it. Recommend deleting it; once the template is registered in uberon-odk.yaml (above), make in src/ontology/ will generate the correct file at src/ontology/components/hra_intestine_liver_skin.owl automatically.

Fix this →


🔵 SUGGESTION (carried over, still open, non-blocking)

  • bulk_ntr_workflow/source_data/intestine-liver-skin.csv and src/templates/hra-intestine-liver-skin-reports/input.tsv still contain the isBN:978-1496398949 typo (only the template itself was cleaned up). These are provenance/report files that don't affect the build.
  • Source-label synonyms noted in name_corrections.tsv ('free coli', 'mesocolic coli', 'omental coli') are still not added as RELATED synonyms in the template.

What was done well

  • OWL functional-syntax errors from the previous review (DataProperty→ObjectProperty, Datatype→Class, DataSomeValuesFrom→ObjectSomeValuesFrom) are correctly fixed in commit 67e5830.
  • Template content (is_a/part_of modeling, isBN typo removal, label fix for UBERON:8930104) remains correct and unchanged since the last review.

Merge recommendation

REQUEST CHANGES — the ODK registration gap is still the core blocker (the 4 terms will not be compiled into the ontology build without it), and the hand-authored src/templates/hra-intestine-liver-skin.owl should be deleted rather than iterated on, since registration will make the ODK build generate the correct component automatically.

@ai4c-agent ai4c-agent Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-review of PR #3716 (after commit 67e5830)

  • Hierarchy and parents are consistent (template content)
  • Definitions and supporting references look adequate
  • Obsolete or replacement handling is safe (N/A)
  • OBO and ODK conventions appear preserved
  • No obvious CI, auth, or workflow regression

Commit 67e5830 fixes the OWL functional-syntax errors flagged previously (ObjectProperty/Class/ObjectSomeValuesFrom now used correctly). Template content (is_a/part_of modeling, isBN typo, label fix) remains correct.

Two blockers remain:

🔴 CRITICAL: src/ontology/uberon-odk.yaml still does not register hra-intestine-liver-skin.template.tsv under components.products (only hra_skeleton.owl is present), and src/ontology/Makefile has no corresponding target. Without this the 4 new terms will never be compiled into the ontology build.

🔴 CRITICAL: src/templates/hra-intestine-liver-skin.owl remains a hand-authored stand-in committed in the wrong location (should be src/ontology/components/), lacking the standard ROBOT versioned-IRI/owl:versionInfo header, and unreferenced by the build. Recommend deleting it — once registration above is done, the ODK build will generate the correct file automatically.

See full details in the PR comment.

@ai4c-agent

ai4c-agent Bot commented Jul 6, 2026

Copy link
Copy Markdown

Claude finished @dosumis's task in 1m 50s —— View job


Re-review of PR #3716 (after commit b76761d)

Tasks:

  • Check what changed since the last review (commit 67e5830)
  • Re-verify ODK registration status
  • Re-verify src/templates/hra-intestine-liver-skin.owl location/format
  • Post final review and set PR review status

Review checklist:

  • Hierarchy and parents are consistent (template content)
  • Definitions and supporting references look adequate
  • Obsolete or replacement handling is safe (N/A)
  • OBO and ODK conventions appear preserved
  • No obvious CI, auth, or workflow regression

Summary

Commit b76761d is only a merge of master into this branch (bringing in unrelated release #3733) — it contains no changes to the PR's own files. Both CRITICAL blockers from the last two reviews are therefore still unresolved:

🔴 CRITICAL: Template still not registered in src/ontology/uberon-odk.yaml

components.products still only lists hra_skeleton.owl (line 177) — there is no entry for hra_intestine_liver_skin.owl / hra-intestine-liver-skin.template.tsv, and src/ontology/Makefile still has no hra_intestine_liver_skin target (only hra_skeleton.owl, e.g. lines 571/575). Without this, the 4 new terms will never be compiled into the ontology build/release.

Fix this →

🔴 CRITICAL: src/templates/hra-intestine-liver-skin.owl remains hand-authored and in the wrong location

The functional-syntax errors (DataProperty/Datatype/DataSomeValuesFrom) flagged in earlier reviews were fixed in 67e5830 — declarations now correctly use Class/ObjectProperty and ObjectSomeValuesFrom. However this file is still:

  • committed under src/templates/ instead of src/ontology/components/ (compare src/ontology/components/hra_skeleton.owl)
  • missing the standard ROBOT-generated header (versioned IRI, owl:versionInfo, etc.)
  • not referenced anywhere by uberon-edit.obo or the Makefile (git grep -n "hra-intestine-liver-skin.owl\|hra_intestine_liver_skin.owl" across those files returns nothing)

Since it's hand-maintained rather than build-generated, it will silently drift from the template on any future edit. Recommend deleting it — once the template is registered in uberon-odk.yaml (above), make in src/ontology/ will generate the correct file at src/ontology/components/hra_intestine_liver_skin.owl automatically.

Fix this →


🔵 SUGGESTION (carried over, still open, non-blocking)

  • bulk_ntr_workflow/source_data/intestine-liver-skin.csv and src/templates/hra-intestine-liver-skin-reports/input.tsv still contain the isBN:978-1496398949 typo (only the template itself was cleaned up).
  • Source-label synonyms noted in name_corrections.tsv ('free coli', 'mesocolic coli', 'omental coli') are still not added as RELATED synonyms in the template.

What was done well

  • Template content (is_a/part_of modeling for the three taenia coli terms, isBN typo removal, generic-label fix for UBERON:8930104) remains correct.
  • OWL functional-syntax errors in the hand-written .owl file were correctly fixed in commit 67e5830.

Merge recommendation

REQUEST CHANGES — no new commits address the two blockers: the template is still not registered in uberon-odk.yaml/Makefile, so the 4 terms won't reach the build, and src/templates/hra-intestine-liver-skin.owl should be deleted rather than hand-maintained, since registration will make the ODK build generate the correct component automatically.

@ai4c-agent ai4c-agent Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

REQUEST CHANGES on PR #3716 (Add HRA intestine/liver/skin NTR template).

No changes since the last review address the two blockers:

🔴 CRITICAL: hra-intestine-liver-skin.template.tsv is still not registered in src/ontology/uberon-odk.yaml (components.products) or src/ontology/Makefile — the 4 new terms will not be compiled into the ontology build.

🔴 CRITICAL: src/templates/hra-intestine-liver-skin.owl remains a hand-authored file in the wrong location (should be a ROBOT-generated artifact under src/ontology/components/), lacking the standard versioned-IRI/owl:versionInfo header. Recommend deleting it — registering the template will make the ODK build generate the correct file automatically.

Template content itself (is_a/part_of modeling, isBN typo, label fix) remains correct since the previous review.

See detailed review in the Claude comment for fix suggestions.

@zhengj2007

Copy link
Copy Markdown
Collaborator Author

@dragon-ai-agent

please merge src/templates/hra-intestine-liver-skin.owl to src/ontology/uberon-edit.obo and then remove src/templates/hra-intestine-liver-skin.owl

@dragon-ai-agent

Copy link
Copy Markdown
Collaborator

🤖 Working on it...

Follow along: View workflow run

@dragon-ai-agent

Merges the 4 new HRA terms (UBERON:8930100 free taenia coli,
UBERON:8930101 mesocolic taenia coli, UBERON:8930102 omental taenia coli,
UBERON:8930104 connective tissue sheath of hair follicle) from the
ROBOT-generated template into the main edit file, and removes the
now-redundant src/templates/hra-intestine-liver-skin.owl.

Requested by @zhengj2007 in PR #3716.

Signed-off-by: @dragon-ai-agent

---
🤖 **Generated by @dragon-ai-agent**
- Model: `claude-opus-4-7`
- Agent harness: claude-code
- Triggered by: @zhengj2007
- Run: [View workflow run](https://github.com/obophenotype/uberon/actions/runs/28838034623)
@dragon-ai-agent

Copy link
Copy Markdown
Collaborator

Merged src/templates/hra-intestine-liver-skin.owl into src/ontology/uberon-edit.obo and removed the template file, as requested.

What I did

  1. Converted the OWL template to OBO stanzas via robot convert.
  2. Placed the 4 stanzas into terms/hra_intestine_liver_skin.obo and merged them into src/ontology/uberon-edit.obo via obo-checkin.pl (this also removed the intermediate terms/ file).
  3. Reserialised the edit file with robot convert -f obo -o src/ontology/uberon-edit.obo so ROBOT normalised BFO:0000050part_of and RO:0002175present_in_taxon (consistent with existing HRA terms already in the file, e.g. UBERON:0035944).
  4. Deleted src/templates/hra-intestine-liver-skin.owl.

Terms merged

  • UBERON:8930100 free taenia coli → is_a taenia coli, part_of muscle layer of large intestine
  • UBERON:8930101 mesocolic taenia coli → is_a taenia coli, part_of muscle layer of large intestine
  • UBERON:8930102 omental taenia coli → is_a taenia coli, part_of muscle layer of large intestine
  • UBERON:8930104 connective tissue sheath of hair follicle → is_a connective tissue, part_of hair follicle

All 4 stanzas carry subset: added_by_HRA, present_in_taxon NCBITaxon:9606, contributor ORCID 0000-0002-2999-0103, and date 2026-05-25, matching the original template.

The diff on uberon-edit.obo is +48 lines, only the 4 new [Term] stanzas — no other content moved.


🤖 Generated by @dragon-ai-agent

@ai4c-agent

ai4c-agent Bot commented Jul 7, 2026

Copy link
Copy Markdown

Claude finished @dragon-ai-agent's task in 9m 34s —— View job


Re-review of PR #3716 (after commit e29097d)

Tasks:

  • Check what changed since the last review (commit e29097d)
  • Verify src/templates/hra-intestine-liver-skin.owl was removed and merged correctly into uberon-edit.obo
  • Re-check ODK registration status in uberon-odk.yaml / Makefile
  • Validate the 4 new term stanzas (is_a/part_of, definitions, metadata)
  • Post final review and set PR review status

Review checklist:

  • Hierarchy and parents are consistent
  • Definitions and supporting references look adequate
  • Obsolete or replacement handling is safe (N/A — no obsoletions)
  • OBO and ODK conventions appear preserved
  • No obvious CI, auth, or workflow regression

Summary

Commit e29097d resolves both long-standing blockers by taking a different (and valid) route than originally suggested: instead of registering the ROBOT template in uberon-odk.yaml, the 4 term stanzas were converted directly into OBO and checked into src/ontology/uberon-edit.obo via obo-checkin.pl, and the malformed hand-authored src/templates/hra-intestine-liver-skin.owl was deleted. I verified:

  • git diff origin/master...HEAD -- src/ontology/uberon-edit.obo shows exactly the 4 expected [Term] stanzas (UBERON:8930100, 8930101, 8930102, 8930104), no other content moved.
  • src/templates/hra-intestine-liver-skin.owl no longer exists, and the terms/ scratch directory is clean (checked in properly).
  • Parent terms check out: UBERON:0012419 (taenia coli) is itself is_a UBERON:0004923 + part_of UBERON:0011198, so the three taenia coli children correctly mirror that pattern. UBERON:0002384 (connective tissue) and UBERON:0002073 (hair follicle) are appropriate parents for the hair-follicle sheath term.
  • Since the terms now live directly in the edit file rather than via the template mechanism, the earlier "will never be compiled into the build" blocker no longer applies — they'll be part of the ontology on the next release like any other manually-added term.

This is a reasonable resolution given the small number of terms (4) — it matches the standard obo-checkout.pl/obo-checkin.pl workflow this repo normally uses for NTRs, rather than requiring a full ODK template/component registration for a one-off batch.


🔵 SUGGESTION: Contributor/date metadata uses a non-standard property

The 4 new stanzas use:

property_value: terms:contributor https://orcid.org/0000-0002-2999-0103
property_value: terms:date "2026-05-25T00:00:00Z" xsd:dateTime

The rest of the file overwhelmingly uses relationship: dc-contributor https://orcid.org/<ORCID> ! <Name> (1195 occurrences) and property_value: dcterms-date "..." xsd:dateTime (220 occurrences), matching the convention documented in CLAUDE.md. terms:contributor resolves to dcterms:contributor, a different predicate than the dc:contributor used elsewhere, and lacks the ! <Name> comment. This is metadata-only (doesn't affect logical modeling or the build), so non-blocking, but worth aligning in a follow-up for consistency with how contributor attribution is queried/reported elsewhere in Uberon.

🔵 SUGGESTION: Orphaned template files (carried over)

src/templates/hra-intestine-liver-skin*.tsv and the -reports/ directory remain in the repo but are no longer wired to anything (not registered in uberon-odk.yaml, and the terms they describe are now already merged by hand). If someone runs the bulk_ntr registration script against this template later, it would attempt to (re)generate the same 4 terms. Worth a comment/note or cleanup so this doesn't cause duplicate-term confusion down the line. The isBN:978-1496398949 typo in bulk_ntr_workflow/source_data/intestine-liver-skin.csv and src/templates/hra-intestine-liver-skin-reports/input.tsv (provenance files only, non-blocking) is also still present.


What was done well

  • Both CRITICAL blockers from the last 4 review rounds are resolved.
  • is_a/part_of modeling for the taenia coli terms, the isBN typo removal, and the label fix for UBERON:8930104 all remain correct.
  • The direct-merge approach is simpler and gets the terms into the actual build without needing ODK template plumbing for a 4-term batch.

Merge recommendation

APPROVE — only non-blocking suggestions remain.

ai4c-agent[bot]
ai4c-agent Bot previously approved these changes Jul 7, 2026

@ai4c-agent ai4c-agent Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-review of PR #3716 (after commit e29097d)

Both previously-flagged CRITICAL blockers are now resolved: commit e29097d converted the 4 term stanzas directly into src/ontology/uberon-edit.obo (via the standard obo-checkout.pl/obo-checkin.pl workflow) rather than requiring ODK template registration, and deleted the malformed hand-authored src/templates/hra-intestine-liver-skin.owl. Verified the diff contains exactly the 4 expected [Term] stanzas (UBERON:8930100, 8930101, 8930102, 8930104), parent terms (taenia coli, muscle layer of large intestine, connective tissue, hair follicle) are consistent, and the terms/ scratch directory is clean.

Only non-blocking suggestions remain (see PR comment for details):

  • 🔵 Contributor/date metadata on the new terms uses property_value: terms:contributor / terms:date rather than the repo's dominant relationship: dc-contributor ... ! <Name> / dcterms-date convention — metadata-only, doesn't affect the build.
  • 🔵 The now-orphaned src/templates/hra-intestine-liver-skin*.tsv template files remain unregistered in the repo; worth a note or cleanup to avoid future duplicate-term confusion.

Full review details posted in the PR comment.

Reports are review artifacts, not ODK templates, and should not live under
src/templates/. Relocated to bulk_ntr_workflow/outputs/ to match the canonical
layout used by the muscular branch (PR #3700).

Signed-off-by: dragon-ai-agent
@ai4c-agent

ai4c-agent Bot commented Jul 9, 2026

Copy link
Copy Markdown

Claude finished @dosumis's task in 2m 12s —— View job


Re-review of PR #3716 (after commit 8c51771, requested by @dosumis)

Tasks:

  • Check what changed since the last review (commit 8c51771)
  • Verify report-artifact relocation didn't break anything
  • Re-confirm the 4 term stanzas in uberon-edit.obo are still correct
  • Re-check orphaned template file / isBN typo status
  • Post final review and set PR review status

Review checklist:

  • Hierarchy and parents are consistent
  • Definitions and supporting references look adequate
  • Obsolete or replacement handling is safe (N/A — no obsoletions)
  • OBO and ODK conventions appear preserved
  • No obvious CI, auth, or workflow regression

Summary

Commit 8c51771 is a pure rename/relocation: it moves the five report artifacts (candidates.tsv, errors.tsv, input.tsv, name_corrections.tsv, out_of_scope.tsv) from src/templates/hra-intestine-liver-skin-reports/ to bulk_ntr_workflow/outputs/hra-intestine-liver-skin-reports/, matching the canonical layout used elsewhere (e.g. PR #3700). I verified:

  • git show --stat 8c51771 confirms 100%-similarity renames only — no content changes.
  • Nothing in src/ontology/uberon-odk.yaml, src/ontology/Makefile, or .github/ referenced the old path, so this is a no-risk cleanup.
  • The 4 term stanzas in src/ontology/uberon-edit.obo (UBERON:8930100 free taenia coli, UBERON:8930101 mesocolic taenia coli, UBERON:8930102 omental taenia coli, UBERON:8930104 connective tissue sheath of hair follicle) are unchanged and remain correct — is_a/part_of modeling, definitions, and metadata all check out as in the last approved review.

This addresses the "orphaned report files under src/templates/" part of the earlier suggestion. Two non-blocking items remain open from prior rounds:

🔵 SUGGESTION (carried over, still open, non-blocking)

  1. The isBN:978-1496398949 typo (duplicate of ISBN:978-1496398949) is still present in the provenance files bulk_ntr_workflow/source_data/intestine-liver-skin.csv and bulk_ntr_workflow/outputs/hra-intestine-liver-skin-reports/input.tsv. These don't feed the build (the template's own def_xref was already cleaned up), so purely cosmetic.
  2. src/templates/hra-intestine-liver-skin.template.tsv and hra-intestine-liver-skin-groups.template.tsv remain in the repo but are unregistered in uberon-odk.yaml — the actual terms were merged directly into uberon-edit.obo instead. If someone runs the bulk_ntr registration script against this template later it would attempt to regenerate the same 4 terms. Worth a follow-up cleanup (delete or annotate as historical) to avoid duplicate-term confusion.
  3. Contributor/date metadata on the 4 new stanzas still uses property_value: terms:contributor / terms:date rather than the repo's dominant relationship: dc-contributor ... ! <Name> / dcterms-date convention — metadata-only, doesn't affect logical modeling or the build.

What was done well

  • Clean, no-risk relocation of report artifacts to the canonical bulk_ntr_workflow/outputs/ location.
  • All previously-flagged CRITICAL/IMPORTANT issues (ODK registration blocker, malformed hand-authored OWL, is_a/part_of inversion, isBN typo in the template, generic label) remain resolved.

Merge recommendation

APPROVE — only non-blocking suggestions remain, none of which affect correctness or the build.

@cellsemantic

Copy link
Copy Markdown

Reports relocated. Route: manual hand-edit (4 terms, <20). PMIDs verified real & on-topic. TODO: convert template rows → OBO stanzas in uberon-edit.obo, dropping the ASCTB-TEMP temporary tags.


Automated update (@cellsemantic / dragon-ai-agent, for @dosumis). Reports were relocated out of src/templates/bulk_ntr_workflow/outputs/<name>-reports/ to match the canonical layout (PR #3700). Note: the corrected reports-location docs currently live only on add-hra-muscular-ntr (#3700), not master. Batch-size policy for this HRA set: ≥20 new terms → ODK-register; <20 → hand-edit into uberon-edit.obo.

@ai4c-agent ai4c-agent Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-review of PR #3716 (after commit 8c51771)

  • Hierarchy and parents are consistent
  • Definitions and supporting references look adequate
  • Obsolete or replacement handling is safe (N/A)
  • OBO and ODK conventions appear preserved
  • No obvious CI, auth, or workflow regression

Commit 8c51771 is a pure rename: it relocates the report artifacts from src/templates/hra-intestine-liver-skin-reports/ to bulk_ntr_workflow/outputs/hra-intestine-liver-skin-reports/, matching the canonical layout. No content changed, and nothing in uberon-odk.yaml/Makefile referenced the old path, so this is risk-free.

The 4 term stanzas in src/ontology/uberon-edit.obo (UBERON:8930100, 8930101, 8930102, 8930104) remain unchanged and correct — is_a/part_of modeling, definitions, and metadata all check out as in the prior approved review.

Only non-blocking suggestions remain (carried over): the isBN: typo in provenance-only files, the now-orphaned unregistered .template.tsv files in src/templates/, and the terms:contributor/terms:date property_value convention differing from the repo's dominant dc-contributor/dcterms-date style.

APPROVE — no blocking issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants