From 47b9f213cbf7e3a4327a351f57c39a8d5cbaf32a Mon Sep 17 00:00:00 2001 From: William Rowell Date: Fri, 17 Nov 2023 17:09:07 -0800 Subject: [PATCH 1/6] initial sentieon dockerfile --- docker/sentieon/Dockerfile | 65 ++++++++++++++++++++++++++++++++++++++ docker/sentieon/build.env | 13 ++++++++ 2 files changed, 78 insertions(+) create mode 100644 docker/sentieon/Dockerfile create mode 100644 docker/sentieon/build.env diff --git a/docker/sentieon/Dockerfile b/docker/sentieon/Dockerfile new file mode 100644 index 0000000..afda487 --- /dev/null +++ b/docker/sentieon/Dockerfile @@ -0,0 +1,65 @@ +FROM python:3.9-buster + +MAINTAINER Billy Rowell + +ARG IMAGE_NAME +ENV IMAGE_NAME "${IMAGE_NAME}" +ARG IMAGE_TAG +ENV IMAGE_TAG "${IMAGE_TAG}" + +RUN apt-get -qq update \ + && apt-get -qq install \ + curl \ + libjemalloc2 \ + procps \ + git \ + build-essential \ + zlib1g-dev \ + liblzma-dev \ + libbz2-dev \ + libcurl4-openssl-dev \ + tabix \ + && rm -rf /var/lib/apt/lists/* + +ARG SENTIEON_VERSION +ENV SENTIEON_VERSION "${SENTIEON_VERSION}" +RUN mkdir -p /opt/sentieon/ \ + && curl -L "https://s3.amazonaws.com/sentieon-release/software/sentieon-genomics-${SENTIEON_VERSION}.tar.gz" \ + | tar --no-same-owner -zxf - --directory /opt/sentieon/ + +ARG SENTIEON_PACBIO_MODEL_VERSION +RUN mkdir -p /opt/sentieon/model \ + && curl -L "https://s3.amazonaws.com/sentieon-release/other/${SENTIEON_PACBIO_MODEL_VERSION}.bundle" \ + && mv "${SENTIEON_PACBIO_MODEL_VERSION}.bundle" /opt/sentieon/model/ +ENV MODEL_BUNDLE="/opt/sentieon/model/${SENTIEON_PACBIO_MODEL_VERSION}.bundle" + +ARG BCFTOOLS_VERSION +RUN wget https://github.com/samtools/bcftools/releases/download/${BCFTOOLS_VERSION}/bcftools-${BCFTOOLS_VERSION}.tar.bz2 \ + && tar --no-same-owner -jxvf bcftools-${BCFTOOLS_VERSION}.tar.bz2 --directory /opt \ + && rm bcftools-${BCFTOOLS_VERSION}.tar.bz2 +RUN cd /opt/bcftools-${BCFTOOLS_VERSION} \ + && make \ + && make install + +ARG BEDTOOLS_VERSION +RUN wget https://github.com/arq5x/bedtools2/releases/download/v${BEDTOOLS_VERSION}/bedtools.static \ + -O /usr/local/bin/bedtools \ + && chmod +x /usr/local/bin/bedtools + +ARG SENTIEON_SCRIPTS_GIT_HASH +WORKDIR /opt +RUN git clone https://github.com/Sentieon/sentieon-scripts.git \ + && cd sentieon-scripts \ + && git checkout "${SENTIEON_SCRIPTS_GIT_HASH}" \ + && chmod +x /opt/sentieon-scripts/dnascope_LongRead/*.py \ + && chmod +x /opt/sentieon-scripts/dnascope_LongRead/*.sh +ENV PATH ${PATH}:/opt/sentieon-scripts/dnascope_LongRead + +ENV SENTIEON_INSTALL_DIR=/opt/sentieon/sentieon-genomics-$SENTIEON_VERSION +ENV PATH $SENTIEON_INSTALL_DIR/bin/:$PATH +ENV LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.2 + +# A default jemalloc configuration that should work well for most use-cases, see http://jemalloc.net/jemalloc.3.html +ENV MALLOC_CONF=metadata_thp:auto,background_thread:true,dirty_decay_ms:30000,muzzy_decay_ms:30000 + +CMD ["/bin/bash"] \ No newline at end of file diff --git a/docker/sentieon/build.env b/docker/sentieon/build.env new file mode 100644 index 0000000..04c5639 --- /dev/null +++ b/docker/sentieon/build.env @@ -0,0 +1,13 @@ +# Image revision +IMAGE_BUILD=1 + +# Tool versions +SENTIEON_VERSION=202308.01 +SENTIEON_PACBIO_MODEL_VERSION=DNAscopePacBio2.0 +SENTIEON_SCRIPTS_GIT_HASH=8d33f29 +BCFTOOLS_VERSION=1.16 +BEDTOOLS_VERSION=2.31.0 + +# Image info +IMAGE_NAME=sentieon +IMAGE_TAG=${SENTIEON_VERSION}_build${IMAGE_BUILD} From 4da5a8c3451e220b69da04c0ff29a90d062580dc Mon Sep 17 00:00:00 2001 From: William Rowell Date: Fri, 17 Nov 2023 17:15:07 -0800 Subject: [PATCH 2/6] switch from curl to wget --- docker/sentieon/Dockerfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docker/sentieon/Dockerfile b/docker/sentieon/Dockerfile index afda487..623a4d6 100644 --- a/docker/sentieon/Dockerfile +++ b/docker/sentieon/Dockerfile @@ -9,7 +9,6 @@ ENV IMAGE_TAG "${IMAGE_TAG}" RUN apt-get -qq update \ && apt-get -qq install \ - curl \ libjemalloc2 \ procps \ git \ @@ -24,12 +23,13 @@ RUN apt-get -qq update \ ARG SENTIEON_VERSION ENV SENTIEON_VERSION "${SENTIEON_VERSION}" RUN mkdir -p /opt/sentieon/ \ - && curl -L "https://s3.amazonaws.com/sentieon-release/software/sentieon-genomics-${SENTIEON_VERSION}.tar.gz" \ - | tar --no-same-owner -zxf - --directory /opt/sentieon/ + && wget "https://s3.amazonaws.com/sentieon-release/software/sentieon-genomics-${SENTIEON_VERSION}.tar.gz" \ + && tar --no-same-owner -zxf sentieon-genomics-${SENTIEON_VERSION}.tar.gz --directory /opt/sentieon/ \ + && rm sentieon-genomics-${SENTIEON_VERSION}.tar.gz ARG SENTIEON_PACBIO_MODEL_VERSION RUN mkdir -p /opt/sentieon/model \ - && curl -L "https://s3.amazonaws.com/sentieon-release/other/${SENTIEON_PACBIO_MODEL_VERSION}.bundle" \ + && wget "https://s3.amazonaws.com/sentieon-release/other/${SENTIEON_PACBIO_MODEL_VERSION}.bundle" \ && mv "${SENTIEON_PACBIO_MODEL_VERSION}.bundle" /opt/sentieon/model/ ENV MODEL_BUNDLE="/opt/sentieon/model/${SENTIEON_PACBIO_MODEL_VERSION}.bundle" From 3622b2a0faa1a6128172305f82fa1b66b6a14f4b Mon Sep 17 00:00:00 2001 From: William Rowell Date: Fri, 17 Nov 2023 18:16:39 -0800 Subject: [PATCH 3/6] export more env vars --- docker/sentieon/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker/sentieon/Dockerfile b/docker/sentieon/Dockerfile index 623a4d6..21f16cf 100644 --- a/docker/sentieon/Dockerfile +++ b/docker/sentieon/Dockerfile @@ -28,6 +28,7 @@ RUN mkdir -p /opt/sentieon/ \ && rm sentieon-genomics-${SENTIEON_VERSION}.tar.gz ARG SENTIEON_PACBIO_MODEL_VERSION +ENV SENTIEON_PACBIO_MODEL_VERSION "${SENTIEON_PACBIO_MODEL_VERSION}" RUN mkdir -p /opt/sentieon/model \ && wget "https://s3.amazonaws.com/sentieon-release/other/${SENTIEON_PACBIO_MODEL_VERSION}.bundle" \ && mv "${SENTIEON_PACBIO_MODEL_VERSION}.bundle" /opt/sentieon/model/ @@ -47,6 +48,7 @@ RUN wget https://github.com/arq5x/bedtools2/releases/download/v${BEDTOOLS_VERSIO && chmod +x /usr/local/bin/bedtools ARG SENTIEON_SCRIPTS_GIT_HASH +ENV SENTIEON_SCRIPTS_GIT_HASH "${SENTIEON_SCRIPTS_GIT_HASH}" WORKDIR /opt RUN git clone https://github.com/Sentieon/sentieon-scripts.git \ && cd sentieon-scripts \ From 16f1b20ebbd50009572dffda39c3372c4350ad78 Mon Sep 17 00:00:00 2001 From: William Rowell Date: Fri, 15 Dec 2023 16:36:22 -0800 Subject: [PATCH 4/6] Updated base sentieon image to 3.11-bookworm --- docker/sentieon/Dockerfile | 2 +- docker/sentieon/build.env | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/sentieon/Dockerfile b/docker/sentieon/Dockerfile index 21f16cf..f154482 100644 --- a/docker/sentieon/Dockerfile +++ b/docker/sentieon/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.9-buster +FROM python:3.11-bookworm MAINTAINER Billy Rowell diff --git a/docker/sentieon/build.env b/docker/sentieon/build.env index 04c5639..9e545fa 100644 --- a/docker/sentieon/build.env +++ b/docker/sentieon/build.env @@ -1,5 +1,5 @@ # Image revision -IMAGE_BUILD=1 +IMAGE_BUILD=2 # Tool versions SENTIEON_VERSION=202308.01 From 069c2c143fa5ca7ef52e793d262d701f2b179174 Mon Sep 17 00:00:00 2001 From: William Rowell Date: Fri, 15 Dec 2023 16:59:38 -0800 Subject: [PATCH 5/6] replace gvcf_combine.py --- docker/sentieon/Dockerfile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docker/sentieon/Dockerfile b/docker/sentieon/Dockerfile index f154482..d6ec39d 100644 --- a/docker/sentieon/Dockerfile +++ b/docker/sentieon/Dockerfile @@ -53,9 +53,11 @@ WORKDIR /opt RUN git clone https://github.com/Sentieon/sentieon-scripts.git \ && cd sentieon-scripts \ && git checkout "${SENTIEON_SCRIPTS_GIT_HASH}" \ + && wget https://raw.githubusercontent.com/Sentieon/sentieon-cli/main/sentieon_cli/scripts/gvcf_combine.py \ + && mv gvcf_combine.py /opt/sentieon-scripts/dnascope_LongRead/ \ && chmod +x /opt/sentieon-scripts/dnascope_LongRead/*.py \ && chmod +x /opt/sentieon-scripts/dnascope_LongRead/*.sh -ENV PATH ${PATH}:/opt/sentieon-scripts/dnascope_LongRead +ENV PATH ${PATH}:/opt/sentieon-scripts/dnascope_LongRead ENV SENTIEON_INSTALL_DIR=/opt/sentieon/sentieon-genomics-$SENTIEON_VERSION ENV PATH $SENTIEON_INSTALL_DIR/bin/:$PATH From 906addf1b45003855ac007787439795c5a322365 Mon Sep 17 00:00:00 2001 From: William Rowell Date: Fri, 15 Dec 2023 16:59:59 -0800 Subject: [PATCH 6/6] increment build count --- docker/sentieon/build.env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/sentieon/build.env b/docker/sentieon/build.env index 9e545fa..fbfaa44 100644 --- a/docker/sentieon/build.env +++ b/docker/sentieon/build.env @@ -1,5 +1,5 @@ # Image revision -IMAGE_BUILD=2 +IMAGE_BUILD=3 # Tool versions SENTIEON_VERSION=202308.01