Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

adding usher version 0.6.3 #1014

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Program_Licenses.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 |
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/trimmomatic)](https://hub.docker.com/r/staphb/trimmomatic) | <ul><li>0.38</li><li>0.39</li></ul> | http://www.usadellab.org/cms/?page=trimmomatic </br>https://github.com/usadellab/Trimmomatic |
| [Trycycler](https://hub.docker.com/r/staphb/trycycler/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/trycycler)](https://hub.docker.com/r/staphb/trycycler) | <ul><li>[0.3.1](./trycycler/0.3.1/)</li><li>[0.3.2](./trycycler/0.3.2/)</li><li>[0.3.3](./trycycler/0.3.3/)</li><li>[0.5.0](./trycycler/0.5.0/)</li><li>[0.5.3](./trycycler/0.5.3/)</li><li>[0.5.4](./trycycler/0.5.4/)</li><li>[0.5.5](./trycycler/0.5.5/)</li></ul> | https://github.com/rrwick/Trycycler |
| [Unicycler](https://hub.docker.com/r/staphb/unicycler/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/unicycler)](https://hub.docker.com/r/staphb/unicycler) | <ul><li>0.4.7</li><li>0.4.8</li><li>0.4.9</li><li>0.5.0</li></ul> | https://github.com/rrwick/Unicycler |
| [UShER](https://hub.docker.com/r/staphb/usher/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/usher)](https://hub.docker.com/r/staphb/usher) | <ul><li>[0.6.3](./usher/0.6.3/)</li></ul> | https://github.com/yatisht/usher |
| [VADR](https://hub.docker.com/r/staphb/vadr/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/vadr)](https://hub.docker.com/r/staphb/vadr) | <ul><li>1.1</li><li>1.1.2</li><li>1.1.3</li><li>1.2</li><li>1.2.1</li><li>1.3 & SARS-CoV-2 models 1.3-1</li><li>1.3 & SARS-CoV-2 models 1.3-2</li><li>1.4 & SARS-CoV-2 models 1.3-2</li><li>1.4.1 & SARS-CoV-2 models 1.3-2</li><li>[1.4.2 & SARS-CoV-2 models 1.3-2, MPXV models 1.4.2-1](vadr/1.4.2/)</li><li>[1.5 & SARS-CoV-2 models 1.3-2, MPXV models 1.4.2-1](vadr/1.5/)</li><li>[1.5.1 & SARS-CoV-2 models 1.3-2, MPXV models 1.4.2-1, RSV models 1.5-2](vadr/1.5.1/)</li><li>[1.6.3 & SARS-CoV-2 models 1.3-2, MPXV models 1.4.2-1, RSV models 1.5-2, Influenza v1.6.3-1](vadr/1.6.3/)</li><li>[1.6.3 & SARS-CoV-2 models 1.3-2, MPXV models 1.4.2-1, RSV models 1.5-2, Influenza v1.6.3-1, HAV v1.0.0](vadr/1.6.3-hav/)</li><li>[1.6.3 & SARS-CoV-2 models 1.3-2, MPXV models 1.4.2-1, RSV models 1.5-2, Influenza v1.6.3-2, HAV v1.0.0](vadr/1.6.3-hav-flu2/)</li></ul> | https://github.com/nawrockie/vadr (archived, now redirects to ncbi/vadr) </br>https://github.com/ncbi/vadr |
| [Verkko](https://hub.docker.com/r/staphb/verkko/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/verkko)](https://hub.docker.com/r/staphb/verkko) | <ul><li>[2.0](./verkko/2.0/)</li><li>[2.1](./verkko/2.1/)</li></ul> | https://github.com/marbl/verkko |
| [VIBRANT](https://hub.docker.com/r/staphb/vibrant/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/vibrant)](https://hub.docker.com/r/staphb/vibrant) | <ul><li>1.2.1</li></ul> | https://github.com/AnantharamanLab/VIBRANT |
Expand Down
102 changes: 102 additions & 0 deletions usher/0.6.3/Dockerfile
Original file line number Diff line number Diff line change
@@ -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/
29 changes: 29 additions & 0 deletions usher/0.6.3/README.md
Original file line number Diff line number Diff line change
@@ -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
```
Loading