Experimental Factor Ontology (EFO)¶
The Experimental Factor Ontology (EFO) is a comprehensive ontology developed to provide systematic, standardized descriptions of experimental variables and factors in biological and biomedical research [1] [2]. EFO integrates terms from multiple biological ontologies, including UBERON for anatomy, ChEBI for chemical compounds, and the Cell Ontology, in order to support the annotation, analysis, and visualization of experimental data [1] [2]. It is widely used for annotating datasets in EMBL-EBI resources and external projects such as the NHGRI-EBI GWAS Catalog, and it is also used as the core ontology for Open Targets [1] [5]. EFO enables semantic interoperability, data integration, and ontology-based querying across diverse datasets, facilitating cross-study comparison and data reuse [1] [4]. The ontology is actively maintained at EMBL-EBI and continues to evolve in response to new data types and research needs [3] [1]. By providing a unified framework for describing experimental factors, EFO supports data sharing, discovery, and knowledge integration in genomics, transcriptomics, and related life science domains [1] [5].
Example Usage: Annotate a gene expression or association dataset with EFO terms to specify experimental variables such as tissue type, disease or phenotype, treatment, and assay-related factors, enabling semantic search, cross-study comparison, and meta-analysis across biological datasets [1] [4].
Metrics & Statistics¶
Total Nodes |
948012 |
Total Edges |
2874304 |
Root Nodes |
308011 |
Leaf Nodes |
443836 |
Classes |
88311 |
Individuals |
0 |
Properties |
87 |
Maximum Depth |
13 |
Minimum Depth |
0 |
Average Depth |
1.24 |
Depth Variance |
2.14 |
Maximum Breadth |
308011 |
Minimum Breadth |
5 |
Average Breadth |
62043.14 |
Breadth Variance |
11287110481.98 |
Term Types |
0 |
Taxonomic Relations |
162458 |
Non-taxonomic Relations |
10335 |
Average Terms per Type |
0.00 |
Usage Example¶
Use the following code to import this ontology programmatically:
from ontolearner.ontology import EFO
ontology = EFO()
ontology.load("path/to/EFO-ontology.owl")
# Extract datasets
data = ontology.extract()
# Access specific relations
term_types = data.term_typings
taxonomic_relations = data.type_taxonomies
non_taxonomic_relations = data.type_non_taxonomic_relations