Babel's GARD_label concord matches an unmapped GARD term to an identifier carrying the same label. Its precision was measured on a held-out set — the 15,937 GARD ids MONDO and DOID already place, which the concord deliberately skips — by running the same rule over them and asking whether the label lands in the clique those curated xrefs chose. It agrees 15,337 times and disagrees 33 (0.21%).
Those 33 are not a Babel defect: GARD_label never acts on them, because its first guard skips any GARD id another concord names. They are something more useful — cases where a GARD term's label exactly names a different concept than the one MONDO's own hasDbXref maps it to, which is a cheap signal for upstream curation and one nobody is currently looking at.
The full list is docs/sources/GARD/label-mismatches.csv — GARD id, GARD's label, the clique MONDO/DOID place it in, and the clique the label names. Regenerate with uv run python docs/sources/GARD/label-matches/scripts/gard_label_match_report.py.
What they look like
21 of the 33 are MONDO against MONDO — the GARD id is on one MONDO term while another MONDO term carries GARD's exact label. Some of these look like straightforward mapping errors worth reporting:
| GARD term |
MONDO maps it to |
but this MONDO term has that exact label |
GARD:16798 "Ptosis, hereditary congenital, 1" |
MONDO:0008340 "congenital ptosis" |
MONDO:0979905 "ptosis, hereditary congenital, 1" |
GARD:12827 "Hypotrichosis-lymphedema-telangiectasia syndrome" |
MONDO:0007670 "…syndrome (grouping)" |
MONDO:0011914 "…syndrome" |
GARD:1638 "Cutis laxa with osteodystrophy" |
MONDO:0018163 "autosomal recessive cutis laxa type 2A" |
MONDO:0009054 "autosomal recessive cutis laxa type 2, classic type" |
GARD:15142 "Congenital cleft nose" |
MONDO:0008866 "bifid nose, autosomal recessive" |
MONDO:0015414 "paramedian nasal cleft" |
The first two are the clearest: a grouping term and its leaf sharing a label, with the GARD id on the one whose label does not match. The others are a specific-vs-general question that a curator should settle rather than an automated rule.
The remaining 12 point at UMLS (6), DOID (2), HP (2) and Orphanet (2). Some are genuine ambiguity rather than error — GARD:17098 "Factor I deficiency" is mapped to complement factor I deficiency while the label also names fibrinogen deficiency, and "Factor I" really does mean both — and GARD:17278 "Euthyroid goiter" matches HP:0009798, which crosses the disease/phenotype line Babel deliberately keeps.
The ask
Send these to MONDO as a "please check" list, not as asserted corrections. A label collision is evidence that two terms are being described the same way; it does not by itself say which mapping is right, and roughly a third of the list is legitimate ambiguity. The MONDO-vs-MONDO subset is the part with the highest hit rate and the least judgement required, so it is worth leading with.
Worth saying in the same breath as #1058, which proposes 270 new GARD mappings from the same machinery: that issue adds mappings where MONDO has none, this one reviews mappings MONDO already has. Different asks, so they should probably be separate upstream tickets, but they come from one script and one measurement and are cheapest to prepare together.
Related: #1058 (propose the 270 unmapped matches), #1051 (register GARD in Biolink).
Babel's
GARD_labelconcord matches an unmapped GARD term to an identifier carrying the same label. Its precision was measured on a held-out set — the 15,937 GARD ids MONDO and DOID already place, which the concord deliberately skips — by running the same rule over them and asking whether the label lands in the clique those curated xrefs chose. It agrees 15,337 times and disagrees 33 (0.21%).Those 33 are not a Babel defect:
GARD_labelnever acts on them, because its first guard skips any GARD id another concord names. They are something more useful — cases where a GARD term's label exactly names a different concept than the one MONDO's ownhasDbXrefmaps it to, which is a cheap signal for upstream curation and one nobody is currently looking at.The full list is
docs/sources/GARD/label-mismatches.csv— GARD id, GARD's label, the clique MONDO/DOID place it in, and the clique the label names. Regenerate withuv run python docs/sources/GARD/label-matches/scripts/gard_label_match_report.py.What they look like
21 of the 33 are MONDO against MONDO — the GARD id is on one MONDO term while another MONDO term carries GARD's exact label. Some of these look like straightforward mapping errors worth reporting:
GARD:16798"Ptosis, hereditary congenital, 1"MONDO:0008340"congenital ptosis"MONDO:0979905"ptosis, hereditary congenital, 1"GARD:12827"Hypotrichosis-lymphedema-telangiectasia syndrome"MONDO:0007670"…syndrome (grouping)"MONDO:0011914"…syndrome"GARD:1638"Cutis laxa with osteodystrophy"MONDO:0018163"autosomal recessive cutis laxa type 2A"MONDO:0009054"autosomal recessive cutis laxa type 2, classic type"GARD:15142"Congenital cleft nose"MONDO:0008866"bifid nose, autosomal recessive"MONDO:0015414"paramedian nasal cleft"The first two are the clearest: a grouping term and its leaf sharing a label, with the GARD id on the one whose label does not match. The others are a specific-vs-general question that a curator should settle rather than an automated rule.
The remaining 12 point at UMLS (6), DOID (2), HP (2) and Orphanet (2). Some are genuine ambiguity rather than error —
GARD:17098"Factor I deficiency" is mapped to complement factor I deficiency while the label also names fibrinogen deficiency, and "Factor I" really does mean both — andGARD:17278"Euthyroid goiter" matchesHP:0009798, which crosses the disease/phenotype line Babel deliberately keeps.The ask
Send these to MONDO as a "please check" list, not as asserted corrections. A label collision is evidence that two terms are being described the same way; it does not by itself say which mapping is right, and roughly a third of the list is legitimate ambiguity. The MONDO-vs-MONDO subset is the part with the highest hit rate and the least judgement required, so it is worth leading with.
Worth saying in the same breath as #1058, which proposes 270 new GARD mappings from the same machinery: that issue adds mappings where MONDO has none, this one reviews mappings MONDO already has. Different asks, so they should probably be separate upstream tickets, but they come from one script and one measurement and are cheapest to prepare together.
Related: #1058 (propose the 270 unmapped matches), #1051 (register GARD in Biolink).