Setup docker

1. Get docker-compose for your system (sudo required)

This requires you to have administrative rights on your computer, or talk to your system administrator about getting docker & docker-compose on your system and giving you rights to use the docker user group.

A. Download Docker

Follow the Docker Engine installation manual for getting Docker, your first step. :

B. Post-install Docker steps

To run DICAST in user mode entirely, please fulfill this post-install step to run docker as a non-root user.

C. Install docker-compose

This while closely related, docker-compose is the last of DICAST’s docker dependencies. Follow the installation manual from docker-compose.

Basic Docker commands

Should you have docker configured on your system, you shouldn’t run into a permission error for the following commands.

docker images

to list docker images in on your computer.

docker ps

to list all running containers only.

docker ps -a

to list all running and stopped containers.

docker --version

We support Docker version 19 and above.

docker-compose --version

2. Pull docker images (Not needed with snakemake)

Should the tool you intended to run, not build locally, it’s also possible to pull them from DICAST’s dockerhub repository at:

docker pull dicastproj/dicast:tagname

3. Build docker images (For Developers)

While the steps described in this section are handled by DICAST’s graphical interface, it can also be accessed via command line, for more control.

Build all images

If you intend to use multiple dockers at once you can use our snakemake pipeline, which will take care of building the docker images. If you want to build the dockers manually, we provide a docker-compose.yml file which will let you build them yourself. You can use the command the following command to build all images.

docker-compose -f scripts/Snakemake/docker-compose.yml build

If you’d like to edit DICAST’s docker-compose file, see the docker-compose Manual.

Build one image

If you only want to build one specific docker image, run the following command to first build some core essential containers:

docker-compose -f scripts/Snakemake/docker-compose.yml build base conda bowtie star

And if you want to build any of the other tools, use the following command:

docker-compose -f scripts/Snakemake/docker-compose.yml build <tool>

Where <tool> needs to be replaced with one or more of the following tools:

bbmap, contextmap, crac, dart, gsnap, hisat, mapsplice, minimap, segemehl, star, subjunc, asgal, aspli, eventpointer, irfinder, majiq, sgseq, spladder, whippet

4. Other helpful commands

To gracefully stop a running docker container (If perhaps snakemake’s process had to be killed):

docker stop <docker-container-name/ID>

Remove an image (to save space, after your analysis):

docker rmi -f <image id>