Skip to content

Commit

Permalink
add shigapass 1.5.0 (#1041)
Browse files Browse the repository at this point in the history
* shigapass

* update license info

* update shigapass

* fixing permissions and updating Readme

* correct relative path to shigapass readme

* Update shigapass README.md to list blast dependency

---------

Co-authored-by: Curtis Kapsak <[email protected]>
  • Loading branch information
jvhagey and kapsakcj committed Sep 5, 2024
1 parent 213dbc7 commit 7caff63
Show file tree
Hide file tree
Showing 4 changed files with 119 additions and 0 deletions.
1 change: 1 addition & 0 deletions Program_Licenses.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 |
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/seqyclean)](https://hub.docker.com/r/staphb/seqyclean) | <ul><li>1.10.09</li></ul> | https://github.com/ibest/seqyclean |
| [Seroba](https://hub.docker.com/r/staphb/seroba) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/seroba)](https://hub.docker.com/r/staphb/seroba) | <ul><li>1.0.0</li><li>1.0.2</li></ul> | https://github.com/sanger-pathogens/seroba |
| [SerotypeFinder](https://hub.docker.com/r/staphb/serotypefinder/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/serotypefinder)](https://hub.docker.com/r/staphb/serotypefinder) | <ul><li>[1.1 (perl version)](./serotypefinder/1.1/)</li><li>[2.0.1 (python version)](./serotypefinder/2.0.1/)</li><li>[2.0.2](./serotypefinder/2.0.2/)</ul> | https://bitbucket.org/genomicepidemiology/serotypefinder/ |
| [ShigaPass](https://hub.docker.com/r/staphb/shigapass/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/shigapass)](https://hub.docker.com/r/staphb/shigapass) | <ul><li>[1.5.0](shigapass/1.5.0/)</li></ul> | https://github.com/imanyass/ShigaPass |
| [shigatyper](https://hub.docker.com/r/staphb/shigatyper/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/shigatyper)](https://hub.docker.com/r/staphb/shigatyper) | <ul><li>2.0.1</li><li>2.0.2</li><li>2.0.3</li><li>[2.0.4](shigatyper/2.0.4/)</li><li>[2.0.5](shigatyper/2.0.5/)</li></ul> | https://github.com/CFSAN-Biostatistics/shigatyper |
| [ShigEiFinder](https://hub.docker.com/r/staphb/shigeifinder/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/shigeifinder)](https://hub.docker.com/r/staphb/shigeifinder) | <ul><li>[1.3.2](shigeifinder/1.3.2/)</li><li>[1.3.3](shigeifinder/1.3.3/)</li><li>[1.3.5](shigeifinder/1.3.5/)</li></ul> | https://github.com/LanLab/ShigEiFinder |
| [Shovill](https://hub.docker.com/r/staphb/shovill/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/shovill)](https://hub.docker.com/r/staphb/shovill) | <ul><li>1.0.4</li><li>1.1.0</li></ul> | https://github.com/tseemann/shovill |
Expand Down
75 changes: 75 additions & 0 deletions shigapass/1.5.0/Dockerfile
Original file line number Diff line number Diff line change
@@ -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="[email protected]"

# '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}
42 changes: 42 additions & 0 deletions shigapass/1.5.0/README.md
Original file line number Diff line number Diff line change
@@ -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/
```

0 comments on commit 7caff63

Please sign in to comment.