Skip to content

Prerequisites and installation

Arthur Gilly edited this page Sep 11, 2020 · 16 revisions

Prerequisites and installation

Container version

In order to run the containerised version, the only thing you need is a recent (>v3.0) version of the Singularity software. Ask your admin to install this for you if you are not superuser. If you have a HPC environment, singularity is fully compatible, but it will need to be installed on the nodes. Installation instructions can be found on the official singularity website.

Downloading the pre-built Singularity container

The most recent stable build of the container is available through this link. This is a Google Drive link, so you won't be able to wget it directly from the command line. Instead, we found that rclone gives good results. You will find steps on how to configure it here. If you use rclone, please set your root folder ID to 131_TC7twzq03iFG-e4IzKMUhpyDY8waZ. We will attempt to keep this link up to date, however if you want to be sure to have the latest version, build your own container as described below.

Building the latest container

We keep a Docker container up to date on Docker Hub. In order to build this on your machine, run the following (as root):

git clone https://github.com/hmgu-itg/burden_testing/ && cd burden_testing && singularity build burden.latest Singularity_via_docker

This can be done on a machine where you have local root access, this is just to build the container. If you don't have a Linux machine with root access, you can try the --fakeroot option of Singularity, please check their docs. DO NOT try building with --remote, our container is too big for that.

Making changes to the container

For this, you will currently also require an installation of Docker on at least one machine with Singularity (this can be done on your laptop). You will also need an account on Docker Hub. In the below code, I assume your username is username.

git clone https://github.com/hmgu-itg/burden_testing/ && cd burden_testing
nano Dockerfile ## make your changes here
docker build -t username/burden_testing .
docker push username/burden_testing ## this will take a long time
sed -i 's/agilly/username/' Singularity_via_docker
sudo singularity build burden.latest Singularity_via_docker

Testing the container

Just run (no root required)

singularity exec burden_testing_latest help

More details on how the software is packaged can be found here.