diff --git a/Dockerfile b/Dockerfile index 98cbc4e..741adce 100644 --- a/Dockerfile +++ b/Dockerfile @@ -35,6 +35,13 @@ RUN apt-get update && apt-get install -y gcc make wget zlib1g-dev && rm -rf /var COPY install_pigz.sh . RUN bash install_pigz.sh 2.8 +# SeqKit +FROM debian:bookworm AS seqkit +WORKDIR /build +RUN apt-get update && apt-get install -y wget && rm -rf /var/lib/apt/lists/* +COPY install_seqkit.sh . +RUN bash install_seqkit.sh 2.13.0 + # Skewer FROM debian:bullseye AS skewer WORKDIR /build @@ -64,6 +71,7 @@ COPY --from=fastqc /fastqc ./fastqc COPY --from=hmmer /hmmer ./hmmer COPY --from=pigz /pigz/ ./pigz COPY --from=samtools /samtools/ ./samtools +COPY --from=seqkit /seqkit ./seqkit COPY --from=skewer /skewer ./skewer COPY --from=cdhit /cd-hit ./cd-hit diff --git a/install_seqkit.sh b/install_seqkit.sh new file mode 100644 index 0000000..9f2c785 --- /dev/null +++ b/install_seqkit.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +# Get the version from the command line argument +version=$1 + +# Download, extract, and install the version +wget https://github.com/shenwei356/seqkit/releases/download/v${version}/seqkit_linux_amd64.tar.gz +tar -xf seqkit_linux_amd64.tar.gz +mkdir -p /seqkit/${version} +mv seqkit /seqkit/${version}/seqkit +chmod ugo+x /seqkit/${version}/seqkit diff --git a/test.sh b/test.sh index a302091..644db75 100644 --- a/test.sh +++ b/test.sh @@ -118,6 +118,26 @@ for version in "${samtools_versions[@]}"; do fi done +# Test SeqKit +seqkit_versions=("2.13.0") + +for version in "${seqkit_versions[@]}"; do + seqkit_path="/tools/seqkit/${version}/seqkit" + + if [ -x "$seqkit_path" ]; then + detected_version=$("$seqkit_path" version | head -n1 | grep -oE '[0-9]+\.[0-9]+\.[0-9]+$') + if [ "$detected_version" = "$version" ]; then + echo "SeqKit version ${version} is installed and correct." + else + echo "SeqKit version ${version} is installed but version mismatch (found $detected_version)." + exit 1 + fi + else + echo "SeqKit version ${version} is not installed or not executable." + exit 1 + fi +done + # Test Skewer skewer_versions=("0.2.2")