Skip to content

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

Open
zhengj2007 wants to merge 1 commit into
masterfrom
add-hra-intestine_liver_skin-ntr
Open

Add HRA intestine/liver/skin NTR template (4 new terms)#3716
zhengj2007 wants to merge 1 commit 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
Copy link
Copy Markdown

ai4c-agent Bot commented May 25, 2026

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.

Copy link
Copy Markdown

@ai4c-agent ai4c-agent Bot left a comment

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.

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.

1 participant