EBISPOT / OXO

Ontology cross-reference and mapping service
Apache License 2.0
18 stars 7 forks source link

OxO is a service for finding mappings (or cross-references) between terms from ontologies, vocabularies and coding standards. OxO imports mappings from a variety of sources including the Ontology Lookup Service and a subset of mappings provided by the UMLS.

OxO with Docker

OxO is comprised of three components:

The preferred method of deployment for OxO is using Docker. If you would like to deploy the entire OntoTools stack (OLS, OxO, and ZOOMA), check out the OntoTools Docker Config repository. If you would like to deploy OxO only, read on.

First, create the necessary volumes:

docker volume create --name=oxo-neo4j-data
docker volume create --name=oxo-neo4j-import
docker volume create --name=oxo-mongo-data
docker volume create --name=oxo-solr-data
docker volume create --name=oxo-hsqldb

Then, start OxO:

docker-compose up

The OxO instance will be empty until the loader and indexer have been executed.

Running the loader

The loader scripts are documented in the README of the oxo-loader/ directory.

Running the indexer

After using the loader to load data into neo4j, the indexer can be executed using Docker:

docker run --net=host ebispot/oxo-indexer:dev

OxO without Docker

Sometimes it is impractical to use Docker (e.g. for local development). To get OxO up and running without Docker, first install:

The instructions for the loader are not Docker-specific, and can be found in the oxo-loader/ directory. For the indexer and Web application, first compile the project using Maven:

mvn clean package

Then run the indexer:

java -Xmx10g -jar oxo-indexer.jar

The Web application is a standard WAR and can be deployed using e.g. Tomcat.

Customisation

It is possible to customise several branding options in oxo-web/src/main/resources/application.properties: