Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ncov-recombinant v0.6.1 APHL Docker Workshop #583

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Program_Licenses.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 |
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/mummer)](https://hub.docker.com/r/staphb/mummer) | <ul><li>4.0.0</li></ul> | https://github.com/mummer4/mummer |
| [Mykrobe + Genotyphi](https://hub.docker.com/r/staphb/mykrobe) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/mykrobe)](https://hub.docker.com/r/staphb/mykrobe) | <ul><li>0.11.0 (Mykrobe) & 1.9.1 (Genotyphi) </li></ul> | https://github.com/Mykrobe-tools/mykrobe <br/> https://github.com/katholt/genotyphi |
| [NanoPlot](https://hub.docker.com/r/staphb/nanoplot) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/nanoplot)](https://hub.docker.com/r/staphb/nanoplot) | <ul><li>1.27.0</li><li>1.29.0</li><li>1.30.1</li><li>1.32.0</li><li>1.33.0</li></ul> | https://github.com/wdecoster/NanoPlot |
| [ncov-recombinant](https://hub.docker.com/r/staphb/nanoplot) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/ncov-recombinant)](https://hub.docker.com/r/staphb/ncov-recombinant) | <ul><li>0.6.1</li></ul> | https://github.com/ktmeaton/ncov-recombinant |
| [ngmaster](https://hub.docker.com/r/staphb/ngmaster) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/ngmaster)](https://hub.docker.com/r/staphb/ngmaster) | <ul><li>0.5.8</li></ul> | https://github.com/MDU-PHL/ngmaster |
| [NCBI AMRFinderPlus](https://hub.docker.com/r/staphb/ncbi-amrfinderplus) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/ncbi-amrfinderplus)](https://hub.docker.com/r/staphb/ncbi-amrfinderplus) | <ul><li>3.1.1b</li><li>3.8.4</li><li>3.8.28</li><li>3.9.3</li><li>3.9.8</li><li>3.10.1</li><li>3.10.5</li><li>3.10.16</li><li>3.10.20</li><li>3.10.24</li><li>3.10.30</li></ul> | [https://github.com/ncbi/amr](https://github.com/ncbi/amr) |
| [OrthoFinder](https://hub.docker.com/r/staphb/OrthoFinder) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/orthofinder)](https://hub.docker.com/r/staphb/orthofinder) | <ul><li>2.17</li></ul> | https://github.com/davidemms/OrthoFinder |
Expand Down Expand Up @@ -187,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)
46 changes: 46 additions & 0 deletions ncov-recombinant/0.6.1/Dockerfile
Original file line number Diff line number Diff line change
@@ -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="[email protected]"

#Install dependencies
RUN apt-get update && apt-get install -y python \
git \
wget && \
rm -rf /var/lib/apt/lists/* && apt-get autoclean
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have found that images are smaller when using --no-install-recommends

Could you adjust line 19 to

apt-get update && apt-get install --no-install-recommends -y python \


#Clone ncov-recombinant repository
RUN git clone https://github.com/ktmeaton/ncov-recombinant.git &&\
cd ncov-recombinant
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of using git clone, could you download the tarball for the version you are creating an image for?

# something like
wget https://github.com/ktmeaton/ncov-recombinant/archive/refs/tags/v0.6.1.tar.gz

git clone is hard for version control

You image will also likely be smaller and more stable if you download the tarball and install it from that as well (instead of using micromamba). Did you already try that?


#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
15 changes: 15 additions & 0 deletions ncov-recombinant/0.6.1/README.md
Original file line number Diff line number Diff line change
@@ -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
```