spacer
News
June 2007: Maintenance Release

Implementation documentation has been updated to include more recent dependencies. Please note that unless stated otherwise in specific instances, newer versions of given depencies should work without issue.

April 2007: Maintenance Release

There is a new release of the OLS available, which includes mostly maintenance fixes and loader code improvements (such as failover database support). The source code and clients are available in the downloads section.

January 2007: Data and inferface upgrades

The OLS got a facelift in order to better integrate with the new look&feel deployed sitewide at the EBI. In other news, the Medical Subject Heading vocabulary (MeSH) has been removed from the OLS in order to comply with requests from the National Library of Medicine (NLM). The full list of loaded ontologies can be seen here.

November 2006: Data and inferface upgrades

The unit ontology (UO) has been added to the OLS. The full list of loaded ontologies can be seen here. Furthermore, a quick term ID lookup has been added to the search interface to look up terms by their unique identifiers.

October 2006: OLS presented at HUPO 2006

The OLS was featured in an oral presentation at the 6th annual HUPO Congress.

August 2006: Filtering of obsolete terms

It is now possible to exclude obsoleted terms from the auto-completion list when searching for terms. Simply uncheck the Include obselete terms box and any terms that have been marked as obsolete will no longer be returned in the search results.

August 2006: SOAPAction added to WSDL

The SOAPAction element has been added to the WSDL service declaration to improve interoperability with PHP and other languages that require it.

July 2006: New webservice deployed

As announced in the previous news item, the OLS webservice has been redeployed to make it compliant with the latest WSDL specifications and also improve its interoperability. If you are experiencing problems with the new webservice code, please do not hesitate to contact us for support.

June 2006: Notification of WSDL change

The OLS webservice will be undergoing change that will not be backwards-compatible and might break existing code at the end of June. The current WSDL defines multiple operations with the same name but with different parameters. While such method overloading was allowed under previous WSDL specifications, it will no longer be supported. Furthermore, to maximize interoperability, the WSDL will change from a RPC-style service to a document/wrapped style service. As such, users of the OLS webservice are encouraged to update their code to use the new WSDL, which will be published on June 30th.

February 2006: OLS published in BMC Bioinformatics

A paper describing the OLS has been published in BMC Bioinformatics: The Ontology Lookup Service, a lightweight cross-platform tool for controlled vocabulary queries.

December 2005: More data, more methods!

4 new ontologies have been added: GRO, MOD, PSI and SO. See the full list here. Also, two new methods have been added to the SOAP interface. View the WSDL here

December 2005: Release of the ontology browser

An AJAX-based ontology browser has now been deployed. Select the ontology you wish to browse from the list and click on the "browse" button.

November 2005: Major increase in ontology availability

The OLS now serves 37 ontologies. See the full list here. Significant improvements have also been made to the layout of the web interface, with more in the pipeline.

August 2005: Ontology Lookup 1.0 Release

The Ontology Lookup webservice has been made publicly available for general use by the scientific community.

Ontologies currently available include:

  • Gene Ontology (GO)
  • Medical SubHeadings (MeSH)
  • PSI Molecular Interactions (PSI-MI)
spacer

OLS - Ontology Lookup Service

Download the OLS dump file

The OLS now provides a database export in the form of a mySQL dump file. This file is generated on a weekly basis and can be obtained from the EBI FTP server: ftp://ftp.ebi.ac.uk//pub/databases/ols/sqldump

All files are named and timestamped in the form of ols-YYYY-MM-DD-HHMM.sql.gz. Simply download the latest file and unzip it using you program of choice to a temporary location.

Import the OLS dump file

To load the dump file to your mySQL database server, log in to your mySQL database server with a username and password that has enough privileges to create, insert and select. Then, use the following commands:


    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 1 to server version: 5.0.27-community-nt

    mysql> create database ols;
    Query OK, 1 row affected (0.08 sec)

    mysql> use ols;
    Database changed

    mysql> source /PATH/TO/UNZIPPED/FILE/ols-YYYY-MM-DD-HHMM.sql;
    Query OK, 0 rows affected (0.08 sec)

    Query OK, 0 rows affected (0.00 sec)

    Query OK, 0 rows affected (0.00 sec)

    [and many other lines output not shown for clarity]

The import can take as long as 60 minutes to complete, depending on the speed of your hardware.

Use the OLS dump file

Here are some example queries that can be run against your newly imported data:

Search for a term by name:

select t.* from term t left join term_synonym ts on t.term_id = ts.term_id where term_name like '%mitochondrion%' or synonym_value like '%mitochondrion%';

This query will retrieve all term information based on a given name. It will search all possible synonyms of the preferred term name as well. Please note however that the search will be case sensitive.


Search metadata for a term by term accession:

select * from annotation a, term t where t.identifier = 'GO:0005739' and t.term_id = a.term_id;

select * from term_synonym ts, term t where t.identifier = 'GO:0005739' and t.term_id = ts.term_id;

select * from dbxref db, term t where t.identifier = 'GO:0005739' and t.term_id = db.term_id;

The first query will retrieve annotations associated with a given term. The second will retrieve all synonyms for that term. The last will retrieve cross-references associated with it.


Search for relationships for a term by term accession:

select subject_term.identifier, subject_term.term_name as child,
predicate_term.term_name as relation,
object_term.identifier, object_term.term_name as parent from
term subject_term,
term predicate_term,
term object_term,
term_relationship tr
where
tr.subject_term_id = subject_term.term_id and
tr.predicate_term_id = predicate_term.term_id and
tr.object_term_id = object_term.term_id and
object_term.identifier = 'GO:0005739';

This query will return all the direct children of a term:

+------------+--------------------------+----------+------------+---------------+
| identifier | child                    | relation | identifier | parent        |
+------------+--------------------------+----------+------------+---------------+
| GO:0016007 | mitochondrial derivative | is_a     | GO:0005739 | mitochondrion |
| GO:0016006 | Nebenkern                | is_a     | GO:0005739 | mitochondrion |
| GO:0044429 | mitochondrial part       | part_of  | GO:0005739 | mitochondrion |
+------------+--------------------------+----------+------------+---------------+
3 rows in set (0.00 sec)

select subject_term.identifier, subject_term.term_name as child,
predicate_term.term_name as relation,
object_term.identifier, object_term.term_name as parent from
term subject_term,
term predicate_term,
term object_term,
term_relationship tr
where
tr.subject_term_id = subject_term.term_id and
tr.predicate_term_id = predicate_term.term_id and
tr.object_term_id = object_term.term_id and
subject_term.identifier = 'GO:0005739';

This query will return all the direct parents of a term:

+------------+---------------+----------+------------+------------------------------------------+
| identifier | child         | relation | identifier | parent                                   |
+------------+---------------+----------+------------+------------------------------------------+
| GO:0005739 | mitochondrion | is_a     | GO:0043231 | intracellular membrane-bounded organelle |
| GO:0005739 | mitochondrion | is_a     | GO:0044444 | cytoplasmic part                         |
+------------+---------------+----------+------------+------------------------------------------+
2 rows in set (0.00 sec)
spacer
spacer