Tissue
¶
Bionty provides access to the following public Tissue ontologies:
Here we show how to access and search Tissue ontologies to standardize new data.
Let us create a public ontology accessor with the .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:
import bionty as bt
import pandas as pd
tissues = bt.Tissue.public(organism="all")
tissues
Show code cell output
→ connected lamindb: anonymous/test-public-ontologies
PublicOntology
Entity: Tissue
Organism: all
Source: uberon, 2026-06-23
#terms: 16071
As for registries, you can export the ontology as a DataFrame:
df = tissues.to_dataframe()
df.head()
Show code cell output
| name | definition | synonyms | parents | |
|---|---|---|---|---|
| ontology_id | ||||
| UBERON:0000000 | obsolete processual entity | Obsolete: An Occurrent [Span:Occurrent] That E... | NaN | [] |
| UBERON:0000001 | gross anatomical part | Anatomical Structure That Is Part Of A Multice... | NaN | [UBERON:0000465] |
| UBERON:0000002 | uterine cervix | Lower, Narrow Portion Of The Uterus Where It J... | neck of uterus|caudal segment of uterus|cervix... | [UBERON:0001560, UBERON:0005156, UBERON:000099... |
| UBERON:0000003 | naris | Orifice Of The Olfactory System. The Naris Is ... | NaN | [UBERON:0000161, UBERON:0005725] |
| UBERON:0000004 | nose | The Olfactory Organ Of Vertebrates, Consisting... | peripheral olfactory organ|nasal sac|nose | [UBERON:0004121, UBERON:0002268] |
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 = tissues.lookup()
The . accessor provides normalized terms (lower case, only contains alphanumeric characters and underscores):
lookup.alveolus_of_lung
Show code cell output
Tissue(ontology_id='UBERON:0002299', name='alveolus of lung', definition='Spherical Outcropping Of The Respiratory Bronchioles And Primary Site Of Gas Exchange With The Blood. Alveoli Are Particular To Mammalian Lungs. Different Structures Are Involved In Gas Exchange In Other Vertebrates[Wp].', synonyms='pulmonary alveolus|alveolus pulmonis|lung alveolus|respiratory alveolus', parents=array(['UBERON:0003215', 'UBERON:0002048', 'UBERON:0008874',
'UBERON:0010369'], 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["alveolus of lung"]
Show code cell output
Tissue(ontology_id='UBERON:0002299', name='alveolus of lung', definition='Spherical Outcropping Of The Respiratory Bronchioles And Primary Site Of Gas Exchange With The Blood. Alveoli Are Particular To Mammalian Lungs. Different Structures Are Involved In Gas Exchange In Other Vertebrates[Wp].', synonyms='pulmonary alveolus|alveolus pulmonis|lung alveolus|respiratory alveolus', parents=array(['UBERON:0003215', 'UBERON:0002048', 'UBERON:0008874',
'UBERON:0010369'], dtype=object))
By default, the name field is used to generate lookup keys. You can specify another field to look up:
lookup = tissues.lookup(tissues.ontology_id)
lookup.uberon_0000031
Show code cell output
Tissue(ontology_id='UBERON:0000031', name='lamina propria of trachea', definition='A Lamina Propria That Is Part Of A Respiratory Airway.', synonyms='trachea lamina propria mucosae|tracheal lamina propria|windpipe lamina propria|trachea lamina propria|lamina propria mucosa of trachea|lamina propria of windpipe|lamina propria mucosa of windpipe|windpipe lamina propria mucosa|lamina propria mucosae of windpipe|lamina propria mucosae of trachea|windpipe lamina propria mucosae|trachea lamina propria mucosa', parents=array(['UBERON:0004779', 'UBERON:0001005', 'UBERON:0001004'], dtype=object))
Search terms¶
Search behaves in the same way as it does for registries:
tissues.search("lung alveolus").head(3)
Show code cell output
| name | definition | synonyms | parents | |
|---|---|---|---|---|
| ontology_id | ||||
| UBERON:0002299 | alveolus of lung | Spherical Outcropping Of The Respiratory Bronc... | pulmonary alveolus|alveolus pulmonis|lung alve... | [UBERON:0003215, UBERON:0002048, UBERON:000887... |
| UBERON:0002172 | alveolar atrium | NaN | lung alveolus atrium|atrium of alveolus of lun... | [UBERON:0000064, UBERON:0002299, UBERON:000204... |
| UBERON:0004861 | right lung alveolus | An Alveolus That Is Part Of A Right Lung [Auto... | alveolus of right lung | [UBERON:0002299, UBERON:0006526, UBERON:000216... |
By default, search also covers synonyms and all other fields containing strings:
tissues.search("nasal sac").head(3)
Show code cell output
| name | definition | synonyms | parents | |
|---|---|---|---|---|
| ontology_id | ||||
| UBERON:0000004 | nose | The Olfactory Organ Of Vertebrates, Consisting... | peripheral olfactory organ|nasal sac|nose | [UBERON:0004121, UBERON:0002268] |
| UBERON:4300152 | accessory nasal sac | Accessory Nasal Sacs Are Found In A Variety Of... | NaN | [UBERON:0000062] |
| UBERON:2005085 | nasal artery | The Nasal Arteries Start At The Internal Carot... | NA | [UBERON:0001637] |
Search specific field (by default, search is done on all fields containing strings):
tissues.search(
"spherical outcropping of the respiratory",
field=tissues.definition,
).head()
Show code cell output
| name | definition | synonyms | parents | |
|---|---|---|---|---|
| ontology_id | ||||
| UBERON:0002299 | alveolus of lung | Spherical Outcropping Of The Respiratory Bronc... | pulmonary alveolus|alveolus pulmonis|lung alve... | [UBERON:0003215, UBERON:0002048, UBERON:000887... |
Standardize Tissue identifiers¶
Let us generate a DataFrame that stores a number of Tissue identifiers, some of which corrupted:
df_orig = pd.DataFrame(
index=[
"UBERON:0000000",
"UBERON:0000005",
"UBERON:0000001",
"UBERON:0000002",
"This tissue does not exist",
]
)
df_orig
Show code cell output
| UBERON:0000000 |
|---|
| UBERON:0000005 |
| UBERON:0000001 |
| UBERON:0000002 |
| This tissue does not exist |
We can check whether any of our values are validated against the ontology reference:
validated = tissues.validate(df_orig.index, tissues.name)
df_orig.index[~validated]
Show code cell output
! 5 unique terms (100.00%) are not validated: 'UBERON:0000000', 'UBERON:0000005', 'UBERON:0000001', 'UBERON:0000002', 'This tissue does not exist'
Index(['UBERON:0000000', 'UBERON:0000005', 'UBERON:0000001', 'UBERON:0000002',
'This tissue does not exist'],
dtype='str')
Ontology source versions¶
For any given entity, we can choose from a number of versions:
bt.Source.filter(entity="bionty.Tissue").to_dataframe()
Show code cell output
| uid | entity | organism | name | version | in_db | currently_used | description | url | md5 | source_website | is_locked | created_at | branch_id | created_on_id | space_id | created_by_id | run_id | dataframe_artifact_id | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| id | |||||||||||||||||||
| 27 | 5PozusMv | bionty.Tissue | all | uberon | 2026-06-23 | False | True | Uberon multi-species anatomy ontology | https://github.com/obophenotype/uberon/release... | None | http://obophenotype.github.io/uberon | False | 2026-09-20 17:54:01.318000+00:00 | 1 | 1 | 1 | 1 | None | None |
# only lists the sources that are currently used
bt.Source.filter(entity="bionty.Tissue", currently_used=True).to_dataframe()
Show code cell output
| uid | entity | organism | name | version | in_db | currently_used | description | url | md5 | source_website | is_locked | created_at | branch_id | created_on_id | space_id | created_by_id | run_id | dataframe_artifact_id | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| id | |||||||||||||||||||
| 27 | 5PozusMv | bionty.Tissue | all | uberon | 2026-06-23 | False | True | Uberon multi-species anatomy ontology | https://github.com/obophenotype/uberon/release... | None | http://obophenotype.github.io/uberon | False | 2026-09-20 17:54:01.318000+00:00 | 1 | 1 | 1 | 1 | None | None |
When instantiating a Bionty object, we can choose a source or version:
source = bt.Source.filter(
name="uberon", organism="all"
).first()
tissues= bt.Tissue.public(source=source)
tissues
Show code cell output
PublicOntology
Entity: Tissue
Organism: all
Source: uberon, 2026-06-23
#terms: 16071
The currently used ontologies can be displayed using:
bt.Source.filter(currently_used=True).to_dataframe()
Show code cell output
! truncated query result to limit=20 Source objects
| uid | entity | organism | name | version | in_db | currently_used | description | url | md5 | source_website | is_locked | created_at | branch_id | created_on_id | space_id | created_by_id | run_id | dataframe_artifact_id | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| id | |||||||||||||||||||
| 43 | 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-09-20 17:54:01.318000+00:00 | 1 | 1 | 1 | 1 | None | None |
| 42 | 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-09-20 17:54:01.318000+00:00 | 1 | 1 | 1 | 1 | None | None |
| 41 | 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-09-20 17:54:01.318000+00:00 | 1 | 1 | 1 | 1 | None | None |
| 40 | 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-09-20 17:54:01.318000+00:00 | 1 | 1 | 1 | 1 | None | None |
| 38 | 6bSx9Bpd | Drug | all | chebi | 2026-09-01 | False | True | Chemical Entities of Biological Interest | s3://bionty-assets/df_all__chebi__2026-09-01__... | None | https://www.ebi.ac.uk/chebi/ | False | 2026-09-20 17:54:01.318000+00:00 | 1 | 1 | 1 | 1 | None | None |
| 37 | 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-09-20 17:54:01.318000+00:00 | 1 | 1 | 1 | 1 | None | None |
| 35 | 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-09-20 17:54:01.318000+00:00 | 1 | 1 | 1 | 1 | None | None |
| 33 | 6Q3pqM4z | bionty.Phenotype | human | hp | 2026-09-01 | False | True | Human Phenotype Ontology | https://github.com/obophenotype/human-phenotyp... | None | https://hpo.jax.org | False | 2026-09-20 17:54:01.318000+00:00 | 1 | 1 | 1 | 1 | None | None |
| 32 | 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-09-20 17:54:01.318000+00:00 | 1 | 1 | 1 | 1 | None | None |
| 31 | 1NahqGNY | bionty.ExperimentalFactor | all | efo | 3.93.0 | False | True | The Experimental Factor Ontology | https://github.com/EBISPOT/efo/releases/downlo... | None | https://bioportal.bioontology.org/ontologies/EFO | False | 2026-09-20 17:54:01.318000+00:00 | 1 | 1 | 1 | 1 | None | None |
| 29 | 1UuMSPhi | bionty.Disease | human | doid | 2026-08-31 | False | True | Human Disease Ontology | http://purl.obolibrary.org/obo/doid/releases/2... | None | https://disease-ontology.org | False | 2026-09-20 17:54:01.318000+00:00 | 1 | 1 | 1 | 1 | None | None |
| 28 | 6Oa6a7Pp | bionty.Disease | all | mondo | 2026-09-01 | False | True | Mondo Disease Ontology | http://purl.obolibrary.org/obo/mondo/releases/... | None | https://mondo.monarchinitiative.org | False | 2026-09-20 17:54:01.318000+00:00 | 1 | 1 | 1 | 1 | None | None |
| 27 | 5PozusMv | bionty.Tissue | all | uberon | 2026-06-23 | False | True | Uberon multi-species anatomy ontology | https://github.com/obophenotype/uberon/release... | None | http://obophenotype.github.io/uberon | False | 2026-09-20 17:54:01.318000+00:00 | 1 | 1 | 1 | 1 | None | None |
| 26 | dq7QgcSP | bionty.CellType | all | cl | 2026-06-08 | False | True | Cell Ontology | http://purl.obolibrary.org/obo/cl/releases/202... | None | https://obophenotype.github.io/cell-ontology | False | 2026-09-20 17:54:01.318000+00:00 | 1 | 1 | 1 | 1 | None | None |
| 23 | 13AwGU4n | bionty.CellLine | all | cellosaurus | 56.0 | False | True | Cellosaurus | s3://bionty-assets/df_all__cellosaurus__56.0__... | None | https://www.cellosaurus.org/ | False | 2026-09-20 17:54:01.318000+00:00 | 1 | 1 | 1 | 1 | None | None |
| 22 | 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-09-20 17:54:01.318000+00:00 | 1 | 1 | 1 | 1 | None | None |
| 21 | 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-09-20 17:54:01.318000+00:00 | 1 | 1 | 1 | 1 | None | None |
| 20 | 1FUaRMsN | bionty.Protein | bos taurus | uniprot | 2026-01 | False | True | UniProt | s3://bionty-assets/df_bos-taurus__uniprot__202... | None | https://www.uniprot.org | False | 2026-09-20 17:54:01.318000+00:00 | 1 | 1 | 1 | 1 | None | None |
| 19 | 8vZdNSGd | bionty.Protein | saccharomyces cerevisiae | uniprot | 2026-01 | False | True | UniProt | s3://bionty-assets/df_saccharomyces-cerevisiae... | None | https://www.uniprot.org | False | 2026-09-20 17:54:01.318000+00:00 | 1 | 1 | 1 | 1 | None | None |
| 18 | 1894sCXT | bionty.Protein | arabidopsis thaliana | uniprot | 2026-01 | False | True | UniProt | s3://bionty-assets/df_arabidopsis-thaliana__un... | None | https://www.uniprot.org | False | 2026-09-20 17:54:01.318000+00:00 | 1 | 1 | 1 | 1 | None | None |