Skip to content

Commit

Permalink
Merge pull request #770 from Haikelnb/master
Browse files Browse the repository at this point in the history
Update blast+ to version 2.14.1
  • Loading branch information
erinyoung authored Oct 25, 2023
2 parents 4e7064b + dcbd827 commit ec8becd
Show file tree
Hide file tree
Showing 3 changed files with 126 additions and 1 deletion.
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ To learn more about the docker pull rate limits and the open source software pro
| [bcftools](https://hub.docker.com/r/staphb/bcftools/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/bcftools)](https://hub.docker.com/r/staphb/bcftools) | <ul><li>1.10.2</li><li>1.11</li><li>1.12</li><li>1.13</li><li>1.14</li><li>1.15</li><li>1.16</li><li>1.17</li><li>[1.18](bcftools/1.18/)</li></ul> | https://github.com/samtools/bcftools |
| [bedtools](https://hub.docker.com/r/staphb/bedtools/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/bedtools)](https://hub.docker.com/r/staphb/bedtools) | <ul><li>2.29.2</li><li>2.30.0</li><li>[2.31.0](bedtools/2.31.0/)</li></ul> | https://bedtools.readthedocs.io/en/latest/ <br/>https://github.com/arq5x/bedtools2 |
| [berrywood-report-env](https://hub.docker.com/r/staphb/berrywood-report-env/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/berrywood-report-env)](https://hub.docker.com/r/staphb/berrywood-report-env) | <ul><li>1.0</li></ul> | none |
| [blast+](https://hub.docker.com/r/staphb/blast/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/blast)](https://hub.docker.com/r/staphb/blast) | <ul><li>2.13.0</li><li>[2.14.0](blast/2.14.0/)</li></ul> | https://www.ncbi.nlm.nih.gov/books/NBK279690/ |
| [blast+](https://hub.docker.com/r/staphb/blast/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/blast)](https://hub.docker.com/r/staphb/blast) | <ul><li>2.13.0</li><li>[2.14.0](blast/2.14.0/)</li><li>[2.14.1](blast/2.14.1/)</li></ul> | https://www.ncbi.nlm.nih.gov/books/NBK279690/ |
| [bowtie2](https://hub.docker.com/r/staphb/bowtie2/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/bowtie2)](https://hub.docker.com/r/staphb/bowtie2) | <ul><li>2.4.4</li><li>2.4.5</li><li>2.5.1</li></ul> | http://bowtie-bio.sourceforge.net/bowtie2/manual.shtml <br/>https://github.com/BenLangmead/bowtie2 |
| [BUSCO](https://hub.docker.com/r/staphb/busco/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/busco)](https://hub.docker.com/r/staphb/busco) | <ul><li>5.4.7</li></ul> | https://busco.ezlab.org/busco_userguide.html <br/>https://gitlab.com/ezlab/busco |
| [BWA](https://hub.docker.com/r/staphb/bwa) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/bwa)](https://hub.docker.com/r/staphb/bwa) | <ul><li>0.7.17</li></ul> | https://github.com/lh3/bwa |
Expand Down Expand Up @@ -313,4 +313,6 @@ Each Dockerfile lists the author(s)/maintainer(s) as a metadata `LABEL`, but the
* [@cimendes](https://github.com/cimendes)
* [@golden75](https://github.com/golden75)
* [@Kincekara](https://github.com/Kincekara)
* [@Haikelnb](https://github.com/Haikelnb)
* [@kprus](https://github.com/kprus)

63 changes: 63 additions & 0 deletions blast/2.14.1/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
FROM ubuntu:focal as app

ARG BLAST_VER="2.14.1"

# LABEL instructions tag the image with metadata that might be important to the user
LABEL base.image="ubuntu:focal"
LABEL dockerfile.version="1"
LABEL software="blast+"
LABEL software.version=$BLAST_VER
LABEL description="Finds matches in sequencing reads"
LABEL website="https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastDocs&DOC_TYPE=Download"
LABEL license="https://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/lxr/source/scripts/projects/blast/LICENSE"
LABEL maintainer="Erin Young"
LABEL maintainer.email="[email protected]"

RUN apt-get update && apt-get install -y --no-install-recommends \
wget \
ca-certificates \
libgomp1 && \
apt-get autoclean && rm -rf /var/lib/apt/lists/*

# Install and/or setup more things. Make /data for use as a working dir
RUN wget https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/${BLAST_VER}/ncbi-blast-${BLAST_VER}+-x64-linux.tar.gz && \
tar -xzf ncbi-blast-${BLAST_VER}+-x64-linux.tar.gz && \
rm ncbi-blast-${BLAST_VER}+-x64-linux.tar.gz && \
mkdir /data

# ENV instructions set environment variables that persist from the build into the resulting image
# Use for e.g. $PATH and locale settings for compatibility with Singularity
ENV PATH="/ncbi-blast-${BLAST_VER}+/bin:$PATH" \
LC_ALL=C

# WORKDIR sets working directory
WORKDIR /data

# default command is to pull up help options for virulencefinder
# yes, there are more tools than blastn, but it's likely the most common one used
CMD [ "blastn", "-help" ]



# A second FROM insruction creates a new stage
# We use `test` for the test image
FROM app as test

# getting all the exectubles in bin
RUN ls /ncbi-blast-*/bin/

# getting a genome
RUN mkdir db && \
wget https://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/005/845/GCF_000005845.2_ASM584v2/GCF_000005845.2_ASM584v2_genomic.fna.gz -P db && \
gunzip db/GCF_000005845.2_ASM584v2_genomic.fna.gz && \
makeblastdb -dbtype nucl -in db/GCF_000005845.2_ASM584v2_genomic.fna

# getting a list of genes
RUN wget https://raw.githubusercontent.com/rrwick/Unicycler/main/unicycler/gene_data/dnaA.fasta

# getting some blast results
RUN tblastn -query dnaA.fasta \
-db db/GCF_000005845.2_ASM584v2_genomic.fna \
-outfmt '6' \
-out blast_hits.txt && \
head blast_hits.txt
60 changes: 60 additions & 0 deletions blast/2.14.1/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# blast+ container

Main tools:

- [blast+](https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastDocs&DOC_TYPE=Download)

This is meant to assist in local blast searches. No blast databases will be maintained in this container. Be sure to mount your relevant Volumes with `--volumes` or `-v` when using the command line.

blast+ is actually a suite of tools. blast+ v.2.14.1 includes:

```bash
$ ls /ncbi-blast-2.14.1+/bin
blast_formatter
blast_formatter_vdb
blast_vdb_cmd
blastdb_aliastool
blastdbcheck
blastdbcmd
blastn
blastn_vdb
blastp
blastx
cleanup-blastdb-volumes.py
convert2blastmask
deltablast
dustmasker
get_species_taxids.sh
legacy_blast.pl
makeblastdb
makembindex
makeprofiledb
psiblast
rpsblast
rpstblastn
segmasker
tblastn
tblastn_vdb
tblastx
update_blastdb.pl
windowmasker
```

Currently not supported, but could be:

```bash
get_species_taxids.sh # requires E-direct
update_blastdb.pl # requires perl
```

## Example Usage

```bash
# making a blast database
makeblastdb -dbtype nucl -in fasta.fa

# query
tblastn -query query.fasta -db fasta.fa -outfmt '6' -out blast_hits.txt
```

More documentation can be found at [https://www.ncbi.nlm.nih.gov/books/NBK569856/](https://www.ncbi.nlm.nih.gov/books/NBK569856/) and [https://www.ncbi.nlm.nih.gov/books/NBK279690/](https://www.ncbi.nlm.nih.gov/books/NBK279690/)

0 comments on commit ec8becd

Please sign in to comment.