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 pygenomeviz version 1.5.0 #1141

Merged
merged 1 commit into from
Dec 23, 2024
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
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@ To learn more about the docker pull rate limits and the open source software pro
| [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>[1.2.105](./ppanggolin/1.2.105/)</li><li>[2.0.3](./ppanggolin/2.0.3/)</li><li>[2.0.5](./ppanggolin/2.0.5/)</li><li>[2.1.2](./ppanggolin/2.1.2/)</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><li>[1.2.0](./pycirclize/1.2.0/)</li><li>[1.5.0](./pycirclize/1.5.0/)</li><li>[1.6.0](./pycirclize/1.6.0/)</li><li>[1.71](./pycirclize/1.7.1/)</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><li>[0.4.4](pygenomeviz/0.4.4/)</li><li>[1.1.0](pygenomeviz/1.1.0/)</li></ul> | https://github.com/moshi4/pyGenomeViz |
| [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><li>[0.4.4](pygenomeviz/0.4.4/)</li><li>[1.1.0](pygenomeviz/1.1.0/)</li><li>[1.5.0](pygenomeviz/1.5.0/)</li></ul> | https://github.com/moshi4/pyGenomeViz |
| [pyMLST](https://hub.docker.com/r/staphb/pymlst/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/pymlst)](https://hub.docker.com/r/staphb/pymlst) | <ul><li>[2.1.5](./pymlst/2.1.5/)</li><li>[2.1.6](./pymlst/2.1.6/)</li></ul> | https://github.com/bvalot/pyMLST |
| [pypolca](https://hub.docker.com/r/staphb/pypolca/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/pypolca)](https://hub.docker.com/r/staphb/pypolca) | <ul><li>[0.3.1](./pypolca/0.3.1/)</li></ul> | https://github.com/gbouras13/pypolca |
| [QUAST](https://hub.docker.com/r/staphb/quast/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/quast)](https://hub.docker.com/r/staphb/quast) | <ul><li>5.0.0</li><li>5.0.2</li><li>[5.2.0](./quast/5.2.0)</li><li>[5.2.0-slim](./quast/5.2.0-slim)</li><li>[5.3.0](./quast/5.3.0)</li><li>[5.3.0-slim](./quast/5.3.0-slim)</li></ul> | https://github.com/ablab/quast |
Expand Down
67 changes: 67 additions & 0 deletions pygenomeviz/1.5.0/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
FROM python:3.9.17-slim AS app

ARG PYGENOMEVIZ_VER="1.5.0"

LABEL base.image="python:3.9.17-slim"
LABEL dockerfile.version="1"
LABEL software="pyGenomeViz"
LABEL software.version=$PYGENOMEVIZ_VER
LABEL description="genome visualization python package for comparative genomics"
LABEL website="https://moshi4.github.io/pyGenomeViz"
LABEL license="MIT License"
LABEL license.url="https://github.com/moshi4/pyGenomeViz/blob/main/LICENSE"
LABEL maintainer="Erin Young"
LABEL maintainer.email="eriny@utah.gov"

#mmseqs2=14-7e284+ds-1+b2
#mummer=3.23+dfsg-8
#progressivemauve=1.2.0+4713+dfsg-5+b1
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates \
procps \
ncbi-blast+ \
mmseqs2 \
mummer \
progressivemauve && \
apt-get autoclean && rm -rf /var/lib/apt/lists/*

RUN pip install --no-cache-dir pygenomeviz==$PYGENOMEVIZ_VER

ENV LC_ALL=C.UTF-8

CMD pgv-mmseqs --help && pgv-mummer --help && pgv-pmauve --help && pgv-blast --help

WORKDIR /data

FROM app AS test

WORKDIR /test

RUN pgv-mmseqs --help && pgv-mummer --help && pgv-pmauve --help && pgv-blast --help

RUN \
# Download example dataset
pgv-download yersinia_phage && \
# Run BLAST CLI workflow
pgv-blast NC_070914.gbk NC_070915.gbk NC_070916.gbk NC_070918.gbk \
-o pgv-blast_example --seqtype protein --show_scale_bar --curve \
--feature_linewidth 0.3 --length_thr 100 --identity_thr 30 && \
# Download example dataset
pgv-download mycoplasma_mycoides && \
# Run MUMmer CLI workflow
pgv-mummer GCF_000023685.1.gbff GCF_000800785.1.gbff GCF_000959055.1.gbff GCF_000959065.1.gbff \
-o pgv-mummer_example --show_scale_bar --curve \
--feature_type2color CDS:blue rRNA:lime tRNA:magenta && \
# Download example dataset
pgv-download enterobacteria_phage && \
# Run MMseqs CLI workflow
pgv-mmseqs NC_013600.gbk NC_016566.gbk NC_019724.gbk NC_024783.gbk NC_028901.gbk NC_031081.gbk \
-o pgv-mmseqs_example --show_scale_bar --curve --feature_linewidth 0.3 \
--feature_type2color CDS:skyblue --normal_link_color chocolate --inverted_link_color limegreen && \
# Download example dataset
pgv-download escherichia_coli && \
# Run progressiveMauve CLI workflow
pgv-pmauve NC_000913.gbk.gz NC_002695.gbk.gz NC_011751.gbk.gz NC_011750.gbk.gz \
-o pgv-pmauve_example --show_scale_bar && \
# Check final files
ls pgv-blast_example/result.png pgv-mummer_example/result.png pgv-mmseqs_example/result.png pgv-pmauve_example/result.png
69 changes: 69 additions & 0 deletions pygenomeviz/1.5.0/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# pyGenomeViz container

Main tool : [pyGenomeViz](https://moshi4.github.io/pyGenomeViz/)

Additional tools:
- ncbi-blast+ (2.12.0+ds-3+b1)
- mmseqs2 (14-7e284+ds-1+b2)
- mummer (3.23+dfsg-8)
- progressivemauve (1.2.0+4713+dfsg-5+b1)

Full documentation: https://moshi4.github.io/pyGenomeViz/

> pyGenomeViz is a genome visualization python package for comparative genomics implemented based on matplotlib. This package is developed for the purpose of easily and beautifully plotting genomic features and sequence similarity comparison links between multiple genomes.

## Example Usage

Using the CLI

```bash
# Download example dataset
pgv-download yersinia_phage

# Run BLAST CLI workflow
pgv-blast NC_070914.gbk NC_070915.gbk NC_070916.gbk NC_070918.gbk \
-o pgv-blast_example --seqtype protein --show_scale_bar --curve \
--feature_linewidth 0.3 --length_thr 100 --identity_thr 30

# Download example dataset
pgv-download mycoplasma_mycoides

# Run MUMmer CLI workflow
pgv-mummer GCF_000023685.1.gbff GCF_000800785.1.gbff GCF_000959055.1.gbff GCF_000959065.1.gbff \
-o pgv-mummer_example --show_scale_bar --curve \
--feature_type2color CDS:blue rRNA:lime tRNA:magenta

# Download example dataset
pgv-download enterobacteria_phage

# Run MMseqs CLI workflow
pgv-mmseqs NC_013600.gbk NC_016566.gbk NC_019724.gbk NC_024783.gbk NC_028901.gbk NC_031081.gbk \
-o pgv-mmseqs_example --show_scale_bar --curve --feature_linewidth 0.3 \
--feature_type2color CDS:skyblue --normal_link_color chocolate --inverted_link_color limegreen

# Download example dataset
pgv-download escherichia_coli

# Run progressiveMauve CLI workflow
pgv-pmauve NC_000913.gbk.gz NC_002695.gbk.gz NC_011751.gbk.gz NC_011750.gbk.gz \
-o pgv-pmauve_example --show_scale_bar
```

This container contains the pygenomeviz python package, so custom scripts can import pygenomeviz

```python
from pygenomeviz import GenomeViz

gv = GenomeViz()
gv.set_scale_xticks(ymargin=0.5)

track = gv.add_feature_track("tutorial", 1000)
track.add_sublabel()

track.add_feature(50, 200, 1)
track.add_feature(250, 460, -1, fc="blue")
track.add_feature(500, 710, 1, fc="lime")
track.add_feature(750, 960, 1, fc="magenta", lw=1.0)

gv.savefig("features.png")
```
Loading