diff --git a/README.md b/README.md index b75911fce..b419e597f 100644 --- a/README.md +++ b/README.md @@ -217,7 +217,7 @@ To learn more about the docker pull rate limits and the open source software pro | [PlasmidFinder](https://hub.docker.com/r/staphb/plasmidfinder)
[![docker pulls](https://badgen.net/docker/pulls/staphb/plasmidfinder)](https://hub.docker.com/r/staphb/plasmidfinder) | | https://bitbucket.org/genomicepidemiology/plasmidfinder/src/master/ | | [PlasmidSeeker](https://hub.docker.com/r/staphb/plasmidseeker)
[![docker pulls](https://badgen.net/docker/pulls/staphb/plasmidseeker)](https://hub.docker.com/r/staphb/plasmidseeker) | | https://github.com/bioinfo-ut/PlasmidSeeker | | [pmga](https://hub.docker.com/r/staphb/pmga/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/pmga)](https://hub.docker.com/r/staphb/pmga) | | https://github.com/rpetit3/pmga | -| [polypolish](https://hub.docker.com/r/staphb/polypolish/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/polypolish)](https://hub.docker.com/r/staphb/polypolish) | | https://github.com/rrwick/Polypolish | +| [polypolish](https://hub.docker.com/r/staphb/polypolish/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/polypolish)](https://hub.docker.com/r/staphb/polypolish) | | https://github.com/rrwick/Polypolish | | [PopPUNK](https://hub.docker.com/r/staphb/poppunk/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/poppunk)](https://hub.docker.com/r/staphb/poppunk) | | https://github.com/bacpop/PopPUNK | | [Porechop](https://hub.docker.com/r/staphb/porechop/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/porechop)](https://hub.docker.com/r/staphb/porechop) | | https://github.com/rrwick/Porechop | | [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 | diff --git a/polypolish/0.6.0/Dockerfile b/polypolish/0.6.0/Dockerfile new file mode 100644 index 000000000..88d67b63b --- /dev/null +++ b/polypolish/0.6.0/Dockerfile @@ -0,0 +1,49 @@ +ARG POLYPOLISH_VER="0.6.0" + +FROM rust:1.75 as builder + +ARG POLYPOLISH_VER + +RUN wget -q https://github.com/rrwick/Polypolish/archive/refs/tags/v${POLYPOLISH_VER}.tar.gz && \ + tar -vxf v${POLYPOLISH_VER}.tar.gz && \ + cd /Polypolish-${POLYPOLISH_VER} && \ + cargo build --release + +FROM ubuntu:jammy as app + +ARG POLYPOLISH_VER + +LABEL base.image="ubuntu:jammy" +LABEL dockerfile.version="1" +LABEL software="polypolish" +LABEL software.version="${POLYPOLISH_VER}" +LABEL description="Polypolish is a tool for polishing genome assemblies with short reads." +LABEL website="https://github.com/rrwick/Polypolish" +LABEL license="https://github.com/rrwick/Polypolish/blob/main/LICENSE" +LABEL maintainer="Erin Young" +LABEL maintainer.email="eriny@utah.gov" + +RUN apt-get update && apt-get install -y --no-install-recommends \ + wget \ + ca-certificates \ + procps \ + unzip \ + python3 && \ + apt-get autoclean && rm -rf /var/lib/apt/lists/* + +COPY --from=builder /Polypolish-${POLYPOLISH_VER}/target/release/polypolish /usr/local/bin/polypolish + +ENV LC_ALL=C + +CMD polypolish --help + +WORKDIR /data + +FROM app as test + +RUN polypolish --help && polypolish --version + +# using "toy" data +RUN wget -q https://raw.githubusercontent.com/wiki/rrwick/Polypolish/files/toy_example/assembly.fasta && \ + wget -q https://raw.githubusercontent.com/wiki/rrwick/Polypolish/files/toy_example/alignments.sam && \ + polypolish polish assembly.fasta alignments.sam > polished.fasta diff --git a/polypolish/0.6.0/README.md b/polypolish/0.6.0/README.md new file mode 100644 index 000000000..f5e33dbb6 --- /dev/null +++ b/polypolish/0.6.0/README.md @@ -0,0 +1,28 @@ +# polypolish container + +Main tool : [polypolish](https://github.com/rrwick/Polypolish/wiki/How-to-run-Polypolish) + +Full documentation: [https://github.com/rrwick/Polypolish/wiki](https://github.com/rrwick/Polypolish/wiki) + +Polypolish "polishes" consensus files created during assembly of long reads with Illumina short reads. Polypolish is a little different than other polishing tools in that paired-end reads need to be aligned separatly to generate two sam files. + +## Example Usage + +Align reads to the draft sequence in a different container. The example shows bwa, as this is in the Polypolish wiki, but bbamp, minimap2 or any other similar software can perform a similar step that may be better suited for your use-case. + +```bash +bwa index draft.fasta +bwa mem -t 16 -a draft.fasta reads_1.fastq.gz > alignments_1.sam +bwa mem -t 16 -a draft.fasta reads_2.fastq.gz > alignments_2.sam +``` + +Once the sam files are generated, they can be used with polypolish in this container. + +```bash +# paired end +polypolish filter --in1 alignments_1.sam --in2 alignments_2.sam --out1 filtered_1.sam --out2 filtered_2.sam +polypolish polish draft.fasta filtered_1.sam filtered_2.sam > polished.fasta + +# single end +polypolish polish draft.fasta input.sam > polished.fasta +```