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 top

How 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 top

What 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 top

Which 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:

↑ Back to top

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 top

Does 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 top

How 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.
↑ Back to top

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 top

How 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 top

How 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 top

How should I cite EFO?

Technical 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 top

How 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 top

How 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 top

What 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 top

Can 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 top

Where 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 top

Contributing

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 top

Can 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