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 rasusa version 2.1.0 #1067

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
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
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@ To learn more about the docker pull rate limits and the open source software pro
| [QUAST](https://hub.docker.com/r/staphb/quast/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/quast)](https://hub.docker.com/r/staphb/quast) | <ul><li>5.0.0</li><li>5.0.2</li><li>[5.2.0](./quast/5.2.0)</li><li>[5.2.0-slim](./quast/5.2.0-slim)</li></ul> | https://github.com/ablab/quast |
| [QuickSNP](https://hub.docker.com/r/staphb/quicksnp/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/quicksnp)](https://hub.docker.com/r/staphb/quicksnp) | <ul><li>1.0.1</li></ul> | https://github.com/k-florek/QuickSNP |
| [racon](https://hub.docker.com/r/staphb/racon) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/racon)](https://hub.docker.com/r/staphb/racon)| <ul><li>[1.4.3](./racon/1.4.3/)</li><li>[1.4.20](./racon/1.4.20/)</li><li>[1.5.0](./racon/1.5.0/)</li></ul> | <li> https://github.com/lbcb-sci/racon </li><li> https://github.com/isovic/racon (ARCHIVED)</li> |
| [rasusa](https://hub.docker.com/r/staphb/rasusa/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/rasusa)](https://hub.docker.com/r/staphb/rasusa) | <ul><li>[0.1.0](./rasusa/0.1.0/)</li><li>[0.2.0](./rasusa/0.2.0/)</li><li>[0.3.0](./rasusa/0.3.0/)</li><li>[0.6.0](./rasusa/0.6.0/)</li><li>[0.7.0](./rasusa/0.7.0/)</li><li>[0.8.0](./rasusa/0.8.0/)</li><li>[2.0.0](./rasusa/2.0.0/)</li></ul> | https://github.com/mbhall88/rasusa |
| [rasusa](https://hub.docker.com/r/staphb/rasusa/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/rasusa)](https://hub.docker.com/r/staphb/rasusa) | <ul><li>[0.1.0](./rasusa/0.1.0/)</li><li>[0.2.0](./rasusa/0.2.0/)</li><li>[0.3.0](./rasusa/0.3.0/)</li><li>[0.6.0](./rasusa/0.6.0/)</li><li>[0.7.0](./rasusa/0.7.0/)</li><li>[0.8.0](./rasusa/0.8.0/)</li><li>[2.0.0](./rasusa/2.0.0/)</li><li>[2.1.0](./rasusa/2.1.0/)</li></ul> | https://github.com/mbhall88/rasusa |
| [raven](https://hub.docker.com/r/staphb/raven/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/raven)](https://hub.docker.com/r/staphb/raven) | <ul><li>1.5.1</li><li>1.8.1</li><li>[1.8.3](./raven/1.8.3)</li></ul> | https://github.com/lbcb-sci/raven |
| [RAxML](https://hub.docker.com/r/staphb/raxml/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/raxml)](https://hub.docker.com/r/staphb/raxml) | <ul><li>8.2.12</li><li>[8.2.13](./raxml/8.2.13/)</li></ul> | https://github.com/stamatak/standard-RAxML |
| [RAxML-NG](https://hub.docker.com/r/staphb/raxml-ng/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/raxml-ng)](https://hub.docker.com/r/staphb/raxml-ng) | <ul><li>[1.2.2](./raxml-ng/1.2.2/)</li></ul> | https://github.com/amkozlov/raxml-ng |
Expand Down
54 changes: 54 additions & 0 deletions rasusa/2.1.0/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
FROM ubuntu:jammy as app

ARG RASUSA_VER="2.1.0"

LABEL base.image="ubuntu:jammy"
LABEL dockerfile.version="1"
LABEL software="rasusa"
LABEL software.version="${RASUSA_VER}"
LABEL description="Randomly subsample sequencing reads to a specified coverage."
LABEL website="https://github.com/mbhall88/rasusa"
LABEL license="https://github.com/mbhall88/rasusa/blob/master/LICENSE"
LABEL maintainer="Jake Garfin"
LABEL maintainer.email="[email protected]"
LABEL maintainer2="Curtis Kapsak"
LABEL maintainer2.email="[email protected]"
LABEL maintainer3="Erin Young"
LABEL maintainer3.email="[email protected]"

# install wget and cleanup apt garbage
RUN apt-get update && apt-get -y install --no-install-recommends \
wget \
ca-certificates \
procps && \
apt-get autoclean && \
rm -rf /var/lib/apt/lists/*

# install rasusa
RUN wget -q https://github.com/mbhall88/rasusa/releases/download/${RASUSA_VER}/rasusa-${RASUSA_VER}-x86_64-unknown-linux-musl.tar.gz && \
tar -xvf rasusa-${RASUSA_VER}-x86_64-unknown-linux-musl.tar.gz && \
rm -rf rasusa-${RASUSA_VER}-x86_64-unknown-linux-musl.tar.gz && \
mkdir /data

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any specific reason for using the musl instead of the gnu version? Musl usually tends to be slower. I think gnu may be better since the base image is ubuntu.
Also, rasusa is a single binary that can be extracted directly into /usr/local/bin

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like the gnu version has been available since version 0.7.1, and I just never noticed. I'd call this a legacy issue that I can resolve.

# set PATH and perl locale settings
ENV PATH="${PATH}:/rasusa-${RASUSA_VER}-x86_64-unknown-linux-musl/" \
LC_ALL=C

WORKDIR /data

CMD rasusa --help

FROM app as test

# print version and help options
RUN rasusa --version && rasusa --help

# cannot run rust-based test, since rust isn't installed, but just testing basic command on SC2 reads in our repo
# inputs FASTQs each have 80867 reads
# output FASTQs should have 40434 reads in each (about 1/2 of input)
# -s 1 is for setting a specific seed
# -O is for gzip compression on output FASTQs
RUN wget -q https://github.com/StaPH-B/docker-builds/raw/master/tests/SARS-CoV-2/SRR13957123_1.fastq.gz && \
wget -q https://github.com/StaPH-B/docker-builds/raw/master/tests/SARS-CoV-2/SRR13957123_2.fastq.gz && \
rasusa reads --num 40434 -s 1 -O g -o SRR13957123_downsampled_1.fastq.gz -o SRR13957123_downsampled_2.fastq.gz SRR13957123_1.fastq.gz SRR13957123_2.fastq.gz && \
ls -lh
32 changes: 32 additions & 0 deletions rasusa/2.1.0/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Rasusa container

Main tool : [Rasusa](https://github.com/mbhall88/rasusa)

Additional tools:

- none

Full documentation: https://github.com/mbhall88/rasusa

Randomly subsample sequencing reads to a specified coverage

## Example Usage

```bash
# sars-cov-2 example, paired-end illumina
rasusa reads \
-n 40434 \ # downsample to specific number of reads per FASTQ file
-s 1 \ # set seed
-O g \ # set output file compression format as gzip
-o SRR13957123_downsampled_1.fastq.gz -o SRR13957123_downsampled_2.fastq.gz \
SRR13957123_1.fastq.gz SRR13957123_2.fastq.gz

# Salmonella enterica example, paired-end illumina
rasusa reads \
--coverage 100 \ # use 100X coverage for downsampling
--genome-size 5M \ # downsample to specific coverage based on genome size (5 million bases)
-s 1 \ # set seed
-O g \ # set output file compression format as gzip
-o SRR10992628_downsampled_1.fastq.gz -o SRR10992628_downsampled_2.fastq.gz \
SRR10992628_1.fastq.gz SRR10992628_2.fastq.gz
```