Skip to content

Add HRA palatine-tonsil NTR template (7 new terms)#3719

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

Add HRA palatine-tonsil NTR template (7 new terms)#3719
zhengj2007 wants to merge 1 commit into
masterfrom
add-hra-palatine_tonsil-ntr

Conversation

@zhengj2007
Copy link
Copy Markdown
Collaborator

Generated via bulk_ntr_workflow from source_data/palatine-tonsil.csv.

Pipeline completed through Stage 4:

  • 7 new UBERON terms in leaf template
  • 0 group terms
  • 0 confirmed matches excluded
  • 0 out-of-scope exclusions
  • 0 manual-curation exclusions

Parent mapping handled in Stage 3 for mixed source parents:

  • UBERON parents (4)
  • ASCTB-TEMP parents (2)
  • FMA parent mapping (1)

Final template has no [PENDING], INFER, NEEDS_MAPPING, or UNRESOLVABLE markers.

Generated via bulk_ntr_workflow from source_data/palatine-tonsil.csv.

Pipeline completed through Stage 4:
- 7 new UBERON terms in leaf template
- 0 group terms
- 0 confirmed matches excluded
- 0 out-of-scope exclusions
- 0 manual-curation exclusions

Parent mapping handled in Stage 3 for mixed source parents:
- UBERON parents (4)
- ASCTB-TEMP parents (2)
- FMA parent mapping (1)

Final template has no [PENDING], INFER, NEEDS_MAPPING, or UNRESOLVABLE markers.

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

ai4c-agent Bot commented May 26, 2026

Claude finished @zhengj2007's task in 7m 29s —— View job


PR Review: HRA Palatine-Tonsil NTR Template (7 new terms)

Review checklist:

  • 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

Review Summary

The 7 new terms are anatomically well-chosen and fill genuine gaps in the tonsil substructure representation. Parent-term resolution is mostly correct and consistent with analogous existing terms (the germinal center dark/light zones correctly follow the UBERON:8410052/UBERON:8410053 lymph-node precedent with is_a: UBERON:0001744). However, one critical build issue and one important structural omission need to be fixed before merge.


🔴 CRITICAL — Templates not registered in src/ontology/uberon-odk.yaml

Stage 5 of the NTR workflow (registering templates with ODK) was not completed. Neither hra-palatine-tonsil.template.tsv nor hra-palatine-tonsil-groups.template.tsv appear in src/ontology/uberon-odk.yaml as component products. Without this registration, ROBOT will never process the templates and the 7 new UBERON terms (8930153–8930159) will not be built into any ontology artifact.

The pattern to add (following the existing hra_skeleton.owl precedent):

    - filename: hra_palatine_tonsil.owl
      use_template: true
      templates:
        - hra-palatine-tonsil.template.tsv
    - filename: hra_palatine_tonsil_groups.owl
      use_template: true
      templates:
        - hra-palatine-tonsil-groups.template.tsv

After editing the YAML, sh run.sh make update_repo (or the register_templates.py script from the workflow) must be run to regenerate the Makefile. Fix this →


🟡 IMPORTANT — tonsil germinal center mantle zone (UBERON:8930157) missing part_of

The definition explicitly states "A part of the secondary follicle of the tonsil", yet the part_of column is empty in the template (src/templates/hra-palatine-tonsil.template.tsv, row 7). The term will be placed as is_a: UBERON:0010755 ! secondary follicle corona only, with no explicit tonsil localisation. An explicit part_of UBERON:8930158 (tonsil secondary follicle — added in the same template) should be added.


🟡 IMPORTANT — tonsil follicle (UBERON:8930154) scope mismatch between name and definition

The definition reads "A lymphoid follicle that is part of a palatine tonsil" and part_of is UBERON:0002373 ! palatine tonsil, yet the label is tonsil follicle (not palatine tonsil follicle). Compare: tonsil germinal center (UBERON:0013688) uses the general part_of UBERON:0002372 ! tonsil. Either:

  • Broaden the definition/part_of to the general tonsil (UBERON:0002372) to match the name, or
  • Rename to palatine tonsil follicle to match the definition.

🔵 SUGGESTION — tonsil T cell zone xref FMA:55221 may be imprecise

The input errors report flags FMA:55221 as "Diffuse lymphoid tissue" — a broad FMA concept used as the original parent mapping. Moving it to an xref rather than a parent is correct, but a generic "Diffuse lymphoid tissue" xref on a specifically-named T cell zone may mislead downstream users. If there is no more specific FMA term, consider removing this xref.


Notes (no action required)

  • ID range: UBERON:8930153–8930159 fall within [>= 8930000, < 8931000] allocated to Jie Zheng. ✓
  • is_a: UBERON:0001744 for dark/light zones: consistent with existing UBERON:8410052/8410053. ✓
  • ASCTB-TEMP IRIs in def_xref: standard HRA provenance pattern with real PMIDs also present. ✓
  • present_in_taxon: NCBITaxon:9606: appropriate for HRA terms. ✓
  • PMIDs 25656706 and 8011279 verified in existing UBERON terms. PMIDs 34430822, 417886, 11789984, 28844822, 30801022 should be manually verified for relevance.
  • Empty groups template (headers only) is correct — all 7 terms are leaf terms. ✓

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.

Two issues need fixing before merge:

  1. 🔴 CRITICAL — Templates not registered in uberon-odk.yaml: Stage 5 of the NTR workflow was not completed. Neither hra-palatine-tonsil.template.tsv nor hra-palatine-tonsil-groups.template.tsv appear as component products in src/ontology/uberon-odk.yaml. Without this, ROBOT will not process the templates and the 7 new terms (UBERON:8930153–8930159) will not be built into any ontology artifact. Add entries following the hra_skeleton.owl pattern and regenerate the Makefile.

  2. 🟡 IMPORTANT — tonsil germinal center mantle zone (UBERON:8930157) missing part_of: Definition says 'A part of the secondary follicle of the tonsil' but the part_of column is empty. Should have part_of UBERON:8930158 ! tonsil secondary follicle.

Also: tonsil follicle (UBERON:8930154) label vs definition scope mismatch (name implies general tonsil scope but definition/part_of is palatine-tonsil-specific).

Full review details in the Claude comment above.

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