Skill Tracer
Skills › Scientific Agent Skills › ontology-term-resolution › ontology-registry.md

ontology-registry.md

117 lines · skills/ontology-term-resolution/references/ontology-registry.md at 5f2bc03

Open on GitHub
1# Ontology registry
2
3Which ontology owns which kind of term, what OLS calls it, and a branch root to constrain against.
4Branch IDs/labels below were rechecked through public OLS on 2026-10-01. These are
5starting points, not a substitute for the target schema's ontology/release constraints.
6

Ontology registry

Which ontology owns which kind of term, what OLS calls it, and a branch root to constrain against. Branch IDs/labels below were rechecked through public OLS on 2026-10-01. These are starting points, not a substitute for the target schema's ontology/release constraints.

Raw lines 1 to 6
7## Prefix to OLS ontology id
8
9The OLS ontology id is almost always the lowercased CURIE prefix. Note the exceptions.
11| CURIE prefix | OLS id | Covers |
12| --- | --- | --- |
13| `UBERON` | `uberon` | Anatomy, tissues, organs, body fluids (cross-species) |
14| `CL` | `cl` | Cell types |
15| `CLO` | `clo` | Cell lines |
16| `MONDO` | `mondo` | Diseases (the merged disease ontology; prefer over DOID/NCIT) |
17| `DOID` | `doid` | Human Disease Ontology (largely subsumed by MONDO) |
18| `HP` | `hp` | Human phenotypic abnormalities — **id is `hp`, not `hpo`**. `HPO` is a Bioregistry synonym; Identifiers.org rejects `HPO:…` |
19| `EFO` | `efo` | Experimental factors, assays, platforms, cell lines |
20| `CHEBI` | `chebi` | Chemical entities, drugs, metabolites |
21| `NCBITaxon` | `ncbitaxon` | Organisms |
22| `GO` | `go` | Biological process, molecular function, cellular component |
23| `OBI` | `obi` | Assays, devices, protocols, study design |
24| `PATO` | `pato` | Qualities — sex, colour, magnitude, `normal` |
25| `SO` | `so` | Sequence features |
26| `HsapDv` | `hsapdv` | Human developmental stages |
27| `MmusDv` | `mmusdv` | Mouse developmental stages |
28| `ENVO` | `envo` | Environmental materials and biomes |
29| `FOODON` | `foodon` | Food |
30| `NCIT` | `ncit` | NCI Thesaurus (clinical/oncology breadth) |
31| `MS` | `ms` | Mass spectrometry instruments and methods |
32| `BAO` | `bao` | BioAssay descriptions |
33| `Orphanet` | **`ordo`** | Rare diseases — id is `ordo`, prefix in CURIEs is `Orphanet`, and OLS reports `preferredPrefix: ORDO` |
35For **Cellosaurus** cell-line identity and contamination information, use the
36[official Cellosaurus API documentation](https://api.cellosaurus.org/) when OLS does not
37carry the needed record. Check service coverage rather than assuming every scientific
38vocabulary or accession is an OLS class.

Prefix to OLS ontology id

The OLS ontology id is almost always the lowercased CURIE prefix. Note the exceptions.

CURIE prefixOLS idCovers
UBERONuberonAnatomy, tissues, organs, body fluids (cross-species)
CLclCell types
CLOcloCell lines
MONDOmondoDiseases (the merged disease ontology; prefer over DOID/NCIT)
DOIDdoidHuman Disease Ontology (largely subsumed by MONDO)
HPhpHuman phenotypic abnormalities — **id is hp, not hpo**. HPO is a Bioregistry synonym; Identifiers.org rejects HPO:…
EFOefoExperimental factors, assays, platforms, cell lines
CHEBIchebiChemical entities, drugs, metabolites
NCBITaxonncbitaxonOrganisms
GOgoBiological process, molecular function, cellular component
OBIobiAssays, devices, protocols, study design
PATOpatoQualities — sex, colour, magnitude, normal
SOsoSequence features
HsapDvhsapdvHuman developmental stages
MmusDvmmusdvMouse developmental stages
ENVOenvoEnvironmental materials and biomes
FOODONfoodonFood
NCITncitNCI Thesaurus (clinical/oncology breadth)
MSmsMass spectrometry instruments and methods
BAObaoBioAssay descriptions
Orphanet**ordo**Rare diseases — id is ordo, prefix in CURIEs is Orphanet, and OLS reports preferredPrefix: ORDO

For Cellosaurus cell-line identity and contamination information, use the official Cellosaurus API documentation when OLS does not carry the needed record. Check service coverage rather than assuming every scientific vocabulary or accession is an OLS class.

Raw lines 7 to 39
40## Branch roots for constraint checks
42Pass these to `--branch` to assert a term is the right *kind* of thing.
44| Root | Label | Use for |
45| --- | --- | --- |
46| `UBERON:0001062` | anatomical entity | any anatomy |
47| `UBERON:0000465` | material anatomical entity | tissues and organs |
48| `CL:0000000` | cell | cell types |
49| `MONDO:0700096` | human disease | human disease fields |
50| `HP:0000118` | Phenotypic abnormality | phenotype fields |
51| `CHEBI:24431` | chemical entity | compounds |
52| `NCBITaxon:1` | root | organisms |
53| `OBI:0000070` | assay | assay fields |
54| `PATO:0000001` | quality | qualities including sex |
55| `GO:0008150` | biological_process | GO BP only |
56| `GO:0003674` | molecular_function | GO MF only |
57| `GO:0005575` | cellular_component | GO CC only |
58| `EFO:0000001` | experimental factor | EFO breadth |
59| `SO:0000110` | sequence_feature | sequence features |
60| `HsapDv:0000001` | life cycle | human developmental stage |
61| `MmusDv:0000001` | life cycle | mouse developmental stage |
62| `ENVO:00010483` | environmental material | environmental samples |
63| `CLO:0000031` | cell line | cell lines |
64| `NCIT:C7057` | Disease, Disorder or Finding | NCIT disease subtree |
65| `DOID:4` | disease | DOID subtree |
67`MONDO:0000001` (`disease`) now resolves by `obo_id`; `MONDO:0700096` is the narrower
68human-disease root. Neither is a universal root for nonhuman studies.
70A branch check does not substitute for a prefix check. CARO places `cell` under
71`anatomical structure`, so cell types pass an anatomy branch test. Constrain both.

Branch roots for constraint checks

Pass these to --branch to assert a term is the right kind of thing.

RootLabelUse for
UBERON:0001062anatomical entityany anatomy
UBERON:0000465material anatomical entitytissues and organs
CL:0000000cellcell types
MONDO:0700096human diseasehuman disease fields
HP:0000118Phenotypic abnormalityphenotype fields
CHEBI:24431chemical entitycompounds
NCBITaxon:1rootorganisms
OBI:0000070assayassay fields
PATO:0000001qualityqualities including sex
GO:0008150biological_processGO BP only
GO:0003674molecular_functionGO MF only
GO:0005575cellular_componentGO CC only
EFO:0000001experimental factorEFO breadth
SO:0000110sequence_featuresequence features
HsapDv:0000001life cyclehuman developmental stage
MmusDv:0000001life cyclemouse developmental stage
ENVO:00010483environmental materialenvironmental samples
CLO:0000031cell linecell lines
NCIT:C7057Disease, Disorder or FindingNCIT disease subtree
DOID:4diseaseDOID subtree

MONDO:0000001 (disease) now resolves by obo_id; MONDO:0700096 is the narrower human-disease root. Neither is a universal root for nonhuman studies.

A branch check does not substitute for a prefix check. CARO places cell under anatomical structure, so cell types pass an anatomy branch test. Constrain both.

Raw lines 40 to 72
73## Choosing between overlapping ontologies
75- **Disease: MONDO.** It is the merge target for DOID, Orphanet, OMIM, and NCIT disease terms, and
76 it carries cross-references back to all of them. Use DOID or NCIT only when a downstream
77 consumer demands that namespace.
78- **Disease vs phenotype.** MONDO for the diagnosis (`asthma`), HP for the observed abnormality
79 (`Wheezing`). Metadata fields usually want one or the other, not either.
80- **Tissue vs cell type.** UBERON for the sample's anatomical origin, CL for what the cells are.
81 `liver` is UBERON, `hepatocyte` is CL — even though a search for `hepatocyte` restricted to
82 `uberon` will return the CL term as an imported copy.
83- **Assay: EFO first, OBI second.** Genomics platforms and library strategies are richer in EFO;
84 OBI is better for general laboratory assay classes.
85- **Chemicals: ChEBI** for anything with a structure. Drug products by trade name belong in
86 a drug vocabulary (RxNorm, DrugBank), not ChEBI.
87- **Sex: PATO** (`PATO:0000384` male, `PATO:0000383` female) when required by the target
88 schema. Preserve distinctions among phenotypic sex, chromosomal sex and gender; do not
89 infer one from another or guess from ambiguous codes.
90- **"Normal" / healthy control:** some schemas explicitly permit `PATO:0000461` (`normal`)
91 for a documented non-diseased state. It is not a filler for missing disease data. A control
92 arm, untreated sample, or unknown diagnosis is not sufficient evidence of health.

Choosing between overlapping ontologies

  • Disease: MONDO. It is the merge target for DOID, Orphanet, OMIM, and NCIT disease terms, and it carries cross-references back to all of them. Use DOID or NCIT only when a downstream consumer demands that namespace.
  • Disease vs phenotype. MONDO for the diagnosis (asthma), HP for the observed abnormality (Wheezing). Metadata fields usually want one or the other, not either.
  • Tissue vs cell type. UBERON for the sample's anatomical origin, CL for what the cells are. liver is UBERON, hepatocyte is CL — even though a search for hepatocyte restricted to uberon will return the CL term as an imported copy.
  • Assay: EFO first, OBI second. Genomics platforms and library strategies are richer in EFO; OBI is better for general laboratory assay classes.
  • Chemicals: ChEBI for anything with a structure. Drug products by trade name belong in a drug vocabulary (RxNorm, DrugBank), not ChEBI.
  • Sex: PATO (PATO:0000384 male, PATO:0000383 female) when required by the target schema. Preserve distinctions among phenotypic sex, chromosomal sex and gender; do not infer one from another or guess from ambiguous codes.
  • "Normal" / healthy control: some schemas explicitly permit PATO:0000461 (normal) for a documented non-diseased state. It is not a filler for missing disease data. A control arm, untreated sample, or unknown diagnosis is not sufficient evidence of health.
Raw lines 73 to 93
94## Common metadata fields and their expected ontology
96These are common choices; both field names and permitted ontologies can change by archive:
98| Concept | Ontology |
99| --- | --- |
100| tissue / organ / anatomical site | UBERON |
101| cell type | CL |
102| cell line | CLO, or Cellosaurus for identity and contamination status |
103| disease | MONDO; schema-specific normal/missing values |
104| phenotype | HP |
105| organism | NCBITaxon |
106| assay / platform | EFO |
107| developmental stage | HsapDv, MmusDv |
108| sex | PATO |
109| chemical / treatment compound | ChEBI |
110| environmental material | ENVO |
112Submission schemas — CELLxGENE, HCA, ENA/BioSamples checklists, ISA-Tab configurations — pin both
113the field names and the permitted ontologies, and they revise them. Read the schema version the
114submission targets rather than relying on this table or on memory. A currently valid OLS term can fail a schema
115pinned to an older release or restricted subset. For example, consult the current
116[CELLxGENE schema source](https://github.com/chanzuckerberg/single-cell-curation/tree/main/schema)
117and the specific version used by the submission.

Common metadata fields and their expected ontology

These are common choices; both field names and permitted ontologies can change by archive:

ConceptOntology
tissue / organ / anatomical siteUBERON
cell typeCL
cell lineCLO, or Cellosaurus for identity and contamination status
diseaseMONDO; schema-specific normal/missing values
phenotypeHP
organismNCBITaxon
assay / platformEFO
developmental stageHsapDv, MmusDv
sexPATO
chemical / treatment compoundChEBI
environmental materialENVO

Submission schemas — CELLxGENE, HCA, ENA/BioSamples checklists, ISA-Tab configurations — pin both the field names and the permitted ontologies, and they revise them. Read the schema version the submission targets rather than relying on this table or on memory. A currently valid OLS term can fail a schema pinned to an older release or restricted subset. For example, consult the current CELLxGENE schema source and the specific version used by the submission.

Raw lines 94 to 117