diff --git a/Program_Licenses.md b/Program_Licenses.md index bda48be96..3ce12cff5 100644 --- a/Program_Licenses.md +++ b/Program_Licenses.md @@ -157,6 +157,7 @@ The licenses of the open-source software that is contained in these Docker image | seqtk | MIT | https://github.com/lh3/seqtk/blob/master/LICENSE | | Seroba | GNU GPLv3 | https://github.com/sanger-pathogens/seroba/blob/master/LICENSE | | SerotypeFinder | Apache 2.0 | https://bitbucket.org/genomicepidemiology/serotypefinder/ | +| ShigaPass | GNU GPLv3 | https://github.com/imanyass/ShigaPass/blob/main/LICENSE | | shigatyper | non-standard license see --> | https://github.com/CFSAN-Biostatistics/shigatyper/blob/master/LICENSE | | ShigEiFinder | GNU GPLv3 | https://github.com/LanLab/ShigEiFinder/blob/main/LICENSE | | Shovill | GNU GPLv3 | https://github.com/tseemann/shovill/blob/master/LICENSE | diff --git a/README.md b/README.md index 660ec8bed..aaff97e8b 100644 --- a/README.md +++ b/README.md @@ -263,6 +263,7 @@ To learn more about the docker pull rate limits and the open source software pro | [seqyclean](https://hub.docker.com/r/staphb/seqyclean)
[![docker pulls](https://badgen.net/docker/pulls/staphb/seqyclean)](https://hub.docker.com/r/staphb/seqyclean) | | https://github.com/ibest/seqyclean | | [Seroba](https://hub.docker.com/r/staphb/seroba)
[![docker pulls](https://badgen.net/docker/pulls/staphb/seroba)](https://hub.docker.com/r/staphb/seroba) | | https://github.com/sanger-pathogens/seroba | | [SerotypeFinder](https://hub.docker.com/r/staphb/serotypefinder/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/serotypefinder)](https://hub.docker.com/r/staphb/serotypefinder) | | https://bitbucket.org/genomicepidemiology/serotypefinder/ | +| [ShigaPass](https://hub.docker.com/r/staphb/shigapass/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/shigapass)](https://hub.docker.com/r/staphb/shigapass) | | https://github.com/imanyass/ShigaPass | | [shigatyper](https://hub.docker.com/r/staphb/shigatyper/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/shigatyper)](https://hub.docker.com/r/staphb/shigatyper) | | https://github.com/CFSAN-Biostatistics/shigatyper | | [ShigEiFinder](https://hub.docker.com/r/staphb/shigeifinder/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/shigeifinder)](https://hub.docker.com/r/staphb/shigeifinder) | | https://github.com/LanLab/ShigEiFinder | | [Shovill](https://hub.docker.com/r/staphb/shovill/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/shovill)](https://hub.docker.com/r/staphb/shovill) | | https://github.com/tseemann/shovill | diff --git a/shigapass/1.5.0/Dockerfile b/shigapass/1.5.0/Dockerfile new file mode 100644 index 000000000..681ea73d9 --- /dev/null +++ b/shigapass/1.5.0/Dockerfile @@ -0,0 +1,75 @@ +FROM ubuntu:jammy as app + +# List all software versions are ARGs near the top of the dockerfile +ARG SHIGAPASS_VER=1.5.0 +ARG BLAST_VER=2.12.0 + +# 'LABEL' instructions tag the image with metadata that might be important to the user +LABEL base.image="ubuntu:jammy" +LABEL dockerfile.version="1" +LABEL software="ShigaPass" +LABEL software.version="${SHIGAPASS_VER}" +LABEL description="In silico tool used to predict Shigella serotypes and to differentiate between Shigella, EIEC (Enteroinvasive E. coli), and non Shigella/EIEC using assembled whole genomes." +LABEL website="https://github.com/imanyass/ShigaPass/" +LABEL license="https://github.com/imanyass/ShigaPass/blob/main/LICENSE" +LABEL maintainer="Jill Hagey" +LABEL maintainer.email="qpk9@cdc.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 -y --no-install-recommends \ + wget \ + ca-certificates \ + git \ + libgomp1 && \ + apt-get autoclean && rm -rf /var/lib/apt/lists/* + +# install ncbi-blast+ 2.12.0 pre-compiled linux binaries +ARG BLAST_VER=2.12.0 + +#creating variable for referencing database +ENV DB_PATH=/ShigaPass-${SHIGAPASS_VER}/SCRIPT/ShigaPass_DataBases/ + +RUN wget ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/${BLAST_VER}/ncbi-blast-${BLAST_VER}+-x64-linux.tar.gz && \ + tar -xzf ncbi-blast-${BLAST_VER}+-x64-linux.tar.gz && \ + rm ncbi-blast-${BLAST_VER}+-x64-linux.tar.gz + +# install Shigapass +RUN wget https://github.com/imanyass/ShigaPass/archive/refs/tags/v${SHIGAPASS_VER}.tar.gz && \ + tar -xzf v${SHIGAPASS_VER}.tar.gz && \ + rm -r v${SHIGAPASS_VER}.tar.gz && \ + chmod +x /ShigaPass-${SHIGAPASS_VER}/SCRIPT/ShigaPass.sh && \ + chmod -R a+rw ${DB_PATH} && \ + mkdir /data + +# 'ENV' instructions set environment variables that persist from the build into the resulting image +# Use for e.g. $PATH and locale settings for compatibility with Singularity +ENV PATH="/ncbi-blast-${BLAST_VER}+/bin/:/ShigaPass-${SHIGAPASS_VER}/SCRIPT:$PATH" \ + LC_ALL=C + +#creating variable for referencing database +ENV DB_PATH=/ShigaPass-${SHIGAPASS_VER}/SCRIPT/ShigaPass_DataBases/ + +# running test to index the database +RUN gunzip /ShigaPass-${SHIGAPASS_VER}/Example/Input/*.gz && \ +sed -i "s/^/\/ShigaPass-${SHIGAPASS_VER}\//" /ShigaPass-${SHIGAPASS_VER}/Example/Input/ShigaPass_test.txt && \ +ShigaPass.sh -l /ShigaPass-${SHIGAPASS_VER}/Example/Input/ShigaPass_test.txt -o ShigaPass_Results -p ${DB_PATH} -u + +# 'CMD' instructions set a default command when the container is run. This is typically 'tool --help.' +CMD [ "ShigaPass.sh" ] + +# 'WORKDIR' sets working directory +WORKDIR /data + +# A second FROM insruction creates a new stage +FROM app as test + +# set working directory so that all test inputs & outputs are kept in /test +WORKDIR /test + +## print help and version info to ensure ShigaPass is in path and is executable +RUN ShigaPass.sh -h && \ + ShigaPass.sh -v + +# Testing a script - need to unzip the test files and correct the path for the container +RUN ShigaPass.sh -l /ShigaPass-${SHIGAPASS_VER}/Example/Input/ShigaPass_test.txt -o ShigaPass_Results -p ${DB_PATH} \ No newline at end of file diff --git a/shigapass/1.5.0/README.md b/shigapass/1.5.0/README.md new file mode 100644 index 000000000..deadd3b45 --- /dev/null +++ b/shigapass/1.5.0/README.md @@ -0,0 +1,42 @@ +# ShigaPass container + +Main tool: [ShigaPass](https://github.com/imanyass/ShigaPass) + +Code repository: https://github.com/imanyass/ShigaPass + +Additional tools: + +- ncbi-blast+ 2.12.0 + +Basic information on how to use this tool: + +```` +###### This tool is used to predict Shigella serotypes ##### + Usage : ShigaPass.sh [options] + + options : + -l List of input file(s) (FASTA) with their path(s) (mandatory) + -o Output directory (mandatory) + -p Path to databases directory (mandatory) + -t Number of threads (optional, default: 2) + -u Call the makeblastdb utility for databases initialisation (optional, but required when running the script for the first time) + -k Do not remove subdirectories (optional) + -v Display the version and exit + -h Display this help and exit + Example: ShigaPass.sh -l list_of_fasta.txt -o ShigaPass_Results -p ShigaPass/ShigaPass_DataBases -t 4 -u -k + Please note that the -u option should be used when running the script for the first time and after databases updates +```` + +> ShigaPass is a new in silico tool used to predict Shigella serotypes and to differentiate between Shigella, EIEC (Enteroinvasive E. coli), and non Shigella/EIEC using assembled whole genomes. + +Additional information: + +Full documentation: https://github.com/imanyass/ShigaPass + +Included Database: Found at `/ShigaPass-${version}/SCRIPT/ShigaPass_DataBases/` so for v1.5.0 use `-p /ShigaPass-1.5.0/SCRIPT/ShigaPass_DataBases/`. This database has already been indexed so there is no need to pass `-u` with your command. If you do a permissions error will occur. + +## Example Usage + +```bash +ShigaPass.sh -l ShigaPass_test.txt -o ShigaPass_Results -p /ShigaPass-1.5.0/SCRIPT/ShigaPass_DataBases/ +```