From 7c2fe3e7da9c389ddce7c19c3e2c1d52f9fab116 Mon Sep 17 00:00:00 2001 From: Jessica Rowell Date: Tue, 12 Nov 2024 19:26:19 -0500 Subject: [PATCH 1/6] update tostadas container to add table2asn and new environment.yml definition in README --- tostadas/4.0.0/Dockerfile | 72 +++++++++++++++++++++++++++++++++++++++ tostadas/4.0.0/README.md | 42 +++++++++++++++++++++++ 2 files changed, 114 insertions(+) create mode 100644 tostadas/4.0.0/Dockerfile create mode 100644 tostadas/4.0.0/README.md diff --git a/tostadas/4.0.0/Dockerfile b/tostadas/4.0.0/Dockerfile new file mode 100644 index 000000000..81cff5e97 --- /dev/null +++ b/tostadas/4.0.0/Dockerfile @@ -0,0 +1,72 @@ +FROM ubuntu:jammy as app + +ARG TOSTADAS_VER="4.0.0" +ARG TABLE2ASN_RELEASE_DATE="2023-10-05" + +USER root + +WORKDIR / + +LABEL authors="Jessica Rowell and Ankush Gupta" +LABEL base.image="ubuntu:focal" +LABEL dockerfile.version="3" +LABEL software="tostadas" +LABEL software.version=$TOSTADAS_VER +LABEL description="Image for the TOSTADAS: Toolkit for Open Sequence Triage, Annotation and DAtabase Submission pipeline" +LABEL website="https://github.com/CDCgov/tostadas" +LABEL license="https://github.com/CDCgov/tostadas/LICENSE" +LABEL maintainer="Jessica Rowell" +LABEL maintainer.email="jerowell@deloitte.com" +LABEL maintainer2="Kyle O'Connell" +LABEL maintainer2.email="kyoconnell@deloitte.com" + +RUN apt-get update && apt-get install -y --no-install-recommends \ + wget \ + ca-certificates \ + procps && \ + apt-get autoclean && rm -rf /var/lib/apt/lists/* + +# download tostadas repo, move to /tostadas, and create /data +RUN wget https://github.com/CDCgov/tostadas/archive/refs/tags/v${TOSTADAS_VER}.tar.gz && \ + tar -xvf v${TOSTADAS_VER}.tar.gz && \ + rm v${TOSTADAS_VER}.tar.gz && \ + mv tostadas-${TOSTADAS_VER} tostadas && \ + mkdir /data + +# use mamba to install conda packages +RUN micromamba env create -f tostadas/environment.yml && \ + micromamba clean -a -y && \ + echo "source activate tostadas" > ~/.bashrc && \ + rm -rf /tostadas + +RUN wget -q https://ftp.ncbi.nlm.nih.gov/asn1-converters/versions/${TABLE2ASN_RELEASE_DATE}/by_program/table2asn/linux64.table2asn.gz && \ + gunzip linux64.table2asn.gz && \ + mv linux64.table2asn table2asn && \ + chmod +x table2asn + +ENV PATH=/opt/conda/envs/tostadas/bin:/opt/conda/envs/env/bin:$PATH \ + LC_ALL=C.UTF-8 + +WORKDIR /data + +##### ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ##### +###### Step 2. Set up the testing stage. ##### +###### The docker image is built to the 'test' stage before merging, but ##### +###### the test stage (or any stage after 'app') will be lost. ##### +###### ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ##### + +# A second FROM insruction creates a new stage +FROM app as test +ARG TABLE2ASN_RELEASE_DATE="2023-10-05" + +RUN liftoff --version && \ + samtools --version && \ + python --version && \ + table2asn -help + +ARG FILES="table2asn_readme.txt \ + SubmissionTemplate.sbt \ + short.fsa" + +RUN for file in ${FILES}; do wget -q https://ftp.ncbi.nlm.nih.gov/asn1-converters/versions/${TABLE2ASN_RELEASE_DATE}/documentation/${file}; done && \ + table2asn -t SubmissionTemplate.sbt -i short.fsa -o helicase.sqn \ No newline at end of file diff --git a/tostadas/4.0.0/README.md b/tostadas/4.0.0/README.md new file mode 100644 index 000000000..648d840cd --- /dev/null +++ b/tostadas/4.0.0/README.md @@ -0,0 +1,42 @@ +# tostadas container + +Main tool : [tostadas](https://github.com/CDCgov/tostadas) +Version: 4.0.0 + +Additional tools installed via conda: + - pip + - libgcc-ng=12.1.0=h8d9b700_16 + - libstdcxx-ng=12.1.0=ha89aaad_16 + - liftoff=1.6.3=pyhdfd78af_0 + - lxml=4.9.1=py39hb9d737c_0 + - nameparser=1.0.5=py_0 + - numpy=1.22.4=py39hc58783e_0 + - packaging=21.3=pyhd3eb1b0_0 + - pandas=1.4.2=py39h1832856_2 + - paramiko=3.4.0=pyhd8ed1ab_0 + - python-dateutil=2.8.2=pyhd8ed1ab_0 + - python_abi=3.9=2_cp39 + - pytz=2022.1=pyhd8ed1ab_0 + - pyvcf3=1.0.3=pyhdfd78af_0 + - pyyaml=6.0=py39hb9d737c_4 + - readline=8.1=h46c0cb4_0 + - requests=2.28.0=pyhd8ed1ab_1 + - samtools=1.15.1=h1170115_0 + - setuptools=62.3.2=py39hf3d152e_0 + - simplejson=3.17.6=py39hb9d737c_1 + - tbb=2021.5.0=h924138e_1 + - tbl2asn=25.7=h9ee0642_1 + - tk=8.6.12=h27826a3_0 + - tzdata=2022a=h191b570_0 + - ujson=5.3.0=py39h5a03fae_0 + - urllib3=1.26.9=pyhd8ed1ab_0 + - wgs2ncbi=1.1.2=pl5262hdfd78af_1 + - wheel=0.37.1=pyhd8ed1ab_0 + - xz=5.2.5=h516909a_1 + - yaml=0.2.5=h7f98852_2 + - openpyxl=3.0.10 + - xmltodict=0.13.0=pyhd8ed1ab_0 + +Full documentation: https://github.com/CDCgov/tostadas + +[tostadas](https://github.com/CDCgov/tostadas) is a Nextflow workflow for annotation and submission of MonkeyPox Virus consensus sequences. The resultant container is not intended to run independently of the workflow. From ba84258974b855ae4713ce882eb4f6e682b9cec5 Mon Sep 17 00:00:00 2001 From: Jessica Rowell Date: Tue, 12 Nov 2024 19:35:22 -0500 Subject: [PATCH 2/6] update README version for tostadas --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3186a0d1e..8849f529d 100644 --- a/README.md +++ b/README.md @@ -300,7 +300,7 @@ To learn more about the docker pull rate limits and the open source software pro | [sylph](https://hub.docker.com/r/staphb/sylph)
[![docker pulls](https://badgen.net/docker/pulls/staphb/sylph)](https://hub.docker.com/r/staphb/sylph) | | https://github.com/bluenote-1577/sylph | | [TBProfiler](https://hub.docker.com/r/staphb/tbprofiler/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/tbprofiler)](https://hub.docker.com/r/staphb/tbprofiler) | | https://github.com/jodyphelan/TBProfiler | | [TipToft](https://hub.docker.com/r/staphb/tiptoft/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/tiptoft)](https://hub.docker.com/r/staphb/tiptoft) | | https://github.com/andrewjpage/tiptoft | -| [Tostadas](https://hub.docker.com/r/staphb/tostadas/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/tostadas)](https://hub.docker.com/r/staphb/tostadas) | | https://github.com/CDCgov/tostadas | +| [Tostadas](https://hub.docker.com/r/staphb/tostadas/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/tostadas)](https://hub.docker.com/r/staphb/tostadas) | | https://github.com/CDCgov/tostadas | | [Treemmer](https://hub.docker.com/r/staphb/treemmer/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/treemmer)](https://hub.docker.com/r/staphb/treemmer) | | https://git.scicore.unibas.ch/TBRU/Treemmer (archived, moved to GitHub)
https://github.com/fmenardo/Treemmer | | [Trimmomatic](https://hub.docker.com/r/staphb/trimmomatic/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/trimmomatic)](https://hub.docker.com/r/staphb/trimmomatic) | | http://www.usadellab.org/cms/?page=trimmomatic
https://github.com/usadellab/Trimmomatic | | [Trycycler](https://hub.docker.com/r/staphb/trycycler/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/trycycler)](https://hub.docker.com/r/staphb/trycycler) | | https://github.com/rrwick/Trycycler | From 57cfd0a2ec4b86715cc11e5a0723c37f0b4fb318 Mon Sep 17 00:00:00 2001 From: Jessica Rowell Date: Thu, 14 Nov 2024 13:39:28 -0500 Subject: [PATCH 3/6] table2asn was added to environment.yml instead to keep the image lightweight --- tostadas/4.0.0/Dockerfile | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/tostadas/4.0.0/Dockerfile b/tostadas/4.0.0/Dockerfile index 81cff5e97..f75416012 100644 --- a/tostadas/4.0.0/Dockerfile +++ b/tostadas/4.0.0/Dockerfile @@ -1,14 +1,13 @@ -FROM ubuntu:jammy as app +FROM mambaorg/micromamba:1.5.8 as app ARG TOSTADAS_VER="4.0.0" -ARG TABLE2ASN_RELEASE_DATE="2023-10-05" USER root WORKDIR / LABEL authors="Jessica Rowell and Ankush Gupta" -LABEL base.image="ubuntu:focal" +LABEL base.image="mambaorg/micromamba:1.5.8" LABEL dockerfile.version="3" LABEL software="tostadas" LABEL software.version=$TOSTADAS_VER @@ -39,11 +38,6 @@ RUN micromamba env create -f tostadas/environment.yml && \ echo "source activate tostadas" > ~/.bashrc && \ rm -rf /tostadas -RUN wget -q https://ftp.ncbi.nlm.nih.gov/asn1-converters/versions/${TABLE2ASN_RELEASE_DATE}/by_program/table2asn/linux64.table2asn.gz && \ - gunzip linux64.table2asn.gz && \ - mv linux64.table2asn table2asn && \ - chmod +x table2asn - ENV PATH=/opt/conda/envs/tostadas/bin:/opt/conda/envs/env/bin:$PATH \ LC_ALL=C.UTF-8 @@ -57,16 +51,8 @@ WORKDIR /data # A second FROM insruction creates a new stage FROM app as test -ARG TABLE2ASN_RELEASE_DATE="2023-10-05" RUN liftoff --version && \ samtools --version && \ python --version && \ - table2asn -help - -ARG FILES="table2asn_readme.txt \ - SubmissionTemplate.sbt \ - short.fsa" - -RUN for file in ${FILES}; do wget -q https://ftp.ncbi.nlm.nih.gov/asn1-converters/versions/${TABLE2ASN_RELEASE_DATE}/documentation/${file}; done && \ - table2asn -t SubmissionTemplate.sbt -i short.fsa -o helicase.sqn \ No newline at end of file + table2asn -help \ No newline at end of file From 9d9f05376673548c92bd9c82b681d4f8845f9657 Mon Sep 17 00:00:00 2001 From: Jessica Rowell Date: Thu, 14 Nov 2024 19:43:19 -0500 Subject: [PATCH 4/6] spelling correction --- tostadas/4.0.0/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tostadas/4.0.0/Dockerfile b/tostadas/4.0.0/Dockerfile index f75416012..fc1d0eb56 100644 --- a/tostadas/4.0.0/Dockerfile +++ b/tostadas/4.0.0/Dockerfile @@ -49,7 +49,7 @@ WORKDIR /data ###### the test stage (or any stage after 'app') will be lost. ##### ###### ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ##### -# A second FROM insruction creates a new stage +# A second FROM instruction creates a new stage FROM app as test RUN liftoff --version && \ From ab183a55e1edd397662325bfcd1a600af1d02820 Mon Sep 17 00:00:00 2001 From: Jessica Rowell Date: Thu, 14 Nov 2024 19:53:12 -0500 Subject: [PATCH 5/6] Update README to reflect switching tbl2asn for table2asn --- tostadas/4.0.0/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tostadas/4.0.0/README.md b/tostadas/4.0.0/README.md index 648d840cd..518acc1e8 100644 --- a/tostadas/4.0.0/README.md +++ b/tostadas/4.0.0/README.md @@ -24,8 +24,8 @@ Additional tools installed via conda: - samtools=1.15.1=h1170115_0 - setuptools=62.3.2=py39hf3d152e_0 - simplejson=3.17.6=py39hb9d737c_1 + - table2asn=1.28.1179=h48fe88c_0 - tbb=2021.5.0=h924138e_1 - - tbl2asn=25.7=h9ee0642_1 - tk=8.6.12=h27826a3_0 - tzdata=2022a=h191b570_0 - ujson=5.3.0=py39h5a03fae_0 From 9fbf83a64a260ff7f290314dd04bb20e905baec7 Mon Sep 17 00:00:00 2001 From: Young Date: Thu, 14 Nov 2024 18:20:44 -0700 Subject: [PATCH 6/6] Added -f to micromamba clean --- tostadas/4.0.0/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tostadas/4.0.0/Dockerfile b/tostadas/4.0.0/Dockerfile index fc1d0eb56..c7a56b1c7 100644 --- a/tostadas/4.0.0/Dockerfile +++ b/tostadas/4.0.0/Dockerfile @@ -34,7 +34,7 @@ RUN wget https://github.com/CDCgov/tostadas/archive/refs/tags/v${TOSTADAS_VER}.t # use mamba to install conda packages RUN micromamba env create -f tostadas/environment.yml && \ - micromamba clean -a -y && \ + micromamba clean -a -y -f && \ echo "source activate tostadas" > ~/.bashrc && \ rm -rf /tostadas @@ -55,4 +55,4 @@ FROM app as test RUN liftoff --version && \ samtools --version && \ python --version && \ - table2asn -help \ No newline at end of file + table2asn -help