Development

This page contains some tips and tricks to help development. Because of the difficulty associated with development on ODAP it is assumed that most of the development will take place outside of it. For that purpose the original data has been mocked and is stored in test/assets. More information on the process can be found in Mock Data

Build Docker Image

The image is built automatically during the continuous integration process and published on Docker HUB.

You can also build it locally if you have docker installed by running the following:

docker build -t sequential-gwas -f docker/Dockerfile .

(If running on MacOS with an ARM platform, add: --platform linux/amd64)

Code Development on ODAP2

When you really need to.

First import the docker image as a singularity container within ODAP which we assume is called sequential-gwas.sif.

Julia REPL

To get a shell while mounting the repo within the container:

singularity shell --bind $PWD:/mnt/sequential-gwas sequential-gwas.sif
singularity shell --bind $PWD:/mnt/sequential-gwas sequential-gwas.sif 

Then run the julia REPL

JULIA_DEPOT_PATH=$JULIA_DEPOT_PATH:/root/.julia julia --project=/mnt/sequential-gwas

Extra Tools

Most tools are available within their conda environment, for instance regenie:

docker run -it --rm sequential-gwas /opt/miniforge3/bin/mamba run -n regenie_env regenie --help

(If running on MacOS with arm platform, add: --platform linux/amd64)