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

Adding ppanggolin #821

Merged
merged 3 commits into from
Dec 27, 2023
Merged
Show file tree
Hide file tree
Changes from all 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 @@ -109,6 +109,7 @@ The licenses of the open-source software that is contained in these Docker image
| polypolish | GNU GPLv3 | https://github.com/rrwick/Polypolish/blob/main/LICENSE |
| PopPUNK | Apache 2.0 | https://github.com/bacpop/PopPUNK/blob/master/LICENSE |
| Porechop | GNU GPLv3 | https://github.com/rrwick/Porechop/blob/master/LICENSE |
| PPanGGOLiN | CeCILL 2.1 | https://github.com/labgem/PPanGGOLiN/blob/master/LICENSE.txt |
| Prokka | GNU GPLv3 | https://raw.githubusercontent.com/tseemann/prokka/master/doc/LICENSE.Prokka |
| pyCirclize | MIT | https://github.com/moshi4/pyCirclize/blob/main/LICENSE |
| pyGenomeViz | MIT | https://github.com/moshi4/pyGenomeViz/blob/main/LICENSE |
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,7 @@ To learn more about the docker pull rate limits and the open source software pro
| [polypolish](https://hub.docker.com/r/staphb/polypolish/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/polypolish)](https://hub.docker.com/r/staphb/polypolish) | <ul><li>0.5.0</li></ul> | https://github.com/rrwick/Polypolish |
| [PopPUNK](https://hub.docker.com/r/staphb/poppunk/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/poppunk)](https://hub.docker.com/r/staphb/poppunk) | <ul><li>[2.4.0](./poppunk/2.4.0/)</li><li>[2.5.0](./poppunk/2.5.0/)</li><li>[2.6.0](./poppunk/2.6.0/)</li><li>[2.6.2](./poppunk/2.6.2/)</li></ul> | https://github.com/bacpop/PopPUNK |
| [Porechop](https://hub.docker.com/r/staphb/porechop/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/porechop)](https://hub.docker.com/r/staphb/porechop) | <ul><li>0.2.4</li></ul> | https://github.com/rrwick/Porechop |
| [PPanGGOLiN](https://hub.docker.com/r/staphb/ppanggolin/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/ppanggolin)](https://hub.docker.com/r/staphb/ppanggolin) | <ul><li>0.2.4</li></ul> | https://github.com/labgem/PPanGGOLiN |
| [Prokka](https://hub.docker.com/r/staphb/prokka/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/prokka)](https://hub.docker.com/r/staphb/prokka) | <ul><li>1.13.4</li><li>1.14.0</li><li>1.14.5</li><li>1.14.6</li></ul> | https://github.com/tseemann/prokka |
| [pyCirclize](https://hub.docker.com/r/staphb/pycirclize/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/pycirclize)](https://hub.docker.com/r/staphb/pycirclize) | <ul><li>[1.0.0](pycirclize/1.0.0/)</li></ul> | https://github.com/moshi4/pyCirclize |
| [pyGenomeViz](https://hub.docker.com/r/staphb/pygenomeviz/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/pygenomeviz)](https://hub.docker.com/r/staphb/pygenomeviz) | <ul><li>0.2.2</li><li>0.3.2</li><li>[0.4.2](pygenomeviz/0.4.2/)</li><li>[0.4.3](pygenomeviz/0.4.3/)</li></ul> | https://github.com/moshi4/pyGenomeViz |
Expand Down
61 changes: 61 additions & 0 deletions ppanggolin/1.2.105/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
ARG PPANGGOLIN_VER="1.2.105"

FROM mambaorg/micromamba:1.4.9 as app

ARG PPANGGOLIN_VER

# 'LABEL' instructions tag the image with metadata that might be important to the user
LABEL base.image="mambaorg/micromamba:1.4.9"
LABEL dockerfile.version="1"
LABEL software="PPanGGOLiN"
LABEL software.version="${PPANGGOLIN_VER}"
LABEL description="Depicting microbial species diversity via a Partitioned PanGenome Graph Of Linked Neighbors"
LABEL website="https://github.com/labgem/PPanGGOLiN"
LABEL license="https://github.com/labgem/PPanGGOLiN/blob/master/LICENSE.txt"
LABEL maintainer="Erin Young"
LABEL maintainer.email="[email protected]"

USER root

RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates \
procps \
wget && \
apt-get autoclean && rm -rf /var/lib/apt/lists/*

ENV PATH="/opt/conda/envs/base/bin/:/opt/conda/bin/:$PATH" LC_ALL=C

RUN micromamba install --name base -c conda-forge -c bioconda -c defaults ppanggolin=${PPANGGOLIN_VER} && \
micromamba clean -a -y && \
ppanggolin -h && \
mkdir /data

# 'CMD' instructions set a default command when the container is run. This is typically 'tool --help.'
CMD ppanggolin -h

# 'WORKDIR' sets working directory
WORKDIR /data

FROM app as test

ARG PPANGGOLIN_VER

WORKDIR /test

RUN ppanggolin --help && \
ppanggolin --version

# getting test files from github repo
RUN wget -q https://github.com/labgem/PPanGGOLiN/archive/refs/tags/${PPANGGOLIN_VER}.tar.gz && \
tar -xvf ${PPANGGOLIN_VER}.tar.gz

RUN cd PPanGGOLiN-${PPANGGOLIN_VER}/testingDataset && \
ppanggolin annotate --fasta organisms.fasta.list --output output && cp output/pangenome.h5 output/pangenome.1.h5 && \
ppanggolin cluster -p output/pangenome.h5 && cp output/pangenome.h5 output/pangenome.2.h5 && \
ppanggolin graph -p output/pangenome.h5 && cp output/pangenome.h5 output/pangenome.3.h5 && \
ppanggolin partition -p output/pangenome.h5 && cp output/pangenome.h5 output/pangenome.4.h5 && \
ppanggolin draw -p output/pangenome.h5 --ucurve && \
ppanggolin write -p output/pangenome.h5 --stats --output output_stats && \
md5sum output/pangenome*.h5 && \
head output_stats/*

33 changes: 33 additions & 0 deletions ppanggolin/1.2.105/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# PPanGGOLiN container

Main tool: [PPanGGOLiN](https://github.com/labgem/PPanGGOLiN)

Code repository: https://github.com/labgem/PPanGGOLiN

Basic information on how to use this tool:
- executable: ppanggolin
- help: --help
- version: --version
- description: |
> PPanGGOLiN builds pangenomes through a graphical model and a statistical method to partition gene families in persistent, shell and cloud genomes.

Additional information:

PPanGGOLiN only creates the pangenome graphs. It is recommended to use another tool to visualize them. Please read https://github.com/labgem/PPanGGOLiN/wiki for more information.

Full documentation: https://github.com/labgem/PPanGGOLiN/wiki

## Example Usage

```bash
ppanggolin annotate --fasta organisms.fasta.list --output output

# many of the commands manipulate the 'pangenome.h5' file in place
ppanggolin cluster -p pangenome.h5
ppanggolin graph -p pangenome.h5
ppanggolin partition -p pangenome.h5
ppanggolin draw -p pangenome.h5 --ucurve

# there are some human-readable files that can be generated as well
ppanggolin write -p pangenome.h5 --stats --output stats
```