Installation via Docker

Docker containers wrap up a piece of software in a complete filesystem that contains everything it needs to run: code, runtime, system tools, system libraries – anything you can install on a server. This guarantees that it will always run the same, regardless of the environment it is running in.

To obtain the ssHMM Docker image and run it, follow these steps:

  1. Install Docker on your platform as described at https://docs.docker.com/engine/getstarted/
  2. Run Docker and check whether everything is working:
docker version
  1. Run the Docker image containing ssHMM. The following command will also download the image if it cannot be found locally:
docker run -it hellerd/sshmm

A running image is called a container. Once the container has been started, you can access it via a command line interface. You can now run ssHMM, e.g. by typing train_seqstructhmm --help. You can exit the container with exit.

Hint

By default a container’s file system persists even after the container exits. This makes debugging a lot easier and you retain all your data by default. If instead you’d like Docker to automatically clean up the container and remove the file system when the container exits, you can add the –rm flag:

docker run -it --rm hellerd/sshmm
  1. To access data located on your machine (e.g. in /home/someuser/data) from inside the container, use the -v option:
docker run -it -v /home/someuser/data:/data hellerd/sshmm

This will make your data directory (/home/someuser/data) available inside the container in the /data directory. You can now run ssHMM on this data, e.g. train_seqstructhmm /data/sequences.fasta /data/shapes.txt.