Skip to content

Add HRA capillary NTR template (32 new capillary terms)#3714

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

Add HRA capillary NTR template (32 new capillary terms)#3714
zhengj2007 wants to merge 1 commit into
masterfrom
add-hra-capillary-ntr

Conversation

@zhengj2007
Copy link
Copy Markdown
Collaborator

Generated via bulk_ntr_workflow from source_data/capillary.csv:

  • 32 new UBERON terms (UBERON:8930002-8930036, leaf template)
  • 1 confirmed existing match (villous capillary → UBERON:8600041) excluded
  • 3 terms routed to manual_curation (non-standard splenic capillary names)
  • Reports include input rows, errors, candidates, name corrections, and manual_curation entries for curator review

Outstanding curator follow-ups (see reports/):

  • 1 unresolved relationship: 'arterial capillary' (source parent wrong)
  • 7 name corrections flagged (e.g. drop superior/maxillary qualifiers)

Generated via bulk_ntr_workflow from source_data/capillary.csv:
- 32 new UBERON terms (UBERON:8930002-8930036, leaf template)
- 1 confirmed existing match (villous capillary → UBERON:8600041) excluded
- 3 terms routed to manual_curation (non-standard splenic capillary names)
- Reports include input rows, errors, candidates, name corrections,
  and manual_curation entries for curator review

Outstanding curator follow-ups (see reports/):
- 1 unresolved relationship: 'arterial capillary' (source parent wrong)
- 7 name corrections flagged (e.g. drop superior/maxillary qualifiers)

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 29s —— View job


PR Review: Add HRA capillary NTR template (32 new capillary terms)

Review checklist:

  • Hierarchy and parents are consistent — FAILS: arterial capillary (UBERON:8930005) has no is_a or part_of
  • Definitions and supporting references look adequate — PARTIAL: malformed DOI; non-stable web refs; sparse definitions
  • Obsolete or replacement handling is safe — no obsoletions touched
  • OBO and ODK conventions appear preserved — PARTIAL: duplicate label collision; typo in ASCTB-TEMP IRI
  • No obvious CI, auth, or workflow regression

🔴 CRITICAL

1. arterial capillary (UBERON:8930005) has no is_a or part_of
(src/templates/hra-capillary.template.tsv line 6) — both hierarchy columns are blank. Every UBERON term must have at least one is_a. The PR description already flags this as an unresolved relationship; it must be resolved before merge. At minimum, add is_a UBERON:0001982 (capillary). Fix this →

2. Malformed DOI URL in arterial capillary def_xref
(src/templates/hra-capillary.template.tsv line 6) — https://doi.org/ 10.1182/ bloodadvances.2017015073 contains embedded spaces, making it an invalid URL. Fix this →


🟡 IMPORTANT

3. Duplicate label: two terms both named "parotid gland capillary"
(template lines 10 and 32) — After name corrections, UBERON:8930010 and UBERON:8930033 both carry the primary label parotid gland capillary. UBERON forbids duplicate primary labels. Either merge into one term (keeping both ASCTB-TEMP IRIs as xrefs) or retain a distinguishing qualifier for one.

4. Typo in ASCTB-TEMP IRI for periductal capillary of intralobular duct of pancreas (UBERON:8930022)
(template line 21) — ...ASCTB-TEMP_periductal-capillary-of-intralobular-duct-of-panceas — "panceas" should be "pancreas". Also present in errors.tsv line 19. Fix this →

5. hra-capillary-groups.template.tsv ships empty (header only)
The file adds a different column schema but zero data rows. If this is scaffolding for future terms, note that in the PR; otherwise remove it to avoid downstream ODK confusion.

6. Sparse definitions for palatine tonsil capillary (UBERON:8930018) and submandibular gland capillary (UBERON:8930030)
Both read only "A capillary that is part of X." — no physiological or structural characterisation despite having PMIDs. A brief expansion (e.g., "...supplying the glandular parenchyma and facilitating nutrient exchange") is expected for new UBERON terms.


🔵 SUGGESTIONS

7. Non-stable web references in def_xrefbasicmedicalkey.com and flandershealth.us URLs are used alongside PMIDs for several pituitary and pancreatic terms. These lack stable DOIs; prefer the primary literature PMIDs cited on those pages.

8. Artery Wikipedia articles as def_xrefs for capillary terms — e.g., anterior lingual gland capillary cites "Wikipedia: Lingual artery" which does not describe gland capillaries. Prefer a direct PMID or the gland's own Wikipedia page.

9. ID gaps — UBERON:8930005 → 8930007 (skips 8930006) and UBERON:8930014 → 8930016 (skips 8930015). Note in the PR description if these were reserved or assigned elsewhere.

10. periductal capillary of intralobular duct of pancreas uses part_of pancreatic lobule, not the duct — pragmatic (no UBERON term for intralobular duct of pancreas) but inconsistent with sister terms that reference the duct directly. Consider documenting this in an editor note.


Submitted formal review requesting changes via gh pr review.

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.

Review Summary

