-
Notifications
You must be signed in to change notification settings - Fork 125
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
adding bbtools versions 39.06 (#925)
* adding bbtools versions 39.06 * Adding pigz, pbzip2, lbzip2, bzip2, and bgzip back in * adding htslib * adding comment for dependencies
- Loading branch information
Showing
3 changed files
with
115 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
FROM staphb/samtools:1.19 as samtools | ||
FROM staphb/htslib:1.19 as htslib | ||
|
||
# As a reminder | ||
# https://github.com/StaPH-B/docker-builds/pull/925#issuecomment-2010553275 | ||
# bbmap/docs/TableOfContents.txt lists additional dependencies | ||
|
||
FROM ubuntu:jammy as app | ||
|
||
ARG SAMBAMBAVER=1.0.1 | ||
ARG BBTOOLSVER=39.06 | ||
|
||
LABEL base.image="ubuntu:jammy" | ||
LABEL dockerfile.version="1" | ||
LABEL software="BBTools" | ||
LABEL software.version=${BBTOOLSVER} | ||
LABEL description="A set of tools labeled as \"Bestus Bioinformaticus\"" | ||
LABEL website="https://sourceforge.net/projects/bbmap" | ||
LABEL documentation="https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/" | ||
LABEL license="https://jgi.doe.gov/disclaimer/" | ||
LABEL maintainer="Abigail Shockey" | ||
LABEL maintainer.email="[email protected]" | ||
LABEL maintainer2="Padraic Fanning" | ||
LABEL maintainer2.email="faninnpm AT miamioh DOT edu" | ||
|
||
RUN apt-get update && \ | ||
apt-get install --no-install-recommends -y \ | ||
openjdk-8-jre-headless \ | ||
pigz \ | ||
pbzip2 \ | ||
lbzip2 \ | ||
bzip2 \ | ||
wget \ | ||
ca-certificates \ | ||
procps && \ | ||
rm -rf /var/lib/apt/lists/* && \ | ||
apt-get autoclean | ||
|
||
# copy samtools to image | ||
COPY --from=samtools /usr/local/bin/* /usr/local/bin/ | ||
COPY --from=htslib /usr/local/bin/* /usr/local/bin/ | ||
|
||
# download and install sambamba | ||
RUN wget -q https://github.com/biod/sambamba/releases/download/v${SAMBAMBAVER}/sambamba-${SAMBAMBAVER}-linux-amd64-static.gz && \ | ||
gzip -d sambamba-${SAMBAMBAVER}-linux-amd64-static.gz && \ | ||
mv sambamba-${SAMBAMBAVER}-linux-amd64-static /usr/local/bin/sambamba && \ | ||
chmod +x /usr/local/bin/sambamba | ||
|
||
# download and install bbtools | ||
RUN wget -q https://sourceforge.net/projects/bbmap/files/BBMap_${BBTOOLSVER}.tar.gz && \ | ||
tar -xzf BBMap_${BBTOOLSVER}.tar.gz && \ | ||
rm BBMap_${BBTOOLSVER}.tar.gz && \ | ||
mkdir /data | ||
|
||
ENV PATH=/bbmap/:$PATH \ | ||
LC_ALL=C | ||
|
||
CMD for tool in $(ls /bbmap/*sh | cut -f 3 -d "/") ; do $tool -h ; done | ||
|
||
WORKDIR /data | ||
|
||
# testing | ||
FROM app as test | ||
|
||
# testing that '-h' works for all tools | ||
RUN for tool in $(ls /bbmap/*sh | cut -f 3 -d "/") ; do $tool -h ; done | ||
|
||
# get test data and test one thing that uses samtools/sambamba | ||
RUN wget -q https://raw.githubusercontent.com/StaPH-B/docker-builds/master/tests/SARS-CoV-2/SRR13957123.primertrim.sorted.bam && \ | ||
streamsam.sh in='SRR13957123.primertrim.sorted.bam' out='test_SRR13957123.primertrim.sorted.fastq.gz' && \ | ||
test -f test_SRR13957123.primertrim.sorted.fastq.gz |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
## BBTools | ||
|
||
This image implements Brian Bushnell's [BBTools](https://jgi.doe.gov/data-and-tools/software-tools/bbtools/). | ||
|
||
### Includes | ||
- [BBDuk](https://jgi.doe.gov/data-and-tools/software-tools/bbtools/bb-tools-user-guide/bbduk-guide/): `bbduk.sh` (or `bbduk2.sh`) | ||
- [BBMap](https://jgi.doe.gov/data-and-tools/software-tools/bbtools/bb-tools-user-guide/bbmap-guide/): `bbmap.sh` | ||
- [BBMerge](https://jgi.doe.gov/data-and-tools/software-tools/bbtools/bb-tools-user-guide/bbmerge-guide/): `bbmerge.sh` | ||
- [Reformat](https://jgi.doe.gov/data-and-tools/software-tools/bbtools/bb-tools-user-guide/reformat-guide/): `reformat.sh` | ||
|
||
In addition to the BBTools, this container also provides the following pieces of software to enhance the BBTools: | ||
- [Samtools](https://github.com/samtools/samtools) v1.16.1 (although without gnuplot) | ||
- [Sambamba](https://github.com/biod/sambamba) v0.8.2 | ||
|
||
To see all of the executables in this image, run the following command inside a container: | ||
|
||
```text | ||
ls /usr/local/bin | ||
``` | ||
|
||
Documentation is in the `/opt/bbmap/docs/` directory, and in each tool's shell script in `/opt/bbmap/`. | ||
|
||
### Example Usage | ||
(adapted from `/opt/bbmap/pipelines/covid/processCorona.sh`) | ||
|
||
Interleave a pair of FASTQ files for downstream processing: | ||
|
||
```text | ||
reformat.sh \ | ||
in1=${SAMPLE}_R1.fastq.gz \ | ||
in2=${SAMPLE}_R2.fastq.gz \ | ||
out=${SAMPLE}.fastq.gz | ||
``` | ||
Split into SARS-CoV-2 and non-SARS-CoV-2 reads: | ||
|
||
```text | ||
bbduk.sh ow -Xmx1g \ | ||
in=${SAMPLE}.fq.gz \ | ||
ref=REFERENCE.fasta \ | ||
outm=${SAMPLE}_viral.fq.gz \ | ||
outu=${SAMPLE}_nonviral.fq.gz \ | ||
k=25 | ||
``` |