From 586cf8a5487593466f733c5fb01758dc9aad5d5f Mon Sep 17 00:00:00 2001 From: Fraser Combe Date: Mon, 25 Nov 2024 17:59:29 +0000 Subject: [PATCH 1/3] add dnaapler version 1.0.1 with Dockerfile, README and README.md updated --- README.md | 2 +- dnaapler/1.0.0/Dockerfile | 59 +++++++++++++++++++++++++++++++++++++++ dnaapler/1.0.0/README.md | 47 +++++++++++++++++++++++++++++++ 3 files changed, 107 insertions(+), 1 deletion(-) create mode 100644 dnaapler/1.0.0/Dockerfile create mode 100644 dnaapler/1.0.0/README.md diff --git a/README.md b/README.md index 21009f913..34d9602fe 100644 --- a/README.md +++ b/README.md @@ -147,7 +147,7 @@ To learn more about the docker pull rate limits and the open source software pro | [cutshaw-report-env](https://hub.docker.com/r/staphb/cutshaw-report-env)
[![docker pulls](https://badgen.net/docker/pulls/staphb/cutshaw-report-env)](https://hub.docker.com/r/staphb/cutshaw-report-env) | | https://github.com/VADGS/CutShaw | | [datasets-sars-cov-2](https://github.com/CDCgov/datasets-sars-cov-2)
[![docker pulls](https://badgen.net/docker/pulls/staphb/datasets-sars-cov-2)](https://hub.docker.com/r/staphb/datasets-sars-cov-2) | | https://github.com/CDCgov/datasets-sars-cov-2 | | [diamond](https://github.com/bbuchfink/diamond)
[![docker pulls](https://badgen.net/docker/pulls/staphb/diamond)](https://hub.docker.com/r/staphb/diamond) | | https://github.com/bbuchfink/diamond| -| [dnaapler](https://hub.docker.com/r/staphb/dnaapler)
[![docker pulls](https://badgen.net/docker/pulls/staphb/dnaapler)](https://hub.docker.com/r/staphb/dnaapler) | | https://github.com/gbouras13/dnaapler | +| [dnaapler](https://hub.docker.com/r/staphb/dnaapler)
[![docker pulls](https://badgen.net/docker/pulls/staphb/dnaapler)](https://hub.docker.com/r/staphb/dnaapler) | | https://github.com/gbouras13/dnaapler | | [dragonflye](https://hub.docker.com/r/staphb/dragonflye)
[![docker pulls](https://badgen.net/docker/pulls/staphb/dragonflye)](https://hub.docker.com/r/staphb/dragonflye) | | https://github.com/rpetit3/dragonflye | | [Dr. PRG ](https://hub.docker.com/r/staphb/drprg)
[![docker pulls](https://badgen.net/docker/pulls/staphb/drprg)](https://hub.docker.com/r/staphb/drprg) | | https://mbh.sh/drprg/ | | [DSK](https://hub.docker.com/r/staphb/dsk)
[![docker pulls](https://badgen.net/docker/pulls/staphb/dsk)](https://hub.docker.com/r/staphb/dsk) | | https://gatb.inria.fr/software/dsk/ | diff --git a/dnaapler/1.0.0/Dockerfile b/dnaapler/1.0.0/Dockerfile new file mode 100644 index 000000000..4322b2e47 --- /dev/null +++ b/dnaapler/1.0.0/Dockerfile @@ -0,0 +1,59 @@ +# Base image: micromamba for Conda support +FROM mambaorg/micromamba:1.5.8 as app + +USER root + +WORKDIR / + +# Set the DnaApler version +ARG DNAAPLER_VER="1.0.1" + +# Metadata labels +LABEL base.image="mambaorg/micromamba:1.5.8" +LABEL dockerfile.version="2" +LABEL software="dnaapler" +LABEL software.version="${DNAAPLER_VER}" +LABEL description="Rotates chromosomes and more" +LABEL website="https://github.com/gbouras13/dnaapler" +LABEL license="MIT" +LABEL license.url="https://github.com/gbouras13/dnaapler/blob/main/LICENSE" +LABEL maintainer="Fraser Combe" +LABEL maintainer.email="fraser.combe@theiagen.com" + +# Install dependencies; clean up APT garbage +RUN apt-get update && apt-get install -y --no-install-recommends \ + wget \ + ca-certificates \ + procps && \ + apt-get autoclean && rm -rf /var/lib/apt/lists/* + +# Create the conda environment, install dnaapler via bioconda package; clean up micromamba garbage +RUN micromamba create -n dnaapler -y -c bioconda -c defaults -c conda-forge dnaapler=${DNAAPLER_VER} && \ + micromamba clean -a -f -y + +# Set PATH and LC_ALL for compatibility +ENV PATH="/opt/conda/envs/dnaapler/bin/:${PATH}" \ + LC_ALL=C.UTF-8 + +# Set working directory to /data +WORKDIR /data + +# Default command to display help +CMD [ "dnaapler", "--help" ] + +# New stage for testing +FROM app as test + +# Set working directory to /test +WORKDIR /test + +# Test the tool installation and functionality +RUN dnaapler --help && dnaapler --version + +# Download test genome and run DnaApler commands +RUN wget -q https://ftp.ncbi.nlm.nih.gov/genomes/all/GCA/025/259/185/GCA_025259185.1_ASM2525918v1/GCA_025259185.1_ASM2525918v1_genomic.fna.gz && \ + gunzip GCA_025259185.1_ASM2525918v1_genomic.fna.gz && \ + grep "CP104365.1" GCA_025259185.1_ASM2525918v1_genomic.fna -A 50000 > CP104365.1.fasta && \ + dnaapler mystery --prefix mystery_test --output mystery_test -i CP104365.1.fasta && \ + dnaapler plasmid --prefix plasmid_test --output plasmid_test -i CP104365.1.fasta && \ + ls mystery_test plasmid_test diff --git a/dnaapler/1.0.0/README.md b/dnaapler/1.0.0/README.md new file mode 100644 index 000000000..b2ff171e5 --- /dev/null +++ b/dnaapler/1.0.0/README.md @@ -0,0 +1,47 @@ +# dnaapler container + +Main tool : [dnappler](https://github.com/gbouras13/dnaapler) + +Full documentation: [https://github.com/gbouras13/dnaapler](https://github.com/gbouras13/dnaapler) + +> `dnaapler` is a simple python program that takes a single nucleotide input sequence (in FASTA format), finds the desired start gene using MMSeqs2, checks that the start codon of this gene is found, and if so, then reorients the chromosome to begin with this gene on the forward strand. + +Note: As of v1.0.0, 'dnaapler' uses MMSeqs2 v13.45111 instead of BLAST for sequence alignment. MMSeqs2 is faster and compatible across platforms, including MacOS with Apple Silicon. + +dnaapler has several commands for chromosomes, plasmids, and more. + +``` +Usage: dnaapler [OPTIONS] COMMAND [ARGS]... + +Options: + -h, --help Show this message and exit. + -V, --version Show the version and exit. + +Commands: + all Reorients contigs to begin with any of dnaA, repA, terL, or... + archaea Reorients your genome to begin with the archaeal COG1474... + bulk Reorients multiple genomes to begin with the same gene. + chromosome Reorients your genome to begin with the dnaA chromosomal... + citation Print the citation(s) for this tool. + custom Reorients your genome with a custom database. + mystery Reorients your genome with a random CDS. + nearest Reorients your genome to begin with the first CDS as... + phage Reorients your genome to begin with the terL large... + plasmid Reorients your genome to begin with the repA replication... +``` + +WARNING: Does not support multifasta files. Each sequence must be processed individually. + +## Example Usage + +```bash +# Reorienting for a fasta of a chromsome sequence +dnaapler chromosome --input chromosome.fasta --output dnaapler_chr + +# Reorienting for a fasta of a plasmid sequence +dnaapler plasmid --input plasmid.fasta --output dnaapler_plasmid + +# Reorienting Mixed Contigs +dnaapler all -i input_mixed_contigs.fasta -o output_directory_path -p my_bacteria_name + +``` From ec6817398eb67dbcb0ce1e018695a14c883d8346 Mon Sep 17 00:00:00 2001 From: Curtis Kapsak Date: Tue, 26 Nov 2024 18:50:25 +0000 Subject: [PATCH 2/3] as to AS in FROM lines; removed defaults conda channel and made conda-forge highest priority channel; added list of important dependencies to dnaapler README.md --- dnaapler/{1.0.0 => 1.0.1}/Dockerfile | 6 +++--- dnaapler/{1.0.0 => 1.0.1}/README.md | 10 +++++++++- 2 files changed, 12 insertions(+), 4 deletions(-) rename dnaapler/{1.0.0 => 1.0.1}/Dockerfile (92%) rename dnaapler/{1.0.0 => 1.0.1}/README.md (93%) diff --git a/dnaapler/1.0.0/Dockerfile b/dnaapler/1.0.1/Dockerfile similarity index 92% rename from dnaapler/1.0.0/Dockerfile rename to dnaapler/1.0.1/Dockerfile index 4322b2e47..116ad789a 100644 --- a/dnaapler/1.0.0/Dockerfile +++ b/dnaapler/1.0.1/Dockerfile @@ -1,5 +1,5 @@ # Base image: micromamba for Conda support -FROM mambaorg/micromamba:1.5.8 as app +FROM mambaorg/micromamba:1.5.8 AS app USER root @@ -28,7 +28,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ apt-get autoclean && rm -rf /var/lib/apt/lists/* # Create the conda environment, install dnaapler via bioconda package; clean up micromamba garbage -RUN micromamba create -n dnaapler -y -c bioconda -c defaults -c conda-forge dnaapler=${DNAAPLER_VER} && \ +RUN micromamba create -n dnaapler -y -c conda-forge -c bioconda dnaapler=${DNAAPLER_VER} && \ micromamba clean -a -f -y # Set PATH and LC_ALL for compatibility @@ -42,7 +42,7 @@ WORKDIR /data CMD [ "dnaapler", "--help" ] # New stage for testing -FROM app as test +FROM app AS test # Set working directory to /test WORKDIR /test diff --git a/dnaapler/1.0.0/README.md b/dnaapler/1.0.1/README.md similarity index 93% rename from dnaapler/1.0.0/README.md rename to dnaapler/1.0.1/README.md index b2ff171e5..0f9fac80a 100644 --- a/dnaapler/1.0.0/README.md +++ b/dnaapler/1.0.1/README.md @@ -43,5 +43,13 @@ dnaapler plasmid --input plasmid.fasta --output dnaapler_plasmid # Reorienting Mixed Contigs dnaapler all -i input_mixed_contigs.fasta -o output_directory_path -p my_bacteria_name - ``` + +## Additional tools/dependencies + +- biopython 1.78 +- python 3.11.10 +- pandas 2.2.2 +- numpy 1.26.4 +- mmseqs2 13.45111 +- pyrodigal 3.6.3 From 687ec381b7ea44557366efcac2e9a5bed6a62e48 Mon Sep 17 00:00:00 2001 From: Young Date: Tue, 3 Dec 2024 12:32:59 -0700 Subject: [PATCH 3/3] dockerfile.version to 1 --- dnaapler/1.0.1/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dnaapler/1.0.1/Dockerfile b/dnaapler/1.0.1/Dockerfile index 116ad789a..2cc9e4f57 100644 --- a/dnaapler/1.0.1/Dockerfile +++ b/dnaapler/1.0.1/Dockerfile @@ -10,7 +10,7 @@ ARG DNAAPLER_VER="1.0.1" # Metadata labels LABEL base.image="mambaorg/micromamba:1.5.8" -LABEL dockerfile.version="2" +LABEL dockerfile.version="1" LABEL software="dnaapler" LABEL software.version="${DNAAPLER_VER}" LABEL description="Rotates chromosomes and more"