Frequently Asked Questions
Introduction
What is EFO?
The Experimental Factor Ontology (EFO) provides a systematic description of many data elements available in EBI databases and for external projects such as the NHGRI-EBI GWAS Catalog. It combines parts of several biological ontologies, such as anatomy, disease, and chemical compounds. The scope of EFO is to support the annotation, analysis, and visualization of data handled by multiple teams at the EBI. We also add terms for external users when requested.
New to ontologies? See the 5-minute introduction or a related blog post by James Malone.
↑ Back to topHow can I query EFO?
Use the Ontology Lookup Service (OLS4) or BioPortal; both offer a web interface to browse and search EFO and other ontologies. You can also use the search box on the EFO homepage.
↑ Back to topWhat is EFO used for?
EFO is primarily used to annotate biomedical data in EBI databases: the BioSamples database, the Expression Atlas, ArrayExpress, and the GWAS Catalog. It is also the core ontology for Open Targets.
The ontology enables query expansion: for example, an ArrayExpress search for cancer can automatically include all subclasses of cancer in EFO, not just exact string matches.
↑ Back to topWhich ontologies does EFO combine, and why?
EFO combines terms from a subset of ontologies that are well-designed, actively maintained, have definitions, and provide suitable coverage. These include:
- ChEBI — chemical compounds and their roles
- Gene Ontology — cellular component and biological process terms
- Ontology for Biomedical Investigation (OBI) — experimental design and protocols
- NCBI Taxonomy — species and strains
- UBERON — anatomy
- Basic Formal Ontology (BFO) — upper-level terms (small subset)
- Units Ontology — SI and combinatorial units
How are ontologies combined in EFO?
Ontologies are combined by importing relevant classes from external ontologies into EFO. When a class is imported, the original identifier (URI) is retained. When a term is needed in EFO and is in scope but not yet in one of our common import ontologies, we request it from the source ontology and import it once it becomes available.
Example: response to antipsychotic drug was needed to annotate GWAS data. Gene Ontology had the term response to drug, so we asked GO to add a new child term, and once added we imported it into EFO.
↑ Back to topDoes EFO cross-reference other ontologies?
Yes. As well as importing terms directly, EFO cross-references external ontologies to aid data integration. For example, the PRIDE database uses the Brenda Tissue Ontology while BioSamples uses EFO. EFO and Brenda terms are mapped using the definition citation annotation property, so a query of BioSamples via EFO can also surface data in PRIDE.
Mappings are done lexically and validated by an expert: exact string matches between class labels and synonyms from EFO and a target ontology are checked, then the external class ID is added as an annotation. Synonyms may also be imported, but conservatively — a synonym such as cortex can refer to different structures (brain, kidney) and must be reviewed carefully.
↑ Back to topHow is EFO structured?
EFO has three kinds of classes:
- Top-level classes sit at the root of the hierarchy and define the axes of classification (Process, Information, Materials, Properties of materials, Site), helping place new terms consistently.
- Imported classes come from external ontologies; their original URIs are kept. Definitions may be lightly edited to remove ontology jargon that would confuse biologist users.
- Native classes exist only in EFO — for example, cell lines that are out of scope for the Cell Line Ontology but are needed to annotate EBI data.
How is EFO edited?
EFO may be edited manually or programmatically. Manual edits are done using Protégé, a widely used ontology authoring tool. Programmatic edits are made using the OWL-API for systematic changes. EFO source files are version-controlled on GitHub.
↑ Back to topHow often is EFO updated?
EFO is released on the 15th of each month (or the next weekday). A monthly release schedule allows us to incorporate terms requested by external users and our curators and to map these terms to our databases. You can sign up for release emails via the EFO mailing list or read the latest Release Notes.
↑ Back to topHow is EFO quality controlled?
EFO runs on a continuous integration pipeline that checks for errors after every edit: missing labels, malformed URIs, invalid namespaces, trailing whitespace, and duplicated labels or synonyms. EFO is also reviewed regularly at each monthly release by the development team, and periodically by external experts. If you find an error, please email the EFO user list or open an issue on GitHub.
↑ Back to topHow should I cite EFO?
Please cite: Malone J, Holloway E, Adamusiak T, Kapushesky M, Zheng J, Kolesnikov N, Zhukova A, Brazma A, Parkinson H. Modeling sample variables with an Experimental Factor Ontology. Bioinformatics. 2010 Apr 15;26(8):1112–8. (PubMed PMID: 20200009; PMC: PMC2853691.)
This paper is available under open access from the Bioinformatics Journal.
↑ Back to topTechnical Questions
How do I track changes between EFO versions?
You can compare any two EFO versions by diffing the OWL or OBO files directly from GitHub Releases. The release notes also include a human-readable summary of changes for each monthly release.
↑ Back to topHow can I download EFO?
EFO is available as an OWL format file and as an OBO format file (converted from OWL). Both are available from our GitHub repository. OWL files can be opened in Protégé; OBO files can be opened in Protégé or OBO-Edit.
↑ Back to topHow do I look at OWL files, and what is Protégé?
Protégé is a free, open-source ontology browser and editor developed at Stanford. To open EFO in Protégé, download and install Protégé and the latest EFO OWL file from our GitHub repository. Protégé has a steep learning curve; if you simply want to explore or search EFO, use OLS4 or BioPortal instead.
↑ Back to topWhat is OWL?
OWL is the Web Ontology Language — both a format and a formal language used to represent ontologies. It can be read and written by Protégé and processed programmatically via the OWL-API. OBO format is an alternative language and format developed by the Gene Ontology project.
↑ Back to topCan I convert between OWL and OBO?
Yes. OBO-to-OWL conversion generally works well. OWL-to-OBO can be lossy; we use the Ontology Development Kit (ODK) to produce the OBO version of EFO distributed with each release.
↑ Back to topWhere can I learn more about ontologies?
Ontogenesis has accessible vignettes on ontologies. Bioontologies are regularly presented at the ICBO conference and the ISMB BioOntologies SIG. James Malone (an EFO developer) also wrote a blog: jamesmaloneebi.blogspot.co.uk.
↑ Back to topContributing
How do I add a term to EFO?
Use our GitHub issue tracker to request new terms (our older SourceForge and JIRA trackers are no longer used). All requests are assigned to a developer and scheduled for a release. For terms that are also of interest to community reference ontologies such as Gene Ontology or ChEBI, we often submit to those ontologies first and then import into EFO.
See also our Submit Term page for more detail.
↑ Back to topCan I use your ontology tools?
Yes. Many of the tools we use to build EFO are publicly available, including tools for building, validating, and comparing ontologies. See the SPOT tools page for an overview, including OxO, Zooma, and OntoString. To browse EFO we recommend OLS4.
↑ Back to top