Giter Site home page Giter Site logo

ontotools-docker's Introduction

OntoTools Deployment Pipeline

The EBI Ontology Tools (consisting of OLS, OxO and Zooma) are available as docker containers. These containers are provided in the following 2 ways:

  • Standalone applications: This is for users who want to only run an instance of OLS (or OxO or Zooma), rather than the complete Ontology Tools stack.
  • Full Ontology Tools stack: This is for users who want to run the full Ontology Tools stack consisting of OLS, OxO and Zooma.

This repository contains the official Dockerised deployment pipeline for the Full Ontology Tools stack. For instructions for the standalone applications, see the OLS, OxO, or ZOOMA repositories respectively.

Instructions

First, install Git, Docker and Docker compose. On an Ubuntu server:

apt install git docker.io
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

To use Docker without sudo, make sure your user is in the docker group. For example, if your username is spot:

sudo usermod -aG docker spot

Next, clone this repository:

git clone https://github.com/EBISPOT/ontotools-docker.git
cd ontotools-docker

The configuration options for each of the OntoTools can be found in the config directory. For example, to change the OLS configuration, edit the files in config/ols-config.

Finally, run the redeploy.sh script to deploy the OntoTools stack:

./redeploy.sh

To update the data in your OntoTools instances, run the update-data.sh script:

./update-data.sh

Customisation

It is possible to customise several branding options for the OntoTools by editing docker-compose.yml:

OLS

  • ols.customisation.debrand — If set to true, removes the EBI header and footer, documentation, and about page
  • ols.customisation.title — A custom title for your instance, e.g. "My OLS Instance"
  • ols.customisation.short-title — A shorter version of the custom title, e.g. "MYOLS"
  • ols.customisation.description — A description of the instance
  • ols.customisation.org — The organisation hosting your instance
  • ols.customisation.web — Url of the website for your organization.
  • ols.customisation.twitter — Handle to the Twitter account of your organisation.
  • ols.customisation.issuesPage — Url for the issue tracker for your organisation.
  • ols.customisation.supportMail — Email address where people can contact you.
  • ols.customisation.hideGraphView — Set to true to hide the graph view
  • ols.customisation.errorMessage — Message to show on error pages
  • ols.customisation.ontologyAlias — A custom word or phrase to use instead of "Ontology", e.g. "Data Dictionary"
  • ols.customisation.ontologyAliasPlural — As ontologyAlias but plural, e.g. "Data Dictionaries"
  • ols.customisation.oxoUrl — The URL of an OxO instance to link to with a trailing slash e.g. `https://www.ebi.ac.uk/spot/oxo/

OxO

  • oxo.customisation.debrand — If set to true, removes the EBI header and footer, documentation, and about page
  • oxo.customisation.title — A custom title for your instance, e.g. "My OxO Instance"
  • oxo.customisation.short-title — A shorter version of the custom title, e.g. "MYOxO"
  • oxo.customisation.description — A description of the instance
  • oxo.customisation.org — The organisation hosting your instance

Pipeline

The OLS/OXO/Zooma pipeline (just "pipeline" from now on) supports the following workflows:

  1. Deploying a new OLS/OXO/Zooma instance entirely using docker containers, using docker-compose.
  2. Re-indexing OLS/OXO when the data changes.

The pipeline performs the following steps, which are encoded as as series of docker commands in redeploy.sh. Note that update-data.sh can be used to just reindex the data, without actually stopping most of the services. It is, due to the low overall runtime of the script, not necessary to use update-data.sh (you can simply always use redeploy.sh).

  1. Starting ols-solr and ols-mongo instance
  2. Import OLS config from config/ols-config.
  3. Index ontologies in OLS
  4. Start the remaining services (ols-web oxo-solr oxo-neo4j oxo-web). It is important that ols-web is not running at indexing time. This is a shortcoming in the OLS architecture and will likely be solved in future versions.
  5. Extract all datasets from OLS for OxO processing
  6. Load datasets (not mappings) into OxO Neo4j
  7. Extract the xref mappings from OLS and exports them into OxO format.
  8. Loads the mappings into OxO Neo4j
  9. Index mappings in solr

Custom installations

We have started to maintain a list of known custom OLS installations. Please create an issue if you want your installation to be listed as well.

ontotools-docker's People

Contributors

cmungall avatar henrietteharmse avatar jamesamcl avatar matentzn avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

ontotools-docker's Issues

Configuring Java heap size for ontology loading

I'm encountering a java.lang.OutOfMemoryError from ELKOWLOntologyLoader when trying to deploy my custom OLS. Is there a place in the configuration where I can specify the heap size that will be used?

List of custom OntoTools installations - SemLookP

Hi @matentzn ,

sadly I'm a little bit late with my response, but I would love to contribute how we would like to use OLS and OxO for our research for your overview.


SemLookP

The Semantic Lookup Platform SemLookP hosted by the ZB MED - Information Centre for Life Sciences should be used in the biomedical domain. We want to use the system as a backbone service for different other services. SemLookP should help us in the following task:

  • Create (semi-)automatic annotations for research data
  • Set up an enriched semantic search service
  • Give additional information about a specific terminology resource

Our SemLookP services are accessible under:

One of our first use cases where we use SemLookP to show additional information for a concept is our COVID-19 preprint viewer preVIEW.


I hope the content fits the page. If you need anything else just contact me.

Best,

Roman

LOG4j Security issues:

I noticed that the maintainers of EBISPOT/OLS have asserted that they don't believe that there are any LOG4J worries for that product. See this link.

Do we know if that is true for this repo as well?

Thanks
Howard

Importing UMLS Mappings

I'm looking for some help on importing UMLS mappings. I've tried adding the following to redeploy.sh, between step 9 and 10.

image

and received this error

image

OXO search dropdowns don't populate

The custom installation went fine but The drop downs in OXO search don't populate
Search OxO by term id. -> Choose a target
Jump directly to a datasource

Please advice.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.