Skip to main content

GA4GH WES Sapporo Setup

Prerequisites

You will need to have Docker Compose plugin installed for managing Sapporo

# Instructions for installing Docker Compose plugin on Ubuntu
sudo apt-get update
sudo apt-get install docker-compose-plugin
# Verify installation
docker compose version
# expected result
> Docker Compose version vN.N.N
# You should have version v2.26.1 or newer

You will need to add yourself to the docker group to be able to run docker commands

# create the docker group if it does not exist
sudo groupadd docker
# add yourself to the docker group
sudo usermod -aG docker $USER
# reboot, log out/log in, or run the following command
newgrp docker
# If you still have issues with running docker, you may need to change the permissions of the docker socket using the following command
sudo chmod 666 /var/run/docker.sock

How to set up a Sapporo GA4GH WES instance for development

Note: This should only be used for development purposes, use a production WSGI server for production environments.

Configure IRIDA Next

Check that your active storage service is set to :local in config/environments/development.rb. This is the default configuration.

config.active_storage.service = :local

Configure environment developer credentials

EDITOR="vim --nofork" bin/rails credentials:edit --environment development
ga4gh_wes:
server_url_endpoint: 'http://localhost:1122/'

Setup Sapporo (WES implementation)

Download and run the PHAC-NML Sapporo fork in dev docker mode.

Note: If your docker group permissions are setup correctly you should not have to use sudo when running any of these commands.

# Go to wherever you store your git repos
cd ~/path/to/git/repos
# Clone and checkout the irida-next branch
git clone git@github.com:phac-nml/sapporo-service.git
cd sapporo-service
# This branch has a custom docker compose script for irida next
git checkout irida-next
# Replace /PATH/TO/IRIDA/NEXT/REPO with your irida next repo path.
# This allows the docker container read/write access to the repo
# This is needed for it to read the input files, and write the output files back to the blob directories
IRIDA_NEXT_PATH=/PATH/TO/IRIDA/NEXT/REPO docker compose -f compose.irida-next.yml up -d --build
IRIDA_NEXT_PATH=/PATH/TO/IRIDA/NEXT/REPO docker compose -f compose.irida-next.yml exec app bash
# Within docker container, start sapporo
sapporo

In a new terminal confirm sapporo is running

# This should output all the service information for this ga4gh wes instance
curl -X GET http://localhost:1122/service-info

You should now be able to start IRIDA Next and run workflows with full GA4GH WES integration