From f07e1a99f48f5b5cec0831e258fc9c225027a377 Mon Sep 17 00:00:00 2001 From: Kincekara Date: Thu, 19 Sep 2024 14:12:58 +0000 Subject: [PATCH] adds blast 2.16.0 --- README.md | 2 +- blast/2.16.0/Dockerfile | 62 +++++++++++++++++++++++++++++++++++++++++ blast/2.16.0/README.md | 60 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 123 insertions(+), 1 deletion(-) create mode 100644 blast/2.16.0/Dockerfile create mode 100644 blast/2.16.0/README.md diff --git a/README.md b/README.md index ecf9c9954..b62db343a 100644 --- a/README.md +++ b/README.md @@ -122,7 +122,7 @@ To learn more about the docker pull rate limits and the open source software pro | [bcftools](https://hub.docker.com/r/staphb/bcftools/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/bcftools)](https://hub.docker.com/r/staphb/bcftools) | | https://github.com/samtools/bcftools | | [bedtools](https://hub.docker.com/r/staphb/bedtools/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/bedtools)](https://hub.docker.com/r/staphb/bedtools) | | https://bedtools.readthedocs.io/en/latest/
https://github.com/arq5x/bedtools2 | | [berrywood-report-env](https://hub.docker.com/r/staphb/berrywood-report-env/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/berrywood-report-env)](https://hub.docker.com/r/staphb/berrywood-report-env) | | none | -| [blast+](https://hub.docker.com/r/staphb/blast/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/blast)](https://hub.docker.com/r/staphb/blast) | | https://www.ncbi.nlm.nih.gov/books/NBK279690/ | +| [blast+](https://hub.docker.com/r/staphb/blast/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/blast)](https://hub.docker.com/r/staphb/blast) | | https://www.ncbi.nlm.nih.gov/books/NBK279690/ | | [bowtie2](https://hub.docker.com/r/staphb/bowtie2/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/bowtie2)](https://hub.docker.com/r/staphb/bowtie2) | | http://bowtie-bio.sourceforge.net/bowtie2/manual.shtml
https://github.com/BenLangmead/bowtie2 | | [Bracken](https://hub.docker.com/r/staphb/bracken/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/bracken)](https://hub.docker.com/r/staphb/bracken) | | https://ccb.jhu.edu/software/bracken/index.shtml?t=manual
https://github.com/jenniferlu717/Bracken | | [BUSCO](https://hub.docker.com/r/staphb/busco/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/busco)](https://hub.docker.com/r/staphb/busco) | | https://busco.ezlab.org/busco_userguide.html
https://gitlab.com/ezlab/busco | diff --git a/blast/2.16.0/Dockerfile b/blast/2.16.0/Dockerfile new file mode 100644 index 000000000..4d022999a --- /dev/null +++ b/blast/2.16.0/Dockerfile @@ -0,0 +1,62 @@ +FROM ubuntu:jammy as app + +ARG BLAST_VER="2.16.0" + +# 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="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="eriny@utah.gov" + +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 -q 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 + +# 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 + +# 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/ + +# making sure PATH is set up +RUN blastn -help + +# getting a genome +RUN mkdir db && \ + wget -q 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 -q 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 diff --git a/blast/2.16.0/README.md b/blast/2.16.0/README.md new file mode 100644 index 000000000..79013d9bf --- /dev/null +++ b/blast/2.16.0/README.md @@ -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.16.0 includes: + +```bash +$ ls /ncbi-blast-2.15.0+/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/)