Skip to content

Commit

Permalink
Merge pull request #1112 from fraser-combe/fc-dnaapler
Browse files Browse the repository at this point in the history
add dnaapler version 1.0.1
  • Loading branch information
erinyoung authored Dec 5, 2024
2 parents 7ab02e6 + 687ec38 commit 7e40140
Show file tree
Hide file tree
Showing 3 changed files with 115 additions and 1 deletion.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/colorid)](https://hub.docker.com/r/staphb/colorid) | <ul><li>0.1.4.3</li></ul> | https://github.com/hcdenbakker/colorid |
| [cutshaw-report-env](https://hub.docker.com/r/staphb/cutshaw-report-env) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/cutshaw-report-env)](https://hub.docker.com/r/staphb/cutshaw-report-env) | <ul><li>1.0.0</li></ul> | https://github.com/VADGS/CutShaw |
| [datasets-sars-cov-2](https://github.com/CDCgov/datasets-sars-cov-2) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/datasets-sars-cov-2)](https://hub.docker.com/r/staphb/datasets-sars-cov-2) | <ul><li>0.6.2</li><li>0.6.3</li><li>0.7.2</li></ul> | https://github.com/CDCgov/datasets-sars-cov-2 |
| [dnaapler](https://hub.docker.com/r/staphb/dnaapler) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/dnaapler)](https://hub.docker.com/r/staphb/dnaapler) | <ul><li>[0.1.0](dnaapler/0.1.0/)</li></ul> <ul><li>[0.4.0](dnaapler/0.4.0/)</li><li>[0.5.0](dnaapler/0.5.0/)</li><li>[0.5.1](dnaapler/0.5.1/)</li><li>[0.7.0](dnaapler/0.7.0/)</li><li>[0.8.0](dnaapler/0.8.0/)</li><li>[1.0.1](dnaapler/1.0.1/)</li></ul> | https://github.com/gbouras13/dnaapler |
| [diamond](https://github.com/bbuchfink/diamond) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/diamond)](https://hub.docker.com/r/staphb/diamond) | <ul><li>[2.1.9](./diamond/2.1.9)</li><li>[2.1.10](./diamond/2.1.10)</li></ul> | https://github.com/bbuchfink/diamond|
| [dnaapler](https://hub.docker.com/r/staphb/dnaapler) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/dnaapler)](https://hub.docker.com/r/staphb/dnaapler) | <ul><li>[0.1.0](dnaapler/0.1.0/)</li></ul> <ul><li>[0.4.0](dnaapler/0.4.0/)</li><li>[0.5.0](./dnaapler/0.5.0/)</li><li>[0.5.1](./dnaapler/0.5.1/)</li><li>[0.7.0](./dnaapler/0.7.0/)</li><li>[0.8.0](./dnaapler/0.8.0/)</li><li>[0.8.1](./dnaapler/0.8.1/)</li></ul> | https://github.com/gbouras13/dnaapler |
| [dorado](https://hub.docker.com/r/staphb/dorado) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/dorado)](https://hub.docker.com/r/staphb/dorado) | <ul><li>[0.8.0](dorado/0.8.0/)</li><li>[0.8.3](dorado/0.8.3/)</li></ul> | [https://github.com/nanoporetech/dorado](https://github.com/nanoporetech/dorado) |
| [dragonflye](https://hub.docker.com/r/staphb/dragonflye) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/dragonflye)](https://hub.docker.com/r/staphb/dragonflye) | <ul><li>[1.0.14](./dragonflye/1.0.14/)</li><li>[1.1.1](./dragonflye/1.1.1/)</li><li>[1.1.2](./dragonflye/1.1.2/)</li><li>[1.2.0](./dragonflye/1.2.0/)</li><li>[1.2.1](./dragonflye/1.2.1/)</li></ul> | https://github.com/rpetit3/dragonflye |
| [Dr. PRG ](https://hub.docker.com/r/staphb/drprg) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/drprg)](https://hub.docker.com/r/staphb/drprg) | <ul><li>[0.1.1](drprg/0.1.1/)</li></ul> | https://mbh.sh/drprg/ |
Expand Down
59 changes: 59 additions & 0 deletions dnaapler/1.0.1/Dockerfile
Original file line number Diff line number Diff line change
@@ -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="[email protected]"

# 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
55 changes: 55 additions & 0 deletions dnaapler/1.0.1/README.md
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 7e40140

Please sign in to comment.