From 908dfb03048f8c7807984068e5ca46c57cab8267 Mon Sep 17 00:00:00 2001 From: Erin Young Date: Fri, 28 Jun 2024 22:17:09 +0000 Subject: [PATCH] adding usher version 0.6.3 --- Program_Licenses.md | 1 + README.md | 1 + usher/0.6.3/Dockerfile | 102 +++++++++++++++++++++++++++++++++++++++++ usher/0.6.3/README.md | 29 ++++++++++++ 4 files changed, 133 insertions(+) create mode 100644 usher/0.6.3/Dockerfile create mode 100644 usher/0.6.3/README.md diff --git a/Program_Licenses.md b/Program_Licenses.md index 907dc9f11..f90a5c771 100644 --- a/Program_Licenses.md +++ b/Program_Licenses.md @@ -180,6 +180,7 @@ The licenses of the open-source software that is contained in these Docker image | Trimmomatic | GNU GPLv3 | https://github.com/usadellab/Trimmomatic/blob/main/distSrc/LICENSE | | Trycycler | GNU GPLv3 | https://github.com/rrwick/Trycycler/blob/master/LICENSE | | Unicycler | GNU GPLv3 | https://github.com/rrwick/Unicycler/blob/master/LICENSE | +| UShER | MIT | https://github.com/yatisht/usher/blob/master/LICENSE | | VADR | Public Domain | https://github.com/nawrockie/vadr/blob/master/LICENSE | | Verkko | Public Domain | https://github.com/marbl/verkko/blob/master/README.licenses | | VIBRANT | GNU GPLv3 | https://github.com/AnantharamanLab/VIBRANT/blob/master/LICENSE | diff --git a/README.md b/README.md index b007f3d9b..04908c604 100644 --- a/README.md +++ b/README.md @@ -287,6 +287,7 @@ To learn more about the docker pull rate limits and the open source software pro | [Trimmomatic](https://hub.docker.com/r/staphb/trimmomatic/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/trimmomatic)](https://hub.docker.com/r/staphb/trimmomatic) | | http://www.usadellab.org/cms/?page=trimmomatic
https://github.com/usadellab/Trimmomatic | | [Trycycler](https://hub.docker.com/r/staphb/trycycler/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/trycycler)](https://hub.docker.com/r/staphb/trycycler) | | https://github.com/rrwick/Trycycler | | [Unicycler](https://hub.docker.com/r/staphb/unicycler/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/unicycler)](https://hub.docker.com/r/staphb/unicycler) | | https://github.com/rrwick/Unicycler | +| [UShER](https://hub.docker.com/r/staphb/usher/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/usher)](https://hub.docker.com/r/staphb/usher) | | https://github.com/yatisht/usher | | [VADR](https://hub.docker.com/r/staphb/vadr/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/vadr)](https://hub.docker.com/r/staphb/vadr) | | https://github.com/nawrockie/vadr (archived, now redirects to ncbi/vadr)
https://github.com/ncbi/vadr | | [Verkko](https://hub.docker.com/r/staphb/verkko/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/verkko)](https://hub.docker.com/r/staphb/verkko) | | https://github.com/marbl/verkko | | [VIBRANT](https://hub.docker.com/r/staphb/vibrant/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/vibrant)](https://hub.docker.com/r/staphb/vibrant) | | https://github.com/AnantharamanLab/VIBRANT | diff --git a/usher/0.6.3/Dockerfile b/usher/0.6.3/Dockerfile new file mode 100644 index 000000000..041af6927 --- /dev/null +++ b/usher/0.6.3/Dockerfile @@ -0,0 +1,102 @@ +ARG USHER_VER="0.6.3" + +FROM ubuntu:jammy as builder + +ARG USHER_VER + +RUN apt-get update && apt-get install -y --no-install-recommends \ + wget \ + ca-certificates \ + procps \ + python3 \ + mafft \ + libisal-dev \ + libtbb-dev \ + python3-pip \ + sudo \ + cmake \ + make \ + gcc \ + g++ \ + protobuf-compiler \ + libprotobuf-dev \ + openmpi-bin \ + openmpi-common \ + libopenmpi-dev && \ + apt-get autoclean && rm -rf /var/lib/apt/lists/* + +RUN wget -q https://github.com/yatisht/usher/archive/refs/tags/v${USHER_VER}.tar.gz && \ + tar -xvf v${USHER_VER}.tar.gz && \ + rm v${USHER_VER}.tar.gz && \ + cd /usher-${USHER_VER} && \ + ./install/installUbuntu.sh + +FROM ubuntu:jammy as app + +ARG USHER_VER + +# 'LABEL' instructions tag the image with metadata that might be important to the user +LABEL base.image="ubuntu:jammy" +LABEL dockerfile.version="1" +LABEL software="UShER" +LABEL software.version="${USHER_VER}" +LABEL description="Ultrafast Sample Placement on Existing Trees." +LABEL website="https://github.com/yatisht/usher" +LABEL license="https://github.com/yatisht/usher/blob/master/LICENSE" +LABEL maintainer="Erin Young" +LABEL maintainer.email="eriny@utah.gov" + +# 'RUN' executes code during the build +# Install dependencies via apt-get or yum if using a centos or fedora base +RUN apt-get update && apt-get install -y --no-install-recommends \ + wget \ + ca-certificates \ + procps \ + python3 \ + mafft \ + libisal-dev \ + libtbb-dev \ + python3-pip \ + libboost-all-dev \ + libtbb-dev && \ + apt-get autoclean && rm -rf /var/lib/apt/lists/* + +COPY --from=builder /usher-${USHER_VER}/build/* /usher/build/ +COPY --from=builder /usher-${USHER_VER}/scripts/* /usher/scripts/ + +RUN wget -q http://hgdownload.soe.ucsc.edu/admin/exe/linux.x86_64/faSomeRecords -O /usr/local/bin/faSomeRecords && \ + wget -q http://hgdownload.soe.ucsc.edu/admin/exe/linux.x86_64/faSize -O /usr/local/bin/faSize && \ + wget -q http://hgdownload.soe.ucsc.edu/admin/exe/linux.x86_64/faToVcf -O /usr/local/bin/faToVcf && \ + chmod 775 /usr/local/bin/faSize /usr/local/bin/faSomeRecords /usr/local/bin/faToVcf + +ENV PATH="/usher/build/:/usher/scripts/:$PATH" \ + LC_ALL=C \ + LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH + +RUN ls /usr/lib/x86_64-linux-gnu && ln -s /usr/lib/x86_64-linux-gnu/libtbb_preview.so.12 /usr/lib/x86_64-linux-gnu/libtbb_preview.so.2 + +CMD [ "usher", "--help" ] + +WORKDIR /data + +FROM app as test + +ARG USHER_VER + +WORKDIR /usher-${USHER_VER} + +RUN usher --help && \ + usher --version + +# https://usher-wiki.readthedocs.io/en/latest/UShER.html +RUN usher -t test/global_phylo.nh -v test/global_samples.vcf -o global_assignments.pb -d output/ + +RUN usher -t test/global_phylo.nh -v test/global_samples.vcf -o global_assignments.pb -c -d output2/ + +RUN usher -t test/global_phylo.nh -v test/global_samples.vcf -o global_assignments.pb -c -u -d output3/ + +RUN usher -i global_assignments.pb -v test/new_samples.vcf -u -d output4/ + +RUN usher -i global_assignments.pb -v test/new_samples.vcf -u -k 20 -d output5/ + +RUN usher -i global_assignments.pb -v test/new_samples.vcf -u -o new_global_assignments.pb -d output6/ \ No newline at end of file diff --git a/usher/0.6.3/README.md b/usher/0.6.3/README.md new file mode 100644 index 000000000..14800e1a8 --- /dev/null +++ b/usher/0.6.3/README.md @@ -0,0 +1,29 @@ +# UShER container + +Main tool: [UShER](https://usher-wiki.readthedocs.io/en/latest/) + +Code repository: https://github.com/yatisht/usher + +Basic information on how to use this tool: +- executable: usher +- help: --help +- version: NA +- description: | +> UShER is a program for rapid, accurate placement of samples to existing phylogenies. + +Full documentation: https://usher-wiki.readthedocs.io/en/latest/ + +Also contains (same version): +- matUtils +- matOptimize +- ripples + +## Example Usage + +```bash +# create mutation annotated tree object +usher --tree global_phylo.nh --vcf global_samples.vcf --collapse-tree --save-mutation-annotated-tree global_phylo.pb + +# place samples onto tree +usher --vcf new_samples.vcf --load-mutation-annotated-tree global_phylo.pb --write-uncondensed-final-tree +```