From d947409ca258b4ac9ad3b0a1840057daee2747ba Mon Sep 17 00:00:00 2001 From: Erin Young Date: Mon, 23 Dec 2024 17:31:45 +0000 Subject: [PATCH] adding pygenomeviz version 1.5.0 --- README.md | 2 +- pygenomeviz/1.5.0/Dockerfile | 67 ++++++++++++++++++++++++++++++++++ pygenomeviz/1.5.0/README.md | 69 ++++++++++++++++++++++++++++++++++++ 3 files changed, 137 insertions(+), 1 deletion(-) create mode 100644 pygenomeviz/1.5.0/Dockerfile create mode 100644 pygenomeviz/1.5.0/README.md diff --git a/README.md b/README.md index f435e9475..6bc01c89b 100644 --- a/README.md +++ b/README.md @@ -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/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/ppanggolin)](https://hub.docker.com/r/staphb/ppanggolin) | | https://github.com/labgem/PPanGGOLiN | | [Prokka](https://hub.docker.com/r/staphb/prokka/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/prokka)](https://hub.docker.com/r/staphb/prokka) | | https://github.com/tseemann/prokka | | [pyCirclize](https://hub.docker.com/r/staphb/pycirclize/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/pycirclize)](https://hub.docker.com/r/staphb/pycirclize) | | https://github.com/moshi4/pyCirclize | -| [pyGenomeViz](https://hub.docker.com/r/staphb/pygenomeviz/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/pygenomeviz)](https://hub.docker.com/r/staphb/pygenomeviz) | | https://github.com/moshi4/pyGenomeViz | +| [pyGenomeViz](https://hub.docker.com/r/staphb/pygenomeviz/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/pygenomeviz)](https://hub.docker.com/r/staphb/pygenomeviz) | | https://github.com/moshi4/pyGenomeViz | | [pyMLST](https://hub.docker.com/r/staphb/pymlst/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/pymlst)](https://hub.docker.com/r/staphb/pymlst) | | https://github.com/bvalot/pyMLST | | [pypolca](https://hub.docker.com/r/staphb/pypolca/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/pypolca)](https://hub.docker.com/r/staphb/pypolca) | | https://github.com/gbouras13/pypolca | | [QUAST](https://hub.docker.com/r/staphb/quast/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/quast)](https://hub.docker.com/r/staphb/quast) | | https://github.com/ablab/quast | diff --git a/pygenomeviz/1.5.0/Dockerfile b/pygenomeviz/1.5.0/Dockerfile new file mode 100644 index 000000000..96bd56d37 --- /dev/null +++ b/pygenomeviz/1.5.0/Dockerfile @@ -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 diff --git a/pygenomeviz/1.5.0/README.md b/pygenomeviz/1.5.0/README.md new file mode 100644 index 000000000..e0dd7807c --- /dev/null +++ b/pygenomeviz/1.5.0/README.md @@ -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") +```