From 0a739c8b2e917022e5ab74a86c5061c3db779f44 Mon Sep 17 00:00:00 2001
From: whottel <30357265+whottel@users.noreply.github.com>
Date: Thu, 2 Feb 2023 12:50:54 -0600
Subject: [PATCH 1/7] Create Dockerfile
---
ncov-recombinant/0.6.1/Dockerfile | 46 +++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)
create mode 100644 ncov-recombinant/0.6.1/Dockerfile
diff --git a/ncov-recombinant/0.6.1/Dockerfile b/ncov-recombinant/0.6.1/Dockerfile
new file mode 100644
index 000000000..1b1487d2d
--- /dev/null
+++ b/ncov-recombinant/0.6.1/Dockerfile
@@ -0,0 +1,46 @@
+FROM mambaorg/micromamba:0.24.0 as app
+
+USER root
+
+WORKDIR /
+
+#metadata
+LABEL base.image="FROM mambaorg/micromamba:0.24.0"
+LABEL dockerfile.version="1"
+LABEL software="ncov-recombinant"
+LABEL software.version="v0.6.1"
+LABEL description="SARS-CoV-2 recombinant sequence detection"
+LABEL website="https://github.com/ktmeaton/ncov-recombinant"
+LABEL license="https://github.com/ktmeaton/ncov-recombinant/blob/master/LICENSE"
+LABEL maintainer="Wes Hottel"
+LABEL maintainer.email="wesley-hottel@uiowa.edu"
+
+#Install dependencies
+RUN apt-get update && apt-get install -y python \
+ git \
+ wget && \
+ rm -rf /var/lib/apt/lists/* && apt-get autoclean
+
+#Clone ncov-recombinant repository
+RUN git clone https://github.com/ktmeaton/ncov-recombinant.git &&\
+cd ncov-recombinant
+
+#Install ncov-recombinant
+RUN micromamba create -n ncov-recombinant-env -f ncov-recombinant/workflow/envs/environment.yaml &&\
+micromamba clean -a -y
+
+#Set environment
+ENV PATH="/opt/conda/envs/ncov-recombinant-env/bin:/opt/conda/envs/env/bin:${PATH}" \
+ LC_ALL=C.UTF-8
+
+WORKDIR /data
+
+#Test install using postive controls included as part of repo
+FROM app as test
+
+WORKDIR /ncov-recombinant
+
+ENV ENV_NAME="ncov-recombinant-env"
+ARG MAMBA_DOCKERFILE_ACTIVATE=1
+
+RUN snakemake --profile /ncov-recombinant/profiles/controls-positive
From 8b448fc28a32cdc61defc2325623c5808a910d8d Mon Sep 17 00:00:00 2001
From: whottel <30357265+whottel@users.noreply.github.com>
Date: Tue, 7 Feb 2023 17:05:44 -0600
Subject: [PATCH 2/7] Create README.md
---
ncov-recombinant/0.6.1/README.md | 15 +++++++++++++++
1 file changed, 15 insertions(+)
create mode 100644 ncov-recombinant/0.6.1/README.md
diff --git a/ncov-recombinant/0.6.1/README.md b/ncov-recombinant/0.6.1/README.md
new file mode 100644
index 000000000..f84ffd857
--- /dev/null
+++ b/ncov-recombinant/0.6.1/README.md
@@ -0,0 +1,15 @@
+# ncov-recombinant container
+
+Main tool : [ncov-recombinant](https://github.com/ktmeaton/ncov-recombinant)
+
+ncov-recombinant is a recombinant sequence detection tool for SARS-CoV-2 fasta files.
+This tool:
+1) Aligns sequences and performs clade/lineage assignments with Nextclade
+2) Identifies parental clades and plots recombination breakpoints with sc2rf.
+3) Creates tables, plots, and powerpoint slides for reporting.
+
+## Example Usage
+
+```bash
+snakemake --profile /ncov-recombinant/profiles/controls
+```
From 119af94f229f4918935e8c3e044dba09dafcb014 Mon Sep 17 00:00:00 2001
From: whottel <30357265+whottel@users.noreply.github.com>
Date: Tue, 7 Feb 2023 17:11:46 -0600
Subject: [PATCH 3/7] Update README.md
---
README.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/README.md b/README.md
index 890b50a04..040ce723b 100644
--- a/README.md
+++ b/README.md
@@ -99,6 +99,7 @@ To learn more about the docker pull rate limits and the open source software pro
| [Mummer](https://hub.docker.com/r/staphb/mummer)
[![docker pulls](https://badgen.net/docker/pulls/staphb/mummer)](https://hub.docker.com/r/staphb/mummer) |
| https://github.com/mummer4/mummer |
| [Mykrobe + Genotyphi](https://hub.docker.com/r/staphb/mykrobe)
[![docker pulls](https://badgen.net/docker/pulls/staphb/mykrobe)](https://hub.docker.com/r/staphb/mykrobe) | - 0.11.0 (Mykrobe) & 1.9.1 (Genotyphi)
| https://github.com/Mykrobe-tools/mykrobe
https://github.com/katholt/genotyphi |
| [NanoPlot](https://hub.docker.com/r/staphb/nanoplot)
[![docker pulls](https://badgen.net/docker/pulls/staphb/nanoplot)](https://hub.docker.com/r/staphb/nanoplot) | - 1.27.0
- 1.29.0
- 1.30.1
- 1.32.0
- 1.33.0
| https://github.com/wdecoster/NanoPlot |
+| [ncov-recombinant](https://hub.docker.com/r/staphb/nanoplot)
[![docker pulls](https://badgen.net/docker/pulls/staphb/ncov-recombinant)](https://hub.docker.com/r/staphb/ncov-recombinant) | | https://github.com/ktmeaton/ncov-recombinant |
| [ngmaster](https://hub.docker.com/r/staphb/ngmaster)
[![docker pulls](https://badgen.net/docker/pulls/staphb/ngmaster)](https://hub.docker.com/r/staphb/ngmaster) | | https://github.com/MDU-PHL/ngmaster |
| [NCBI AMRFinderPlus](https://hub.docker.com/r/staphb/ncbi-amrfinderplus)
[![docker pulls](https://badgen.net/docker/pulls/staphb/ncbi-amrfinderplus)](https://hub.docker.com/r/staphb/ncbi-amrfinderplus) | - 3.1.1b
- 3.8.4
- 3.8.28
- 3.9.3
- 3.9.8
- 3.10.1
- 3.10.5
- 3.10.16
- 3.10.20
- 3.10.24
- 3.10.30
| [https://github.com/ncbi/amr](https://github.com/ncbi/amr) |
| [OrthoFinder](https://hub.docker.com/r/staphb/OrthoFinder)
[![docker pulls](https://badgen.net/docker/pulls/staphb/orthofinder)](https://hub.docker.com/r/staphb/orthofinder) | | https://github.com/davidemms/OrthoFinder |
From bd8420325811c07a6a1791469953d685431a2e69 Mon Sep 17 00:00:00 2001
From: whottel <30357265+whottel@users.noreply.github.com>
Date: Tue, 7 Feb 2023 17:13:43 -0600
Subject: [PATCH 4/7] Update README.md
---
README.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/README.md b/README.md
index 040ce723b..d85d3fec5 100644
--- a/README.md
+++ b/README.md
@@ -188,3 +188,4 @@ Each Dockerfile lists the author(s)/maintainer(s) as a metadata `LABEL`, but the
* [@tiverson](https://github.com/tives82)
* [@sbthandras](https://github.com/sbthandras)
* [@idolawoye](https://github.com/idolawoye)
+ * [@whottel](https://github.com/whottel)
From 16ca1e31ebe4417299144a227d272c9c923b78c2 Mon Sep 17 00:00:00 2001
From: whottel <30357265+whottel@users.noreply.github.com>
Date: Tue, 7 Feb 2023 17:23:49 -0600
Subject: [PATCH 5/7] Update Program_Licenses.md
---
Program_Licenses.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/Program_Licenses.md b/Program_Licenses.md
index 64c9ab0ee..3e9156c3c 100644
--- a/Program_Licenses.md
+++ b/Program_Licenses.md
@@ -70,6 +70,7 @@ The licenses of the open-source software that is contained in these Docker image
| Mummer | The Artistic License 2.0| https://github.com/mummer4/mummer/blob/master/LICENSE.md |
| Mykrobe | MIT | https://github.com/Mykrobe-tools/mykrobe/blob/master/LICENSE |
| NanoPlot | GNU GPLv3 | https://github.com/wdecoster/NanoPlot/blob/master/LICENSE |
+| ncov-recombinant | MIT | https://github.com/ktmeaton/ncov-recombinant/blob/master/LICENSE |
| NCBI AMRFinderPlus | Public Domain | https://github.com/ncbi/amr/blob/master/LICENSE |
| ngmaster | GNU GPLv3 | https://github.com/MDU-PHL/ngmaster/blob/master/LICENSE |
| OrthoFinder | GNU GPLv3 | https://github.com/davidemms/OrthoFinder/blob/master/License.md |
From fd356f3bcd76e23b2e88e7b705617fc574db3776 Mon Sep 17 00:00:00 2001
From: whottel <30357265+whottel@users.noreply.github.com>
Date: Thu, 9 Feb 2023 17:07:50 -0600
Subject: [PATCH 6/7] Update Dockerfile
---
ncov-recombinant/0.6.1/Dockerfile | 22 ++++++++++++++--------
1 file changed, 14 insertions(+), 8 deletions(-)
diff --git a/ncov-recombinant/0.6.1/Dockerfile b/ncov-recombinant/0.6.1/Dockerfile
index 1b1487d2d..12eb3acea 100644
--- a/ncov-recombinant/0.6.1/Dockerfile
+++ b/ncov-recombinant/0.6.1/Dockerfile
@@ -1,5 +1,6 @@
+ARG ncov_recombinant_version='0.6.1'
FROM mambaorg/micromamba:0.24.0 as app
-
+ARG ncov_recombinant_version
USER root
WORKDIR /
@@ -8,7 +9,7 @@ WORKDIR /
LABEL base.image="FROM mambaorg/micromamba:0.24.0"
LABEL dockerfile.version="1"
LABEL software="ncov-recombinant"
-LABEL software.version="v0.6.1"
+LABEL software.version="v${ncov_recombinant_version}"
LABEL description="SARS-CoV-2 recombinant sequence detection"
LABEL website="https://github.com/ktmeaton/ncov-recombinant"
LABEL license="https://github.com/ktmeaton/ncov-recombinant/blob/master/LICENSE"
@@ -16,17 +17,19 @@ LABEL maintainer="Wes Hottel"
LABEL maintainer.email="wesley-hottel@uiowa.edu"
#Install dependencies
-RUN apt-get update && apt-get install -y python \
+RUN apt-get update && apt-get install --no-install-recommends -y python \
git \
+ procps \
wget && \
rm -rf /var/lib/apt/lists/* && apt-get autoclean
#Clone ncov-recombinant repository
-RUN git clone https://github.com/ktmeaton/ncov-recombinant.git &&\
-cd ncov-recombinant
+RUN wget https://github.com/ktmeaton/ncov-recombinant/archive/refs/tags/v${ncov_recombinant_version}.tar.gz && \
+tar zxf v${ncov_recombinant_version}.tar.gz && \
+rm -rf v${ncov_recombinant_version}.tar.gz
#Install ncov-recombinant
-RUN micromamba create -n ncov-recombinant-env -f ncov-recombinant/workflow/envs/environment.yaml &&\
+RUN micromamba create -n ncov-recombinant-env -f /ncov-recombinant-${ncov_recombinant_version}/workflow/envs/environment.yaml &&\
micromamba clean -a -y
#Set environment
@@ -37,10 +40,13 @@ WORKDIR /data
#Test install using postive controls included as part of repo
FROM app as test
+ARG ncov_recombinant_version
-WORKDIR /ncov-recombinant
+WORKDIR /ncov-recombinant-${ncov_recombinant_version}
ENV ENV_NAME="ncov-recombinant-env"
ARG MAMBA_DOCKERFILE_ACTIVATE=1
-RUN snakemake --profile /ncov-recombinant/profiles/controls-positive
+RUN snakemake --profile /ncov-recombinant-${ncov_recombinant_version}/profiles/controls-positive
+
+WORKDIR /data
From 9d51c24bdb9c3d7ef9182f8bbd6f71d25649919c Mon Sep 17 00:00:00 2001
From: whottel <30357265+whottel@users.noreply.github.com>
Date: Thu, 9 Feb 2023 17:12:45 -0600
Subject: [PATCH 7/7] Update README.md
---
ncov-recombinant/0.6.1/README.md | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/ncov-recombinant/0.6.1/README.md b/ncov-recombinant/0.6.1/README.md
index f84ffd857..6e83dfa6b 100644
--- a/ncov-recombinant/0.6.1/README.md
+++ b/ncov-recombinant/0.6.1/README.md
@@ -8,8 +8,11 @@ This tool:
2) Identifies parental clades and plots recombination breakpoints with sc2rf.
3) Creates tables, plots, and powerpoint slides for reporting.
+When using this Dockerfile please make sure that you are using a WORKDIR that is mounted to your system.
+https://bioinformatics.stackexchange.com/questions/9129/access-workdir-defined-on-command-line-from-within-snakefile
+
## Example Usage
```bash
-snakemake --profile /ncov-recombinant/profiles/controls
+snakemake --directory WORKDIR --profile /ncov-recombinant/profiles/controls
```