diff --git a/README.md b/README.md index 0d8b7589d..363353eed 100644 --- a/README.md +++ b/README.md @@ -150,8 +150,8 @@ To learn more about the docker pull rate limits and the open source software pro | [colorid](https://hub.docker.com/r/staphb/colorid)
[![docker pulls](https://badgen.net/docker/pulls/staphb/colorid)](https://hub.docker.com/r/staphb/colorid) | | https://github.com/hcdenbakker/colorid | | [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 | +| [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 | | [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 | | [dorado](https://hub.docker.com/r/staphb/dorado)
[![docker pulls](https://badgen.net/docker/pulls/staphb/dorado)](https://hub.docker.com/r/staphb/dorado) | | [https://github.com/nanoporetech/dorado](https://github.com/nanoporetech/dorado) | | [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/ | diff --git a/dnaapler/1.0.1/Dockerfile b/dnaapler/1.0.1/Dockerfile new file mode 100644 index 000000000..2cc9e4f57 --- /dev/null +++ b/dnaapler/1.0.1/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="1" +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 conda-forge -c bioconda 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.1/README.md b/dnaapler/1.0.1/README.md new file mode 100644 index 000000000..0f9fac80a --- /dev/null +++ b/dnaapler/1.0.1/README.md @@ -0,0 +1,55 @@ +# 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 +``` + +## 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