A SSSOM compliant implementation of OxO that is backwards compatible with OxO version 1
- Ensure docker is installed in your environment.
- Set OXO2_CONFIG environment variable - It should point to the OxO2 config file. This is how OxO2 knows which SSSOM
mappings to load. For an example config file see the
oxo-config.jsonin the root of the OxO2 code base. Copy your desired configuration file into the root directory of OXO2. E.g. if your configuration file ismy_oxo2_config.json, set OXO2_CONFIG=./my_oxo2_config.json by runningexport OXO2_CONFIG=./my_oxo2_config.json.
- To run OxO2 using docker, run
docker compose up. This will start Solr, the OxO2 backend and OxO2 frontend. The frontend will be available athttp://localhost:8080, the backend athttp://localhost:8081and Solr athttp://localhost:8983. - To stop OxO2 run
docker compose down.
- Ensure you have a kubernetes cluster available. E.g. for a local k8s cluster using
minikuberunminikube start --driver=docker. - Ensure you have helm installed.
- Ensure that you have a data release such that have the complete OxO2 available at a $SOLR_HOME.
- Mount into minikube:
minikube mount --port=39000 $SOLR_HOME:/mnt/oxo/solr-data.
Note: You may need to allow port 39000 through firewall. If so, run: sudo ufw allow 39000/tcp.
- From the root directory run:
helm install oxo2 ./k8chart-local/oxo2 -n ontotools --create-namespace
- To access locally run:
kubectl port-forward deployment/oxo2-frontend 8080:8080 -n ontotools
kubectl port-forward deployment/oxo2-backend 8081:8081 -n ontotools
kubectl port-forward deployment/oxo2-solr 8983:8983 -n ontotools
and the point your browser to http://localhost:8080. The OxO2 backend will be accessible at http://localhost:8081/ and solr at http://localhost:8983.
- Run:
helm uninstall oxo2 -n ontotools.
Ensure the following software is installed and available on the user path.
- Java 17 or later
- Maven 3.x
- Git
- Solr 9.x - Ensure SOLR_SCRIPT is set to /bin dir SOLR_HOME is set to /server/solr dir of your Solr installation.
- Nemo - download the latest version from Nemo latest or build from source
following instructions here. To check your Nemo installation, run
nmo --help. Ensure thatnmois available on the path.
Define the following environment variables:
- OXO2_DATA - This is where SSSOM files will be downloaded to and where any output of the OxO2 dataload will be written.
- OXO2_CONFIG - Points to the OxO2 config file. This is how OxO2 knows which SSSOM mappings to load. For an example config
file see the
oxo-config.jsonin the root of the OxO2 source code directory. NOTE: This must be the absolute path to the file. - SOLR_SCRIPT - This should point to the
bindirectory of your Solr installation. - SOLR_HOME - This should point to the root of your Solr data directory.
- OXO2_SOLR_HOST - This is the URL to your Solr installation.
Here is an example script for setting environment variables:
export SOLR_SCRIPT=/home/myhome/solr-9.9.0/bin
export SOLR_HOME=/home/myhome/oxo2-data/solr
export PATH=$PATH:/home/myhome/nemo
export OXO2_DATA=/home/myhome/oxo2-data/dataload
export JAVA_OPTS="-Xmx16G"
export OXO2_CONFIG=/home/myhome/oxo2/my_oxo2_config.json
export OXO2_SOLR_HOST=http://localhost:8983/solr
- Checkout OxO2:
git clone [email protected]:EBISPOT/oxo2.gitand change to OxO2 source directory. - To build, run:
mvn clean install - Copy solr config to solr:
cp ./oxo2-dataload/solr-config/* $SOLR_HOME - Change to dataload directory:
cd ./oxo2-dataload - Run OxO2 dataload:
./loadData.sh - Return to OxO2 root dir:
cd .. - Start Solr:
$SOLR_SCRIPT/solr start --user-managed - Run OxO backend:
./startBackend.sh - To build and run frontend:
- Change directory to frontend:
cd oxo2-frontend - Build frontend:
npm install - Start frontend:
npm run dev - Access frontend from browser at:
http://localhost:8080/ - Backend is accessible at:
http://localhost:8081.
- Change directory to frontend: