CellType

lamindb provides access to the following public CellType ontologies through bionty:

  1. Cell Ontology

Here we show how to access and search CellType ontologies to standardize new data.

import bionty as bt
import pandas as pd
 connected lamindb: testuser1/test-public-ontologies

PublicOntology objects

Let us create a public ontology accessor with .public method, which chooses a default public ontology source from Source. It’s a PublicOntology object, which you can think about as a public registry:

celltypes = bt.CellType.public(organism="all")
celltypes
PublicOntology
Entity: CellType
Organism: all
Source: cl, 2025-12-17
#terms: 3437

As for registries, you can export the ontology as a DataFrame:

df = celltypes.to_dataframe()
df.head()
name definition synonyms parents
ontology_id
CL:0000000 cell A Material Entity Of Anatomical Origin (Part O... None []
CL:0000001 primary cultured cell A Cultured Cell That Is Freshly Isolated From ... primary cell culture cell|unpassaged cultured ... [CL:0000010]
CL:0000002 obsolete immortal cell line cell Obsolete: A Cell Line Cell That Is Expected To... continuous cell line cell|permanent cell line ... []
CL:0000003 obsolete native cell Obsolete. A Cell That Is Found In A Natural Se... None []
CL:0000004 obsolete cell by organism Obsolete: A Classification Of Cells By The Org... None []

Unlike registries, you can also export it as a Pronto object via public.ontology.

Look up terms

As for registries, terms can be looked up with auto-complete:

lookup = celltypes.lookup()

The . accessor provides normalized terms (lower case, only contains alphanumeric characters and underscores):

lookup.cd8_positive_alpha_beta_t_cell
CellType(ontology_id='CL:0000625', name='CD8-positive, alpha-beta T cell', definition='A T Cell Expressing An Alpha-Beta T Cell Receptor And The Cd8 Coreceptor.', synonyms='CD8-positive, alpha-beta T-cell|CD8-positive, alpha-beta T lymphocyte|CD8-positive, alpha-beta T-lymphocyte', parents=array(['CL:0000791'], dtype=object))

To look up the exact original strings, convert the lookup object to dict and use the [] accessor:

lookup_dict = lookup.dict()
lookup_dict["CD8-positive, alpha-beta T cell"]
CellType(ontology_id='CL:0000625', name='CD8-positive, alpha-beta T cell', definition='A T Cell Expressing An Alpha-Beta T Cell Receptor And The Cd8 Coreceptor.', synonyms='CD8-positive, alpha-beta T-cell|CD8-positive, alpha-beta T lymphocyte|CD8-positive, alpha-beta T-lymphocyte', parents=array(['CL:0000791'], dtype=object))

By default, the name field is used to generate lookup keys. You can specify another field to look up:

lookup = celltypes.lookup(celltypes.ontology_id)
lookup.cl_0000625
CellType(ontology_id='CL:0000625', name='CD8-positive, alpha-beta T cell', definition='A T Cell Expressing An Alpha-Beta T Cell Receptor And The Cd8 Coreceptor.', synonyms='CD8-positive, alpha-beta T-cell|CD8-positive, alpha-beta T lymphocyte|CD8-positive, alpha-beta T-lymphocyte', parents=array(['CL:0000791'], dtype=object))

Search terms

Search behaves in the same way as it does for registries:

celltypes.search("Tc1 cell").head(3)
name definition synonyms parents
ontology_id
CL:0000917 Tc1 cell A Cd8-Positive, Alpha-Beta Positive T Cell Tha... Tc1 CD8+ T cell|Tc1 T cell|T-cytotoxic T cell ... [CL:0000908]

By default, search also covers synonyms and all other fileds containing strings:

celltypes.search("Tc1 T lymphocyte").head(3)
name definition synonyms parents
ontology_id
CL:0000917 Tc1 cell A Cd8-Positive, Alpha-Beta Positive T Cell Tha... Tc1 CD8+ T cell|Tc1 T cell|T-cytotoxic T cell ... [CL:0000908]

Search specific field (by default, search is done on all fields containing strings):

celltypes.search(
    "cd8-positive, alpha-beta positive t cell",
    field=celltypes.definition,
).head()
name definition synonyms parents
ontology_id
CL:0000917 Tc1 cell A Cd8-Positive, Alpha-Beta Positive T Cell Tha... Tc1 CD8+ T cell|Tc1 T cell|T-cytotoxic T cell ... [CL:0000908]
CL:0000918 Tc2 cell A Cd8-Positive, Alpha-Beta Positive T Cell Exp... Tc2 T-cell|Tc2 T-lymphocyte|T-cytotoxic T cell... [CL:0000908, CL:0001052]

Standardize CellType identifiers

Let us generate a DataFrame that stores a number of CellType identifiers, some of which corrupted:

df_orig = pd.DataFrame(
    index=[
        "Boettcher cell",
        "bone marrow cell",
        "interstitial cell of ovary",
        "pancreatic ductal cell",
        "This celltype does not exist",
    ]
)
df_orig
Boettcher cell
bone marrow cell
interstitial cell of ovary
pancreatic ductal cell
This celltype does not exist

We can check whether any of our values are validated against the ontology reference:

validated = celltypes.validate(df_orig.index, celltypes.name)
df_orig.index[~validated]
! 1 unique term (20.00%) is not validated: 'This celltype does not exist'
Index(['This celltype does not exist'], dtype='object')

Ontology source versions

For any given entity, we can choose from a number of versions:

bt.Source.filter(entity="bionty.CellType").to_dataframe()
Hide code cell output
uid entity organism name version in_db currently_used description url md5 source_website is_locked created_at branch_id space_id created_by_id run_id dataframe_artifact_id
id
50 6Z0wRdof bionty.CellType all cl 2025-12-17 False True Cell Ontology http://purl.obolibrary.org/obo/cl/releases/202... None https://obophenotype.github.io/cell-ontology False 2026-01-27 17:31:29.036000+00:00 1 1 3 None None
# only lists the sources that are currently used
bt.Source.filter(entity="bionty.CellType", currently_used=True).to_dataframe()
uid entity organism name version in_db currently_used description url md5 source_website is_locked created_at branch_id space_id created_by_id run_id dataframe_artifact_id
id
50 6Z0wRdof bionty.CellType all cl 2025-12-17 False True Cell Ontology http://purl.obolibrary.org/obo/cl/releases/202... None https://obophenotype.github.io/cell-ontology False 2026-01-27 17:31:29.036000+00:00 1 1 3 None None

When instantiating a Bionty object, we can choose a source or version:

source = bt.Source.filter(
    name="cl", organism="all"
).first()
celltypes= bt.CellType.public(source=source)
celltypes
PublicOntology
Entity: CellType
Organism: all
Source: cl, 2025-12-17
#terms: 3437

The currently used ontologies can be displayed using:

bt.Source.filter(currently_used=True).to_dataframe()
Hide code cell output
uid entity organism name version in_db currently_used description url md5 source_website is_locked created_at branch_id space_id created_by_id run_id dataframe_artifact_id
id
67 5JnVODh4 BioSample all ncbi 2023-09 False True NCBI BioSample attributes s3://bionty-assets/df_all__ncbi__2023-09__BioS... None https://www.ncbi.nlm.nih.gov/biosample/docs/at... False 2026-01-27 17:31:29.036000+00:00 1 1 3 None None
66 7au3ZQrD bionty.Ethnicity human hancestro 2025-10-14 False True Human Ancestry Ontology http://purl.obolibrary.org/obo/hancestro/relea... None https://github.com/EBISPOT/hancestro False 2026-01-27 17:31:29.036000+00:00 1 1 3 None None
65 6na9vRls bionty.DevelopmentalStage mouse mmusdv 2025-01-23 False True Mouse Developmental Stages https://github.com/obophenotype/developmental-... None https://github.com/obophenotype/developmental-... False 2026-01-27 17:31:29.036000+00:00 1 1 3 None None
64 7JO1x6p1 bionty.DevelopmentalStage human hsapdv 2025-01-23 False True Human Developmental Stages https://github.com/obophenotype/developmental-... None https://github.com/obophenotype/developmental-... False 2026-01-27 17:31:29.036000+00:00 1 1 3 None None
62 ugaIoIlj Drug all dron 2024-08-05 False True Drug Ontology http://purl.obolibrary.org/obo/dron/releases/2... None https://bioportal.bioontology.org/ontologies/DRON False 2026-01-27 17:31:29.036000+00:00 1 1 3 None None
61 3rm9aOzL BFXPipeline all lamin 1.0.0 False True Bioinformatics Pipeline s3://bionty-assets/df_all__lamin__1.0.0__BFXpi... None https://lamin.ai False 2026-01-27 17:31:29.036000+00:00 1 1 3 None None
59 2UZHts8n bionty.Pathway all go 2025-10-10 False True Gene Ontology http://purl.obolibrary.org/obo/go/releases/202... None http://geneontology.org False 2026-01-27 17:31:29.036000+00:00 1 1 3 None None
57 h5EFbQNJ bionty.Phenotype human hp 2026-01-08 False True Human Phenotype Ontology https://github.com/obophenotype/human-phenotyp... None https://hpo.jax.org False 2026-01-27 17:31:29.036000+00:00 1 1 3 None None
56 2rMQe2ZH bionty.Phenotype all pato 2025-05-14 False True Phenotype And Trait Ontology http://purl.obolibrary.org/obo/pato/releases/2... None https://github.com/pato-ontology/pato False 2026-01-27 17:31:29.036000+00:00 1 1 3 None None
55 7DFdvM5S bionty.ExperimentalFactor all efo 3.85.0 False True The Experimental Factor Ontology http://www.ebi.ac.uk/efo/releases/v3.85.0/efo.owl None https://bioportal.bioontology.org/ontologies/EFO False 2026-01-27 17:31:29.036000+00:00 1 1 3 None None
53 5pzW1FWn bionty.Disease human doid 2025-12-23 False True Human Disease Ontology http://purl.obolibrary.org/obo/doid/releases/2... None https://disease-ontology.org False 2026-01-27 17:31:29.036000+00:00 1 1 3 None None
52 1gZ2spLp bionty.Disease all mondo 2026-01-06 False True Mondo Disease Ontology http://purl.obolibrary.org/obo/mondo/releases/... None https://mondo.monarchinitiative.org False 2026-01-27 17:31:29.036000+00:00 1 1 3 None None
51 2zRjWH6J bionty.Tissue all uberon 2025-12-04 False True Uberon multi-species anatomy ontology http://purl.obolibrary.org/obo/uberon/releases... None http://obophenotype.github.io/uberon False 2026-01-27 17:31:29.036000+00:00 1 1 3 None None
50 6Z0wRdof bionty.CellType all cl 2025-12-17 False True Cell Ontology http://purl.obolibrary.org/obo/cl/releases/202... None https://obophenotype.github.io/cell-ontology False 2026-01-27 17:31:29.036000+00:00 1 1 3 None None
47 5kJm0APo bionty.CellLine all cellosaurus 53.0 False True Cellosaurus s3://bionty-assets/df_all__cellosaurus__53.0__... None https://www.cellosaurus.org/ False 2026-01-27 17:31:29.036000+00:00 1 1 3 None None
46 7bV5uJo3 bionty.CellMarker mouse cellmarker 2.0 False True CellMarker s3://bionty-assets/mouse_cellmarker_2.0_CellMa... None http://bio-bigdata.hrbmu.edu.cn/CellMarker False 2026-01-27 17:31:29.036000+00:00 1 1 3 None None
45 3kDh8qAX bionty.CellMarker human cellmarker 2.0 False True CellMarker s3://bionty-assets/human_cellmarker_2.0_CellMa... None http://bio-bigdata.hrbmu.edu.cn/CellMarker False 2026-01-27 17:31:29.036000+00:00 1 1 3 None None
44 01RWXN2V bionty.Protein mouse uniprot 2024-03 False True Uniprot s3://bionty-assets/df_mouse__uniprot__2024-03_... None https://www.uniprot.org False 2026-01-27 17:31:29.036000+00:00 1 1 3 None None
43 3EYyGRYN bionty.Protein human uniprot 2024-03 False True Uniprot s3://bionty-assets/df_human__uniprot__2024-03_... None https://www.uniprot.org False 2026-01-27 17:31:29.036000+00:00 1 1 3 None None
42 7SwZGnr2 bionty.Gene saccharomyces cerevisiae ensembl release-114 False True Ensembl s3://bionty-assets/df_saccharomyces cerevisiae... None https://www.ensembl.org False 2026-01-27 17:31:29.036000+00:00 1 1 3 None None
41 2wv9SRzv bionty.Gene mouse ensembl release-114 False True Ensembl s3://bionty-assets/df_mouse__ensembl__release-... None https://www.ensembl.org False 2026-01-27 17:31:29.036000+00:00 1 1 3 None None
40 2w43l1YS bionty.Gene human ensembl release-114 False True Ensembl s3://bionty-assets/df_human__ensembl__release-... None https://www.ensembl.org False 2026-01-27 17:31:29.036000+00:00 1 1 3 None None
39 3wWO3xfZ bionty.Organism all ncbitaxon 2025-12-03 False True NCBItaxon Ontology http://purl.obolibrary.org/obo/ncbitaxon/2025-... None https://github.com/obophenotype/ncbitaxon False 2026-01-27 17:31:29.036000+00:00 1 1 3 None None
38 7GPHh16S bionty.Organism plants ensembl release-57 False True Ensembl https://ftp.ensemblgenomes.ebi.ac.uk/pub/plant... None https://www.ensembl.org False 2026-01-27 17:31:29.036000+00:00 1 1 3 None None
37 2PmTrc8x bionty.Organism metazoa ensembl release-57 False True Ensembl https://ftp.ensemblgenomes.ebi.ac.uk/pub/metaz... None https://www.ensembl.org False 2026-01-27 17:31:29.036000+00:00 1 1 3 None None
36 6s9nV6xh bionty.Organism fungi ensembl release-57 False True Ensembl https://ftp.ensemblgenomes.ebi.ac.uk/pub/fungi... None https://www.ensembl.org False 2026-01-27 17:31:29.036000+00:00 1 1 3 None None
35 6bbVUTCS bionty.Organism bacteria ensembl release-57 False True Ensembl https://ftp.ensemblgenomes.ebi.ac.uk/pub/bacte... None https://www.ensembl.org False 2026-01-27 17:31:29.036000+00:00 1 1 3 None None
34 6o9usTh3 bionty.Organism vertebrates ensembl release-114 False True Ensembl https://ftp.ensembl.org/pub/release-114/specie... None https://www.ensembl.org False 2026-01-27 17:31:29.036000+00:00 1 1 3 None None