diff --git a/Program_Licenses.md b/Program_Licenses.md index a9a7b932d..76f72e242 100644 --- a/Program_Licenses.md +++ b/Program_Licenses.md @@ -31,6 +31,7 @@ The licenses of the open-source software that is contained in these Docker image | datasets-sars-cov-2 | Apache 2.0 | https://github.com/CDCgov/datasets-sars-cov-2/blob/master/LICENSE | | dnaapler | MIT | https://github.com/gbouras13/dnaapler/blob/main/LICENSE | | dragonflye | GNU GPLv3 | https://github.com/rpetit3/dragonflye/blob/main/LICENSE | +| drprg | MIT | https://github.com/mbhall88/drprg/blob/main/LICENSE | | DSK | GNU Affero GPLv3 | https://github.com/GATB/dsk/blob/master/LICENSE | | emboss | GNU GPLv3 | http://emboss.sourceforge.net/licence/ | | emmtyper | GNU GPLv3 | https://github.com/MDU-PHL/emmtyper/blob/master/LICENSE | diff --git a/README.md b/README.md index 6a57e5471..b630b0b07 100644 --- a/README.md +++ b/README.md @@ -136,6 +136,7 @@ To learn more about the docker pull rate limits and the open source software pro | [datasets-sars-cov-2](https://github.com/CDCgov/datasets-sars-cov-2)
[![docker pulls](https://badgen.net/docker/pulls/staphb/datasets-sars-cov-2)](https://hub.docker.com/r/staphb/datasets-sars-cov-2) | | https://github.com/CDCgov/datasets-sars-cov-2 | | [dnaapler](https://hub.docker.com/r/staphb/dnaapler)
[![docker pulls](https://badgen.net/docker/pulls/staphb/dnaapler)](https://hub.docker.com/r/staphb/dnaapler) | | https://github.com/gbouras13/dnaapler | | [dragonflye](https://hub.docker.com/r/staphb/dragonflye)
[![docker pulls](https://badgen.net/docker/pulls/staphb/dragonflye)](https://hub.docker.com/r/staphb/dragonflye) | | https://github.com/rpetit3/dragonflye | +| [Dr. PRG ](https://hub.docker.com/r/staphb/drprg)
[![docker pulls](https://badgen.net/docker/pulls/staphb/drprg)](https://hub.docker.com/r/staphb/drprg) | | https://mbh.sh/drprg/ | | [DSK](https://hub.docker.com/r/staphb/dsk)
[![docker pulls](https://badgen.net/docker/pulls/staphb/dsk)](https://hub.docker.com/r/staphb/dsk) | | https://gatb.inria.fr/software/dsk/ | | [emboss](https://hub.docker.com/r/staphb/emboss)
[![docker pulls](https://badgen.net/docker/pulls/staphb/emboss)](https://hub.docker.com/r/staphb/emboss) | | http://emboss.sourceforge.net | | [emmtyper](https://hub.docker.com/r/staphb/emmtyper)
[![docker pulls](https://badgen.net/docker/pulls/staphb/emmtyper)](https://hub.docker.com/r/staphb/emmtyper) | | https://github.com/MDU-PHL/emmtyper | diff --git a/drprg/0.1.1/Dockerfile b/drprg/0.1.1/Dockerfile new file mode 100644 index 000000000..96da65dd0 --- /dev/null +++ b/drprg/0.1.1/Dockerfile @@ -0,0 +1,69 @@ +# 'FROM' defines the base docker image. This command has to come first in the file +# The 'as' keyword lets you name the folowing stage. The production image uses everything to the 'app' stage. +FROM mambaorg/micromamba:1.5.1 as app + +# List all software versions are ARGs near the top of the dockerfile +# 'ARG' sets environment variables during the build stage +ARG DRPRG_VER="0.1.1" +ARG MTB_VER="20230308" + +# build and run as root users since micromamba image has 'mambauser' set as the $USER +USER root +# set workdir to default for building; set to /data at the end +WORKDIR / + +# 'LABEL' instructions tag the image with metadata that might be important to the user + +LABEL base.image="mambaorg/micromamba:1.4.9" +LABEL dockerfile.version="1" +LABEL software="Dr. PRG" +LABEL software.version="${DRPRG_VER}" +LABEL description="Antimicrobial resistance prediction" +LABEL website="https://github.com/mbhall88/drprg" +LABEL license="https://github.com/mbhall88/drprg/blob/main/LICENSE" +LABEL maintainer="Erin Young" +LABEL maintainer.email="eriny@utah.gov" + +# 'RUN' executes code during the build +# Install dependencies via apt-get or yum if using a centos or fedora base +RUN apt-get update && apt-get install --no-install-recommends -y \ + wget \ + ca-certificates \ + procps && \ + rm -rf /var/lib/apt/lists/* && apt-get autoclean + +# Install your desired software into the base conda/micromamba environment, pinning the version +# clean up conda garbage +# make /data to use as a working directory +RUN micromamba install --name base -c conda-forge -c bioconda -c defaults drprg=${DRPRG_VER} && \ + micromamba clean -a -y && \ + mkdir /data + +# 'ENV' instructions set environment variables that persist from the build into the resulting image +# set the environment, add base conda/micromamba bin directory into path +# set locale settings to UTF-8 +ENV PATH="/opt/conda/bin/:${PATH}" \ + LC_ALL=C.UTF-8 + +# download MTB index and change the name +RUN mkdir /drprg && \ + drprg index --download mtb@${MTB_VER} --outdir /drprg && \ + mv /drprg/mtb/mtb-${MTB_VER} /drprg/mtb/mtb + +CMD drprg --help + +WORKDIR /data + +FROM app as test + +WORKDIR /test + +RUN drprg --help + +# testing prediction +RUN wget -q ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR230/005/SRR23086705/SRR23086705_1.fastq.gz && \ + drprg predict -x /drprg/mtb/mtb -i SRR23086705_1.fastq.gz --illumina -o outdir/ && \ + ls outdir/* + +# list available databases for download +RUN drprg index --list \ No newline at end of file diff --git a/drprg/0.1.1/README.md b/drprg/0.1.1/README.md new file mode 100644 index 000000000..2e4779c43 --- /dev/null +++ b/drprg/0.1.1/README.md @@ -0,0 +1,48 @@ + + +# Dr. PRG - Drug resistance Prediction with Reference Graphs️ container + +Main tool: [Dr. PRG](https://mbh.sh/drprg/) + +Code repository: https://github.com/mbhall88/drprg + +Basic information on how to use this tool: +- executable: drprg +- help: --help +- version: --version +- description: Drug Resistance Prediction with Reference Graphs + +Additional information: + +Imagine contains the mtb@20230308 database located at `/drprg/mtb/mtb`. + +Full documentation: https://mbh.sh/drprg/guide/download.html + +## Example Usage + +Using the index in from the image + +```bash + +# prediction (paired-end fastq files much be contatenated together into one) +drprg predict -x /drprg/mtb/mtb -i input.fastq.gz --illumina -o outdir/ +``` + +Getting the latest index and using it + +```bash + +# download latest TB database +drprg index --download mtb + +# list available indices +drprg index --list + +# prediction (paired-end fastq files much be contatenated together into one) +drprg predict -x mtb -i input.fastq.gz --illumina -o outdir/ +```