Skip to content

Commit

Permalink
Merge pull request #794 from StaPH-B/cjk-pasty-1.0.3
Browse files Browse the repository at this point in the history
add pasty 1.0.3
  • Loading branch information
erinyoung authored Nov 14, 2023
2 parents 616a090 + d8ba74e commit a5d35f4
Show file tree
Hide file tree
Showing 3 changed files with 188 additions and 1 deletion.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ To learn more about the docker pull rate limits and the open source software pro
| [Panaroo](https://hub.docker.com/r/staphb/panaroo) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/panaroo)](https://hub.docker.com/r/staphb/panaroo) | <ul><li>1.2.10</li></ul> | https://github.com/gtonkinhill/panaroo |
| [Pangolin](https://hub.docker.com/r/staphb/pangolin) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/pangolin)](https://hub.docker.com/r/staphb/pangolin) | <details><summary> Click to see Pangolin v4.2 and older versions! </summary> **Pangolin version & pangoLEARN data release date** <ul><li>1.1.14</li><li>2.0.4 & 2020-07-20</li><li>2.0.5 & 2020-07-20</li><li>2.1.1 & 2020-12-17</li><li>2.1.3 & 2020-12-17</li><li>2.1.6 & 2021-01-06</li><li>2.1.7 & 2021-01-11</li><li>2.1.7 & 2021-01-20</li><li>2.1.8 & 2021-01-22</li><li>2.1.10 & 2021-02-01</li><li>2.1.11 & 2021-02-01</li><li>2.1.11 & 2021-02-05</li><li>2.2.1 & 2021-02-06</li><li>2.2.2 & 2021-02-06</li><li>2.2.2 & 2021-02-11</li><li>2.2.2 & 2021-02-12</li><li>2.3.0 & 2021-02-12</li><li>2.3.0 & 2021-02-18</li><li>2.3.0 & 2021-02-21</li><li>2.3.2 & 2021-02-21</li><li>2.3.3 & 2021-03-16</li><li>2.3.4 & 2021-03-16</li><li>2.3.5 & 2021-03-16</li><li>2.3.6 & 2021-03-16</li><li>2.3.6 & 2021-03-29</li><li>2.3.8 & 2021-04-01</li><li>2.3.8 & 2021-04-14</li><li>2.3.8 & 2021-04-21</li><li>2.3.8 & 2021-04-23</li><li>2.4 & 2021-04-28</li><li>2.4.1 & 2021-04-28</li><li>2.4.2 & 2021-04-28</li><li>2.4.2 & 2021-05-10</li><li>2.4.2 & 2021-05-11</li><li>2.4.2 & 2021-05-19</li><li>3.0.5 & 2021-06-05</li><li>3.1.3 & 2021-06-15</li><li>3.1.5 & 2021-06-15</li><li>3.1.5 & 2021-07-07-2</li><li>3.1.7 & 2021-07-09</li><li>3.1.8 & 2021-07-28</li><li>3.1.10 & 2021-07-28</li><li>3.1.11 & 2021-08-09</li><li>3.1.11 & 2021-08-24</li><li>3.1.11 & 2021-09-17</li><li>3.1.14 & 2021-09-28</li><li>3.1.14 & 2021-10-13</li><li>3.1.16 & 2021-10-18</li><li>3.1.16 & 2021-11-04</li><li>3.1.16 & 2021-11-09</li><li>3.1.16 & 2021-11-18</li><li>3.1.16 & 2021-11-25</li><li>3.1.17 & 2021-11-25</li><li>3.1.17 & 2021-12-06</li><li>3.1.17 & 2022-01-05</li><li>3.1.18 & 2022-01-20</li><li>3.1.19 & 2022-01-20</li><li>3.1.20 & 2022-02-02</li><li>3.1.20 & 2022-02-28</li></ul> **Pangolin version & pangolin-data version** <ul><li>4.0 & 1.2.133</li><li>4.0.1 & 1.2.133</li><li>4.0.2 & 1.2.133</li><li>4.0.3 & 1.2.133</li><li>4.0.4 & 1.2.133</li><li>4.0.5 & 1.3</li><li>4.0.6 & 1.6</li><li>4.0.6 & 1.8</li><li>4.0.6 & 1.9</li><li>4.1.1 & 1.11</li><li>4.1.2 & 1.12</li><li>4.1.2 & 1.13</li><li>4.1.2 & 1.14</li><li>4.1.3 & 1.15.1</li><li>4.1.3 & 1.16</li><li>4.1.3 & 1.17</li><li>4.2 & 1.18</li><li>4.2 & 1.18.1</li><li>4.2 & 1.18.1.1</li><li>4.2 & 1.19</li></ul> </details> **Pangolin version & pangolin-data version** <ul><li>[4.3 & 1.20](pangolin/4.3-pdata-1.20/)</li><li>[4.3 & 1.21](pangolin/4.3-pdata-1.21/)</li><li>[4.3.1 & 1.22](pangolin/4.3.1-pdata-1.22/)</li><li>[4.3.1 & 1.23](pangolin/4.3.1-pdata-1.23/)</li><li>[4.3.1 & 1.23.1](pangolin/4.3.1-pdata-1.23.1/)</li></ul> | https://github.com/cov-lineages/pangolin<br/>https://github.com/cov-lineages/pangoLEARN<br/>https://github.com/cov-lineages/pango-designation<br/>https://github.com/cov-lineages/scorpio<br/>https://github.com/cov-lineages/constellations<br/>https://github.com/cov-lineages/lineages (archived)<br/>https://github.com/hCoV-2019/pangolin (archived) |
| [parallel-perl](https://hub.docker.com/r/staphb/parallel-perl) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/parallel-perl)](https://hub.docker.com/r/staphb/parallel-perl) | <ul><li>20200722</li></ul> | https://www.gnu.org/software/parallel |
| [pasty](https://hub.docker.com/r/staphb/pasty) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/pasty)](https://hub.docker.com/r/staphb/pasty) | <ul><li>1.0.2</li></ul> | https://github.com/rpetit3/pasty |
| [pasty](https://hub.docker.com/r/staphb/pasty) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/pasty)](https://hub.docker.com/r/staphb/pasty) | <ul><li>1.0.2</li><li>[1.0.3](pasty/1.0.3/)</li></ul> | https://github.com/rpetit3/pasty |
| [Pavian](https://hub.docker.com/r/staphb/pavian) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/pavian)](https://hub.docker.com/r/staphb/pavian) | <ul><li>[1.2.1](pavian/1.2.1/)</li></ul> | https://github.com/fbreitwieser/pavian |
| [pbptyper](https://hub.docker.com/r/staphb/pbptyper) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/pbptyper)](https://hub.docker.com/r/staphb/pbptyper) | <ul><li>1.0.0</li><li>1.0.1</li><li>1.0.4</li></ul> | https://github.com/rpetit3/pbptyper |
| [Phyml](https://hub.docker.com/r/staphb/phyml) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/phyml)](https://hub.docker.com/r/staphb/phyml) | <ul><li>3.3.20220408</li></ul> | https://github.com/stephaneguindon/phyml |
Expand Down
125 changes: 125 additions & 0 deletions pasty/1.0.3/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
ARG PASTY_VERSION="1.0.3"
# formatted for apt version syntax
ARG BLAST_VERSION="2.12.0+ds-3build1"

FROM ubuntu:jammy as app

# have to re-instatiate these variables
ARG PASTY_VERSION
ARG BLAST_VERSION

LABEL base.image="ubuntu:jammy"
LABEL dockerfile.version="1"
LABEL software="pasty"
LABEL software.version="${PASTY_VERSION}"
LABEL description="In silico serogrouping of Pseudomonas aeruginosa isolates from genome assemblies"
LABEL website="https://github.com/rpetit3/pasty"
LABEL license="https://github.com/rpetit3/pasty/blob/main/LICENSE"
LABEL maintainer="Curtis Kapsak"
LABEL maintainer.email="[email protected]"

# install dependencies
# ncbi-blast+ version in apt for ubuntu:jammy = v2.12.0
# python v3.10.6
RUN apt-get update && apt-get install -y --no-install-recommends \
python3 \
python3-pip \
ncbi-blast+=${BLAST_VERSION} \
wget \
ca-certificates \
procps && \
apt-get autoclean && rm -rf /var/lib/apt/lists/*

# install python deps
RUN pip3 install executor rich-click

# download pasty; make /data
RUN echo "downloading pasty source code..." && \
wget -q https://github.com/rpetit3/pasty/archive/refs/tags/v${PASTY_VERSION}.tar.gz && \
tar -zxf v${PASTY_VERSION}.tar.gz && \
rm -rf v${PASTY_VERSION}.tar.gz && \
mkdir /data

# set $PATH
# set perl locale settings for singularity compatibility
ENV PATH="${PATH}:/pasty-${PASTY_VERSION}/bin"\
LC_ALL=C.UTF-8

# final working directory is /data
WORKDIR /data

# testing layer starts here
FROM app as test

# re-instatiate for use below in test layer
ARG PASTY_VERSION

# running the below test commands from the root pasty directory
WORKDIR /pasty-${PASTY_VERSION}

# shamelessly stolen and modified from https://github.com/rpetit3/pasty/blob/main/.github/workflows/test-pasty.yml
RUN echo "O1-GCF_000504045" && \
pasty --assembly test/O1-GCF_000504045.fna.gz --prefix O1-GCF_000504045 && \
cat O1-GCF_000504045.tsv && \
cat O1-GCF_000504045.details.tsv && \
echo "O2-GCF_000006765" && \
pasty --assembly test/O2-GCF_000006765.fna.gz --prefix O2-GCF_000006765 --outdir O2 && \
cat O2/O2-GCF_000006765.tsv && \
cat O2/O2-GCF_000006765.details.tsv && \
echo "O3-GCF_000271365" && \
pasty --assembly test/O3-GCF_000271365.fna.gz --prefix O3-GCF_000271365 --outdir O3 && \
cat O3/O3-GCF_000271365.tsv && \
cat O3/O3-GCF_000271365.details.tsv && \
echo "O4-GCF_024652945" && \
pasty --assembly test/O4-GCF_024652945.fna.gz --prefix O4-GCF_024652945 --outdir O4 && \
cat O4/O4-GCF_024652945.tsv && \
cat O4/O4-GCF_024652945.details.tsv && \
echo "O6-GCF_001457615" && \
pasty --assembly test/O6-GCF_001457615.fna.gz --prefix O6-GCF_001457615 && \
cat O6-GCF_001457615.tsv && \
cat O6-GCF_001457615.details.tsv && \
echo "O7-GCF_001482325" && \
pasty --assembly test/O7-GCF_001482325.fna.gz --prefix O7-GCF_001482325 && \
cat O7-GCF_001482325.tsv && \
cat O7-GCF_001482325.details.tsv && \
echo "O9-GCF_002075065" && \
pasty --assembly test/O9-GCF_002075065.fna.gz --prefix O9-GCF_002075065 && \
cat O9-GCF_002075065.tsv && \
cat O9-GCF_002075065.details.tsv && \
echo "O10-GCF_009676765" && \
pasty --assembly test/O10-GCF_009676765.fna.gz --prefix O10-GCF_009676765 && \
cat O10-GCF_009676765.tsv && \
cat O10-GCF_009676765.details.tsv && \
echo "O11-GCF_002192495" && \
pasty --assembly test/O11-GCF_002192495.fna.gz --prefix O11-GCF_002192495 && \
cat O11-GCF_002192495.tsv && \
cat O11-GCF_002192495.details.tsv && \
echo "O12-GCF_000981825" && \
pasty --assembly test/O12-GCF_000981825.fna.gz --prefix O12-GCF_000981825 && \
cat O12-GCF_000981825.tsv && \
cat O12-GCF_000981825.details.tsv && \
echo "NT-GCF_000292685" && \
pasty --assembly test/NT-GCF_000292685.fna.gz --prefix NT-GCF_000292685 && \
cat NT-GCF_000292685.tsv && \
cat NT-GCF_000292685.details.tsv && \
echo "empty" && \
pasty --assembly test/empty.fasta --prefix empty && \
cat empty.tsv && \
cat empty.details.tsv && \
echo "not-a-fasta" && \
pasty --assembly test/not-a-fasta.fasta --prefix not-a-fasta && \
cat not-a-fasta.tsv && \
cat not-a-fasta.details.tsv && \
echo "poor" && \
pasty --assembly test/poor.fasta --prefix poor --outdir poor && \
cat poor/poor.tsv && \
cat poor/poor.details.tsv && \
echo "O2-GCF_001444895-int-bug" && \
pasty --assembly test/O2-GCF_001444895-int-bug.fna.gz --prefix O2-GCF_001444895-int-bug --outdir O2 && \
cat O2/O2-GCF_001444895-int-bug.tsv && \
cat O2/O2-GCF_001444895-int-bug.details.tsv

# print help and version info
RUN pasty --help && \
pasty --version && \
pasty --check
62 changes: 62 additions & 0 deletions pasty/1.0.3/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# pasty container

Main tool : [pasty](https://github.com/rpetit3/pasty)

Additional tools:

- ncbi-blast+ 2.12.0
- python 3.10.12

Full documentation: [https://github.com/rpetit3/pasty](https://github.com/rpetit3/pasty)

A tool easily taken advantage of for in silico serogrouping of Pseudomonas aeruginosa isolates from genome assemblies

## Example Usage

```bash
# test genome assemblies are included in the docker image at /pasty-1.0.2/test/
# visit here to see more information: https://github.com/rpetit3/pasty/tree/main/test

# run pasty via docker container (command broken into 2 lines for readability)
$ docker run --rm -v $PWD:/data -u $(id -u):$(id -g) staphb/pasty:1.0.2 \
pasty --assembly /pasty-1.0.2/test/O1-GCF_000504045.fna.gz --prefix O1-GCF_000504045
Running pasty with following parameters:
--assembly /pasty-1.0.2/test/O1-GCF_000504045.fna.gz
--db /pasty-1.0.2/db/OSAdb.fasta
--prefix O1-GCF_000504045
--outdir ./
--min_pident 95
--min_coverage 95

Running BLASTN...
Writing outputs...
BLASTN results written to ./O1-GCF_000504045.blastn.tsv

Serogroup Results
┏━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┓
┃ sample ┃ serogroup ┃ coverage ┃ fragments ┃
┡━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━┩
│ O1-GCF_000504045 │ O1 │ 99.97 │ 1 │
│ O1-GCF_000504045 │ O2 │ 9.83 │ 2 │
│ O1-GCF_000504045 │ O3 │ 11.18 │ 2 │
│ O1-GCF_000504045 │ O4 │ 14.36 │ 2 │
│ O1-GCF_000504045 │ O5 │ 0 │ 0 │
│ O1-GCF_000504045 │ O6 │ 14.07 │ 2 │
│ O1-GCF_000504045 │ O7 │ 11.54 │ 2 │
│ O1-GCF_000504045 │ O9 │ 36.62 │ 1 │
│ O1-GCF_000504045 │ O10 │ 12.52 │ 2 │
│ O1-GCF_000504045 │ O11 │ 15.85 │ 2 │
│ O1-GCF_000504045 │ O12 │ 1.24 │ 1 │
│ O1-GCF_000504045 │ O13 │ 15.39 │ 2 │
│ O1-GCF_000504045 │ WyzB │ 0 │ 0 │
└──────────────────┴───────────┴──────────┴───────────┘
Serogroup Results written to ./O1-GCF_000504045.details.tsv

Predicted Serogroup
┏━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━┓
┃ sample ┃ serogroup ┃ coverage ┃ fragments ┃ comment ┃
┡━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━┩
│ O1-GCF_000504045 │ O1 │ 99.97 │ 1 │ │
└──────────────────┴───────────┴──────────┴───────────┴─────────┘
Predicted serogroup result written to ./O1-GCF_000504045.tsv
```

0 comments on commit a5d35f4

Please sign in to comment.