-
Notifications
You must be signed in to change notification settings - Fork 117
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* 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
Showing
4 changed files
with
119 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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/ | ||
``` |