Usage via Docker

Download “data_dir” from GitHub, the folder is needed as an input argument.

Be sure you have Docker installed on your machine. No Docker account is needed. Do the following to pull the image locally:

docker pull kvdlab/puma:1.2.1

Now you should be able to run the image and see the following output:

$ docker run --rm -it kvdlab/puma:1.2.1
usage: run_puma.py [-h] -i FILE [-f FORMAT] [-d DIR] [-o DIR] [-e FLOAT]
[-m NUM] [-D STR] [-L FILE]
run_puma.py: error: the following arguments are required: -i/--input

To run Puma on your data, you will need to mount your local input and output direc:xtories. For instance, from within this “docker” directory, we can run the program like so:

$ docker run --rm \
-v `pwd`/../data_dir:/data \           <1>
-v `pwd`/../input_and_output:/in_out \ <2>
kvdlab/puma:1.2.1 \                    <3>
run_puma.py -i /in_out/BPV2_new.fa -o /in_out/puma_out -d /data <4>
  1. The “data_dir” dir will be mounted as “/data”
  2. The “input_and_output” dir will be mounted as “/in_out”
  3. This is the tag of the Docker image to run
  4. This is the command to execute Puma with the input and output arguments

Be sure to avoid using a space before or after the colon when mounting the directories using the “-v” argument.

When running PuMA through Docker, the output argument needs to be specified (‘-o’). In the above example the “input_and_output” folder represents where the input file and the “puma_out” directory are. The output directory is “puma_out” since part of the command is “-o /in_out/puma_out”. For ease of use, it is recommended that there is one folder for the input and output like the above example

Once PuMA executes, the output folder will be in the specified local directory. For the above example, the “puma_out” folder will be in the directory “input_and_output”.