Add HRA capillary NTR template (32 new capillary terms)#3714
Conversation
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>
|
Claude finished @zhengj2007's task in 5m 29s —— View job PR Review: Add HRA capillary NTR template (32 new capillary terms)Review checklist:
🔴 CRITICAL1. 2. Malformed DOI URL in 🟡 IMPORTANT3. Duplicate label: two terms both named "parotid gland capillary" 4. Typo in ASCTB-TEMP IRI for 5. 6. Sparse definitions for 🔵 SUGGESTIONS7. Non-stable web references in def_xref — 8. Artery Wikipedia articles as def_xrefs for capillary terms — e.g., 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. Submitted formal review requesting changes via |
There was a problem hiding this comment.
Review Summary
Checklist:
- Hierarchy and parents are consistent — FAILS:
arterial capillary(UBERON:8930005) has nois_aorpart_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 capillaryterm 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.
Generated via bulk_ntr_workflow from source_data/capillary.csv:
Outstanding curator follow-ups (see reports/):