Checklist:

  • Hierarchy and parents are consistent — FAILS: arterial capillary (UBERON:8930005) has no is_a or part_of
  • Definitions and supporting references look adequate — PARTIAL: malformed DOI URL; non-stable web refs; sparse definitions
  • Obsolete or replacement handling is safe — no obsoletions touched
  • OBO and ODK conventions appear preserved — PARTIAL: duplicate label collision between two parotid gland capillary terms; typo in ASCTB-TEMP IRI
  • No obvious CI, auth, or workflow regression

Merge recommendation: REQUEST CHANGES — three blockers need resolution before merge.


🔴 CRITICAL Issues

1. arterial capillary (UBERON:8930005) has no is_a or part_of

In src/templates/hra-capillary.template.tsv line 6, both the is_a and part_of columns are blank. Every UBERON term must have at least one is_a (or a logical definition that implies one). Without a parent class the term will fail the reasoner and violate UBERON conventions. The PR description itself flags this as "1 unresolved relationship: 'arterial capillary' (source parent wrong)" — it must be resolved before merge, not after.

Fix: At minimum add is_a UBERON:0001982 (capillary). A more precise parent (e.g. a blood-vessel-type class) and a part_of should be supplied once the correct parent is agreed upon.

2. Malformed DOI URL in arterial capillary def_xref

The def_xref field contains https://doi.org/ 10.1182/ bloodadvances.2017015073 — two embedded spaces make this an invalid URL that will break resolution and ROBOT validation.

Fix: Remove the spaces: https://doi.org/10.1182/bloodadvances.2017015073


🟡 IMPORTANT Issues

3. Duplicate label: two terms both named "parotid gland capillary"

hra-capillary.template.tsv lines 10 and 32 both carry the label "parotid gland capillary" after the name-correction workflow renamed "deep parotid gland capillary" (UBERON:8930010) and "superior parotid gland capillary" (UBERON:8930033) to the same string. UBERON does not allow two distinct classes to share a primary label. Their ASCTB-TEMP cross-references differ (ASCTB-TEMP_deep-parotid-gland-capillary vs ASCTB-TEMP_superior-parotid-gland-capillary), indicating they were intended to be distinct terms.

Fix options:

  • Merge into a single parotid gland capillary term and keep the ASCTB-TEMP IRIs as xrefs/synonyms, OR
  • Retain distinguishing qualifiers (e.g., "superficial parotid gland capillary" / "deep parotid gland capillary") for one of them and keep the other as "parotid gland capillary".

4. Typo in ASCTB-TEMP IRI for periductal capillary of intralobular duct of pancreas (UBERON:8930022)

The def_xref IRI reads https://purl.org/ccf/ASCTB-TEMP_periductal-capillary-of-intralobular-duct-of-panceas — "panceas" should be "pancreas". The same typo appears in errors.tsv line 19, confirming this is carried through from the source.

Fix: Correct the IRI to https://purl.org/ccf/ASCTB-TEMP_periductal-capillary-of-intralobular-duct-of-pancreas

5. hra-capillary-groups.template.tsv is empty (header only)

The file ships with a header row and no data. The template column structure also differs from the main template (uses genus and location instead of is_a/part_of). If this is a placeholder for future work it should be documented; if it is leftover scaffolding it should be removed to avoid confusing downstream ODK processing.

6. Sparse/non-informative definitions

Two terms carry only a bare relational definition:

  • palatine tonsil capillary (UBERON:8930018): "A capillary that is part of the palatine tonsil." — no physiological or structural characterisation.
  • submandibular gland capillary (UBERON:8930030): "A capillary that is part of a submandibular gland." — likewise.

Both have PMIDs listed, implying supporting literature exists. A one-sentence elaboration (e.g., "... supplying blood to the glandular parenchyma") is expected for new terms.


🔵 SUGGESTIONS

7. Non-stable web references in def_xref

Several terms cite https://basicmedicalkey.com/endocrine-system-3/ (pituitary plexus terms) and https://www.flandershealth.us/chronic-pancreatitis/microcirculation-of-the-pancreas.html (pancreatic duct capillary terms) as def_xrefs alongside PMIDs. These are tertiary web pages without stable DOIs; UBERON prefers PMIDs or DOIs for citable xrefs. Consider replacing or supplementing with the primary literature cited on those pages.

8. Wikipedia-artery articles used as def_xrefs for capillary terms

Multiple terms cite the Wikipedia article for a supplying artery (e.g., anterior lingual gland capillary cites "Wikipedia:Lingual_artery") as a definition reference for the capillary. The lingual artery article does not describe lingual gland capillaries specifically. Prefer a direct PMID or the gland's own Wikipedia page if no PMID is available.

9. ID gaps in the sequence

IDs skip from UBERON:8930005 → 8930007 (missing 8930006) and UBERON:8930014 → 8930016 (missing 8930015). If these were reassigned externally that is fine, but it should be noted in the PR description or commit message so future curators are not confused.

10. periductal capillary of intralobular duct of pancreas (UBERON:8930022) — part_of is the lobule, not the duct

This term uses part_of UBERON:0007324 (pancreatic lobule) while parallel terms (e.g., periductal capillary of intercalated duct) use part_of the duct itself (UBERON:0014726). No UBERON term exists for the intralobular duct of pancreas distinct from the intercalated duct, so the lobule fallback is pragmatic but inconsistent with the name. Document this compromise in a comment or pending-edit note.

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