diff --git a/Program_Licenses.md b/Program_Licenses.md index 7698fd497..2a32b0d3f 100644 --- a/Program_Licenses.md +++ b/Program_Licenses.md @@ -118,6 +118,7 @@ The licenses of the open-source software that is contained in these Docker image | legsta | GNU GPLv3 | https://github.com/tseemann/legsta/blob/master/LICENSE | | liftoff | GNU GPLv3 | https://github.com/agshumate/Liftoff/blob/master/LICENSE.md | | lima | BSD-3 | https://github.com/PacificBiosciences/barcoding/blob/master/LICENSE | +| lissero | GNU GPLv3 | https://github.com/MDU-PHL/LisSero/blob/master/LICENSE | | LJA | BSD-3 | https://github.com/AntonBankevich/LJA/blob/main/LICENSE | | longshot | MIT | https://github.com/pjedge/longshot/blob/master/LICENSE | | lrge | MIT | https://github.com/mbhall88/lrge?tab=MIT-1-ov-file#readme | diff --git a/README.md b/README.md index ee977e75e..b65a96ea2 100644 --- a/README.md +++ b/README.md @@ -226,6 +226,7 @@ To learn more about the docker pull rate limits and the open source software pro | [legsta](https://hub.docker.com/r/staphb/legsta/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/legsta)](https://hub.docker.com/r/staphb/legsta)|
Click to see all versions
| https://github.com/tseemann/legsta | | [liftoff](https://hub.docker.com/r/staphb/liftoff/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/liftoff)](https://hub.docker.com/r/staphb/liftoff)|
Click to see all versions
| https://github.com/agshumate/Liftoff | | [lima](https://hub.docker.com/r/staphb/lima/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/lima)](https://hub.docker.com/r/staphb/lima)|
Click to see all versions
| https://github.com/PacificBiosciences/barcoding | +| [lissero](https://hub.docker.com/r/staphb/lissero/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/lissero)](https://hub.docker.com/r/staphb/lissero)|
Click to see all versions
| https://github.com/MDU-PHL/LisSero | | [LJA](https://github.com/AntonBankevich/LJA)
[![docker pulls](https://badgen.net/docker/pulls/staphb/lja)](https://hub.docker.com/r/staphb/lja)|
Click to see all versions
| https://github.com/AntonBankevich/LJA | | [longshot](https://hub.docker.com/r/staphb/longshot/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/longshot)](https://hub.docker.com/r/staphb/longshot)|
Click to see all versions
| https://github.com/pjedge/longshot | | [lrge](https://hub.docker.com/r/staphb/lrge/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/lrge)](https://hub.docker.com/r/staphb/lrge)|
Click to see all versions
| https://github.com/mbhall88/lrge | diff --git a/build-files/lissero/0.4.10/Dockerfile b/build-files/lissero/0.4.10/Dockerfile new file mode 100644 index 000000000..c57580a6b --- /dev/null +++ b/build-files/lissero/0.4.10/Dockerfile @@ -0,0 +1,43 @@ +FROM mambaorg/micromamba:2.8.1-ubuntu24.04 AS app + +ARG LISSERO_VERSION="0.4.10" + +USER root + +WORKDIR / + +LABEL base.image="mambaorg/micromamba:2.8.1-ubuntu24.04" +LABEL dockerfile.version="1" +LABEL software="LisSero" +LABEL software.version="${LISSERO_VERSION}" +LABEL description="In silico serogroup typing of Listeria monocytogenes" +LABEL website="https://github.com/MDU-PHL/LisSero" +LABEL license="https://github.com/MDU-PHL/LisSero/blob/master/LICENSE" +LABEL maintainer="Arnold Rodriguez" +LABEL maintainer.email="arnold.rodriguezhilario@flhealth.gov" + +# lissero pulls python and blast; procps-ng provides ps; wget is used by the test stage +RUN micromamba install --yes --name base -c conda-forge -c bioconda \ + lissero=${LISSERO_VERSION} procps-ng wget && \ + micromamba clean -a -f -y + +ENV PATH="/opt/conda/bin/:${PATH}" \ + LC_ALL=C.UTF-8 + +CMD [ "lissero", "--help" ] + +WORKDIR /data + +## Test ## +FROM app AS test + +# serotype 4b reference (F2365, GCF_000008285.1); expect serogroup "4b, 4d, 4e" +RUN wget -q "https://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/008/285/GCF_000008285.1_ASM828v1/GCF_000008285.1_ASM828v1_genomic.fna.gz" && \ + gunzip GCF_000008285.1_ASM828v1_genomic.fna.gz && \ + lissero GCF_000008285.1_ASM828v1_genomic.fna | tee lissero_test.tsv && \ + grep "4b, 4d, 4e" lissero_test.tsv + +RUN lissero --version && \ + blastn -version + +RUN micromamba list -n base diff --git a/build-files/lissero/0.4.10/README.md b/build-files/lissero/0.4.10/README.md new file mode 100644 index 000000000..b58937871 --- /dev/null +++ b/build-files/lissero/0.4.10/README.md @@ -0,0 +1,126 @@ +# LisSero container + +Main tool: [LisSero](https://github.com/MDU-PHL/LisSero) + +Code repository: https://github.com/MDU-PHL/LisSero + +
+Additional tools installed via micromamba: + +``` + Name Version Build Channel +──────────────────────────────────────────────────────────────────────────── + _openmp_mutex 4.5 20_gnu conda-forge + biopython 1.87 py314h5bd0f2a_0 conda-forge + blast 2.17.0 h66d330f_0 bioconda + bzip2 1.0.8 hda65f42_9 conda-forge + c-ares 1.34.6 hb03c661_0 conda-forge + ca-certificates 2026.6.17 hbd8a1cb_0 conda-forge + click 8.4.1 pyhc90fa1f_0 conda-forge + curl 8.21.0 hcf29cc6_0 conda-forge + entrez-direct 24.0 he881be0_0 bioconda + icu 78.3 h33c6efd_0 conda-forge + ispcr 33 h7b50bb2_6 bioconda + keyutils 1.6.3 hb9d3cd8_0 conda-forge + krb5 1.22.2 hbde042b_1 conda-forge + ld_impl_linux-64 2.45.1 default_hbd61a6d_102 conda-forge + libblas 3.11.0 8_h4a7cf45_openblas conda-forge + libcblas 3.11.0 8_h0358290_openblas conda-forge + libcurl 8.21.0 hcf29cc6_0 conda-forge + libedit 3.1.20250104 pl5321h7949ede_0 conda-forge + libev 4.33 hd590300_2 conda-forge + libexpat 2.8.1 hecca717_1 conda-forge + libffi 3.5.2 h3435931_0 conda-forge + libgcc 15.2.0 he0feb66_19 conda-forge + libgcc-ng 15.2.0 h69a702a_19 conda-forge + libgfortran 15.2.0 h69a702a_19 conda-forge + libgfortran5 15.2.0 h68bc16d_19 conda-forge + libgomp 15.2.0 he0feb66_19 conda-forge + libidn2 2.3.8 hfac485b_1 conda-forge + liblapack 3.11.0 8_h47877c9_openblas conda-forge + liblzma 5.8.3 hb03c661_0 conda-forge + libmpdec 4.0.0 hb03c661_1 conda-forge + libnghttp2 1.68.1 h877daf1_0 conda-forge + libopenblas 0.3.33 pthreads_h94d23a6_0 conda-forge + libsqlite 3.53.2 hf4e2dac_1 conda-forge + libssh2 1.11.1 hcf80075_0 conda-forge + libstdcxx 15.2.0 h934c35e_19 conda-forge + libunistring 0.9.10 h7f98852_0 conda-forge + libuuid 2.42.2 h5347b49_0 conda-forge + libxcrypt 4.4.36 hd590300_1 conda-forge + libzlib 1.3.2 h25fd6f3_2 conda-forge + lissero 0.4.10 pyhdfd78af_0 bioconda + loguru 0.7.3 pyh707e725_0 conda-forge + ncbi-vdb 3.4.1 hd63eeec_0 bioconda + ncurses 6.6 hdb14827_0 conda-forge + numpy 2.5.0 py314h2b28147_0 conda-forge + openssl 3.6.3 h35e630c_0 conda-forge + pcre2 10.47 haa7fec5_0 conda-forge + perl 5.32.1 7_hd590300_perl5 conda-forge + perl-archive-tar 3.12 pl5321hdfd78af_0 bioconda + perl-carp 1.50 pl5321hd8ed1ab_0 conda-forge + perl-common-sense 3.75 pl5321hd8ed1ab_0 conda-forge + perl-compress-raw-bzip2 2.214 pl5321hda65f42_0 conda-forge + perl-compress-raw-zlib 2.214 pl5321h4dac143_0 conda-forge + perl-encode 3.24 pl5321hb03c661_0 conda-forge + perl-exporter 5.74 pl5321hd8ed1ab_0 conda-forge + perl-exporter-tiny 1.002002 pl5321hd8ed1ab_0 conda-forge + perl-extutils-makemaker 7.70 pl5321hd8ed1ab_0 conda-forge + perl-io-compress 2.216 pl5321h503566f_0 bioconda + perl-io-zlib 1.15 pl5321hdfd78af_1 bioconda + perl-json 4.11 pl5321hdfd78af_0 bioconda + perl-json-xs 4.04 pl5321h9948957_0 bioconda + perl-list-moreutils 0.430 pl5321hdfd78af_0 bioconda + perl-list-moreutils-xs 0.430 pl5321h7b50bb2_5 bioconda + perl-parent 0.243 pl5321hd8ed1ab_0 conda-forge + perl-pathtools 3.75 pl5321hb9d3cd8_2 conda-forge + perl-scalar-list-utils 1.70 pl5321hb03c661_0 conda-forge + perl-storable 3.15 pl5321hb9d3cd8_2 conda-forge + perl-types-serialiser 1.01 pl5321hdfd78af_0 bioconda + procps-ng 4.0.6 h18c060e_0 conda-forge + python 3.14.6 habeac84_100_cp314 conda-forge + python_abi 3.14 8_cp314 conda-forge + readline 8.3 h853b02a_0 conda-forge + tk 8.6.13 noxft_h366c992_103 conda-forge + tzdata 2025c hc9c84f9_1 conda-forge + wget 1.25.0 h653f8fd_1 conda-forge + zlib 1.3.2 h25fd6f3_2 conda-forge + zstd 1.5.7 hb78ec9c_6 conda-forge +``` + +
+ +Basic information on how to use this tool: +- executable: lissero +- help: --help +- version: --version +- description: In silico serogroup prediction for Listeria monocytogenes from assembled genomes + +Additional information: + +LisSero infers the Listeria monocytogenes serogroup from an assembly by detecting the presence or absence of five markers with BLAST, following the Doumith et al. 2004 multiplex-PCR scheme (Differentiation of the major Listeria monocytogenes serovars by multiplex PCR. J Clin Microbiol 42(8):3819-22). The marker database is bundled with the tool, so no external download is required. + +Marker-to-serogroup logic (column order matches the output table): + +| Serogroup | prs | lmo0737 | lmo1118 | ORF2110 | ORF2819 | +|-----------|-----|---------|---------|---------|---------| +| 1/2a, 3a | + | + | - | - | - | +| 1/2b, 3b, 7 | + | - | - | - | + | +| 1/2c, 3c | + | + | + | - | - | +| 4b, 4d, 4e | + | - | - | + | + | + +A match below the default identity or coverage threshold (95% each) is reported as PARTIAL and treated as absent. An assembly with only prs detected is reported as Nontypable, which can indicate serotype 4a or 4c. + +Known behavior: the reference strain EGD-e (GCF_000196035.1, serotype 1/2a) types as 1/2c, 3c in silico. The lmo#### markers are named after EGD-e's own locus tags, so the lmo1118 marker matches EGD-e at full length and the 1/2c logic fires. This reflects the molecular scheme, not a LisSero error. Use a serotype 4b reference such as F2365 (GCF_000008285.1) as a clean control; it types as 4b, 4d, 4e. + +Full documentation: https://github.com/MDU-PHL/LisSero + +## Example Usage + +```bash +# serogroup one or more assemblies; results print as a tab-delimited table +lissero assembly1.fasta assembly2.fasta > lissero.tsv + +# adjust the identity and coverage thresholds (defaults are 95) +lissero --min_id 95 --min_cov 95 assembly.fasta +```