Skip to content

Commit 339481c

Browse files
authored
Merge pull request #1690 from RaheelSyedAhmed/metaMDBG-1.4
Adding tool: metaMDBG v1.4
2 parents 1484632 + 1974631 commit 339481c

4 files changed

Lines changed: 129 additions & 0 deletions

File tree

Program_Licenses.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ The licenses of the open-source software that is contained in these Docker image
126126
| MaSuRCA | GNU GPLv3 | https://github.com/alekseyzimin/masurca/blob/master/LICENSE.txt
127127
| Medaka | Mozilla Public License 2.0 | https://github.com/nanoporetech/medaka/blob/master/LICENSE.md |
128128
| meningotype | GNU General Public License v3.0 | https://github.com/MDU-PHL/meningotype/blob/master/LICENSE |
129+
| metaMDBG | MIT | https://github.com/GaetanBenoitDev/metaMDBG/blob/main/LICENSE.md |
129130
| Metaphlan | MIT | https://github.com/biobakery/MetaPhlAn/blob/master/license.txt |
130131
| MIDAS | GNU GPLv3 |https://github.com/snayfach/MIDAS/blob/master/LICENSE |
131132
| minimap2 | MIT | https://github.com/lh3/minimap2/blob/master/LICENSE.txt |

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,7 @@ To learn more about the docker pull rate limits and the open source software pro
234234
| [MaSuRCA](https://hub.docker.com/r/staphb/masurca) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/masurca)](https://hub.docker.com/r/staphb/masurca) | <details><summary>Click to see all versions</summary> <ul><li>[4.0.8](./build-files/masurca/4.0.8/)</li><li>[4.0.9](./build-files/masurca/4.0.9/)</li><li>[4.1.0](./build-files/masurca/4.1.0/)</li></ul> </details> | https://github.com/alekseyzimin/masurca |
235235
| [medaka](https://hub.docker.com/r/staphb/medaka) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/medaka)](https://hub.docker.com/r/staphb/medaka) | <details><summary>Click to see all versions</summary> <ul><li>[0.8.1](./build-files/medaka/0.8.1/)</li><li>[1.0.1](./build-files/medaka/1.0.1/)</li><li>[1.2.0](./build-files/medaka/1.2.0/)</li><li>[2.0.0](./build-files/medaka/2.0.0/)</li><li>[2.0.1](./build-files/medaka/2.0.1/)</li><li>[2.1.0](./build-files/medaka/2.1.0/)</li><li>[2.1.1](./build-files/medaka/2.1.1/)</li><li>[2.2.0](./build-files/medaka/2.2.0/)</li><li>[2.2.1](./build-files/medaka/2.2.1/)</li></ul> </details> | https://github.com/nanoporetech/medaka |
236236
| [meningotype](https://hub.docker.com/r/staphb/meningotype) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/meningotype)](https://hub.docker.com/r/staphb/meningotype) | <details><summary>Click to see all versions</summary> <ul><li>[0.8.5](./build-files/meningotype/0.8.5/)</li></ul> </details> | https://github.com/MDU-PHL/meningotype |
237+
| [metaMDBG](https://hub.docker.com/r/staphb/metamdbg) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/metamdbg)](https://hub.docker.com/r/staphb/metamdbg) | <details><summary>Click to see all versions</summary> <ul><li>[1.4](./build-files/metamdbg/1.4)</li></ul> </details> | https://github.com/GaetanBenoitDev/metaMDBG |
237238
| [metaphlan](https://hub.docker.com/r/staphb/metaphlan) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/metaphlan)](https://hub.docker.com/r/staphb/metaphlan) | <details><summary>Click to see all versions</summary> <ul><li>[3.0.3-no-db (no database)](./build-files/metaphlan/3.0.3-no-db/)</li><li>[3.0.3 (~3GB db)](./build-files/metaphlan/3.0.3/)</li><li>[4.1.0](./build-files/metaphlan/4.1.0/) (no database)</li><li>[4.1.1](./build-files/metaphlan/4.1.1/) (no database)</li><li>[4.2.2](./build-files/metaphlan/4.2.2/)</li><li>[4.2.4](./build-files/metaphlan/4.2.4/)</li></ul> </details> | https://github.com/biobakery/MetaPhlAn |
238239
| [MIDAS](https://hub.docker.com/r/staphb/midas) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/midas)](https://hub.docker.com/r/staphb/midas) | <details><summary>Click to see all versions</summary> <ul><li>[1.3.2 (no database)](./build-files/midas/1.3.2/)</li>| https://github.com/snayfach/MIDAS |
239240
| [minimap2](https://hub.docker.com/r/staphb/minimap2) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/minimap2)](https://hub.docker.com/r/staphb/minimap2) | <details><summary>Click to see all versions</summary> <ul><li>[2.17](./build-files/minimap2/2.17/)</li><li>[2.18](./build-files/minimap2/2.18/)</li><li>[2.21](./build-files/minimap2/2.21/)</li><li>[2.22](./build-files/minimap2/2.22/)</li><li>[2.23](./build-files/minimap2/2.23/)</li><li>[2.24](./build-files/minimap2/2.24/)</li><li>[2.25](./build-files/minimap2/2.25/)</li><li>[2.26](./build-files/minimap2/2.26)</li><li>[2.27](./build-files/minimap2/2.27/)</li><li>[2.28](./build-files/minimap2/2.28/)</li><li>[2.29](./build-files/minimap2/2.29/)</li><li>[2.30](./build-files/minimap2/2.30/)</li></ul></details> | https://github.com/lh3/minimap2 |
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
ARG METAMDBG_VER=1.4
2+
3+
FROM ubuntu:noble AS builder
4+
ARG METAMDBG_VER
5+
6+
WORKDIR /opt
7+
8+
RUN apt-get update && apt-get install -y --no-install-recommends \
9+
wget \
10+
ca-certificates \
11+
build-essential \
12+
cmake \
13+
zlib1g-dev \
14+
libomp-dev && \
15+
apt-get autoclean && rm -rf /var/lib/apt/lists/*
16+
17+
RUN wget -q https://github.com/GaetanBenoitDev/metaMDBG/archive/refs/tags/metaMDBG-${METAMDBG_VER}.tar.gz -O metaMDBG.tar.gz && \
18+
mkdir metaMDBG && \
19+
tar -xzf metaMDBG.tar.gz -C metaMDBG --strip-components=1 && \
20+
rm metaMDBG.tar.gz && \
21+
cd metaMDBG && \
22+
mkdir build && \
23+
cd build && \
24+
cmake .. && \
25+
make -j 3 && \
26+
mv /opt/metaMDBG/build/bin/metaMDBG /usr/local/bin/metaMDBG
27+
28+
29+
FROM ubuntu:noble AS app
30+
ARG METAMDBG_VER
31+
32+
LABEL base.image="ubuntu:noble"
33+
LABEL dockerfile.version="1"
34+
LABEL software="metaMDBG"
35+
LABEL software.version="${METAMDBG_VER}"
36+
LABEL description="A fast and memory-efficient assembler designed for long and accurate metagenomics reads (e.g. PacBio HiFi, Nanopore R10)."
37+
LABEL website="https://github.com/GaetanBenoitDev/metaMDBG"
38+
LABEL license="https://github.com/GaetanBenoitDev/metaMDBG/blob/main/LICENSE.md"
39+
LABEL maintainer="Raheel Ahmed"
40+
LABEL maintainer.email="raheelsyedahmed@gmail.com"
41+
42+
COPY --from=builder /usr/local/bin/metaMDBG /usr/local/bin/metaMDBG
43+
44+
RUN apt-get update && apt-get install -y --no-install-recommends \
45+
libgomp1 && \
46+
apt-get autoclean && rm -rf /var/lib/apt/lists/*
47+
48+
ENV LC_ALL=C
49+
50+
WORKDIR /data
51+
52+
CMD [ "metaMDBG", "--help" ]
53+
54+
55+
FROM app AS test
56+
57+
# set working directory so that all test inputs & outputs are kept in /test
58+
WORKDIR /test
59+
60+
# metaMDBG --help and metaMDBG --version print out the same thing.
61+
RUN metaMDBG --help && \
62+
metaMDBG asm --help && \
63+
metaMDBG gfa --help
64+
65+
RUN apt-get update && apt-get install -y --no-install-recommends \
66+
wget \
67+
ca-certificates && \
68+
apt-get autoclean && rm -rf /var/lib/apt/lists/*
69+
70+
RUN wget -q https://github.com/bactopia/bactopia-tests/raw/refs/heads/main/species/portiera/reads/nanopore/ERR3772599.fastq.gz && \
71+
metaMDBG asm --out-dir ./ERR3772599/ --in-ont ERR3772599.fastq.gz --threads 8 && \
72+
cd ERR3772599 && \
73+
gunzip contigs.fasta.gz && \
74+
head contigs.fasta
75+

build-files/metamdbg/1.4/README.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# metaMDBG container
2+
3+
Main tool: [metaMDBG](https://github.com/GaetanBenoitDev/metaMDBG)
4+
5+
Code repository: https://github.com/GaetanBenoitDev/metaMDBG
6+
7+
Basic information on how to use this tool:
8+
- executable: `metaMDBG`
9+
- help: `--help`
10+
- version: `--version`
11+
- description: A fast and memory-efficient assembler designed for long and accurate metagenomics reads (e.g. PacBio HiFi, Nanopore R10)
12+
13+
Additional information:
14+
15+
This tool is optimized for metagenomes, but also works well on bacterial isolates samples, according to the author. The main GitHub page README.md has up-to-date benchmarks in the Results section. nanoMDBG is integrated into this tool.
16+
17+
Note that the subcommands for `metaMDBG`, namely `asm` and `gfa` have `--help` commands as well.
18+
19+
Citations:
20+
21+
* Gaetan Benoit, Sebastien Raguideau, Robert James, Adam M. Phillippy, Rayan Chikhi and Christopher Quince High-quality metagenome assembly from long accurate reads with metaMDBG, Nature Biotechnology (2023).
22+
23+
* Gaetan Benoit, Robert James, Sebastien Raguideau, Georgina Alabone, Tim Goodall, Rayan Chikhi and Christopher Quince High-quality metagenome assembly from nanopore reads with nanoMDBG, Nature Communications (2026).
24+
25+
Full documentation: https://github.com/GaetanBenoitDev/metaMDBG?tab=readme-ov-file#readme
26+
27+
## Example Usage
28+
29+
#### Nanopore assembly
30+
```bash
31+
metaMDBG asm --out-dir ./outputDir/ --in-ont reads.fastq.gz --threads 4
32+
```
33+
34+
#### Hifi assembly
35+
```bash
36+
metaMDBG asm --out-dir ./outputDir/ --in-hifi reads.fastq.gz --threads 4
37+
```
38+
39+
#### Multiple sample co-assembly
40+
```bash
41+
metaMDBG asm \
42+
--out-dir ./outputDir/ \
43+
--in-ont reads_A.fastq.gz reads_B.fastq.gz reads_C.fastq.gz \
44+
--threads 4
45+
```
46+
47+
#### Generating an assembly graph
48+
```bash
49+
metaMDBG gfa \
50+
--assembly-dir ./assemblyDir/ \
51+
--k 21 --contigpath --readpath --threads 4
52+
```

0 commit comments

Comments
 (0)