If you want to process a few FASTQ files or MiSeq run folders through MiCall, this page will walk you through installing Docker and using it to run MiCall. If you want to set up a more automated process, then it might be worth taking the extra time to set up the tools described on the admin page.
Install Docker
Docker is a tool that makes it easier for us to share MiCall with you. Instead of listing the many tools that MiCall is built on and telling you how to install them, you only have to install one: Docker. You can think of Docker as running a smaller computer inside your computer, and MiCall comes with a script that tells Docker exactly how to set up that smaller computer with all the tools that MiCall needs.
The first step is to follow the instructions for installing Docker. You should be able to install it on just about any kind of computer.
Pull the Docker Image
Once you’ve installed Docker and successfully run the hello-world
container,
it’s time to install MiCall. Choose a version to install by looking at the
Docker Hub tags. The tags that include “dev” have not been validated yet, so
you probably want the latest tag without “dev”. Once you’ve chosen a version,
you can pull and run it with a command like this, where vX.Y
is the tag you’ve
chosen:
sudo docker run cfelab/micall:vX.Y --help
That will take a while to download, and then it will display a help message that
lists all the commands MiCall
understands. You probably want to start with either the folder
or the sample
command, and read the help messages for them. These two commands will display
those help messages:
sudo docker run cfelab/micall:vX.Y folder --help
sudo docker run cfelab/micall:vX.Y sample --help
One slight annoyance with running MiCall under Docker is that all the result
files are owned by the root user. If you don’t like that, use the chown
command to change their owner.
Docker Tips
The help messages will be easier to read if you pass through the $COLUMNS
environment variable.
sudo docker run -e COLUMNS=$COLUMNS cfelab/micall:vX.Y folder --help
Docker will clean up after itself if you use the --rm
option.
sudo docker run --rm -e COLUMNS=$COLUMNS cfelab/micall:vX.Y folder --help
If you forget to clean up, you can see a list of all the left-over containers, then either remove a container by name, or use the prune command to remove all the exited containers.
$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
135421f7c094 cfelab/micall:v7.13.dev0 "python /opt/micall/…" 35 seconds ago Exited (0) 31 seconds ago gallant_gauss
7567aae23a09 cfelab/micall:v7.13.dev0 "python /opt/micall/…" 45 seconds ago Exited (0) 40 seconds ago strange_greider
$ sudo docker rm gallant_gauss
gallant_gauss
$ sudo docker container prune -f
Deleted Containers:
7567aae23a094615f251720e8161a7d0958844f89b357030e05f15ed3cc572eb
Total reclaimed space: 984.4kB
$