Skip to content

taffish/blast

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

taf-blast

TAFFISH wrapper for NCBI BLAST+, the standard command-line suite for nucleotide and protein sequence similarity search, local BLAST database construction, and BLAST database inspection.

This repository packages upstream NCBI BLAST+ 2.17.0 as a TAFFISH tool app. It uses NCBI's official precompiled Linux release archives for each target architecture, verifies the archive checksums during the image build, and exposes the BLAST+ commands through a portable Debian 12 container image.

Installation

Install from the public TAFFISH Hub index:

taf update
taf install blast

Install the exact release:

taf install blast 2.17.0-r1

For local testing before the app is published to the public index:

taf install --from .

Usage

Show TAFFISH app help:

taf-blast --help

Show the in-container BLAST+ command summary:

taf-blast

Show upstream BLAST+ help and versions:

taf-blast blastn -help
taf-blast blastp -help
taf-blast blastn -version

Run common nucleotide BLAST workflows:

taf-blast makeblastdb -in subjects.fa -dbtype nucl -out subjects
taf-blast blastn -query query.fa -db subjects -outfmt "6 qseqid sseqid pident length evalue bitscore" -out hits.tsv
taf-blast blastdbcmd -db subjects -entry all -out subjects.exported.fa

Run common protein BLAST workflows:

taf-blast makeblastdb -in proteins.fa -dbtype prot -out proteins
taf-blast blastp -query query_proteins.fa -db proteins -outfmt 6 -out protein_hits.tsv
taf-blast blastx -query transcripts.fa -db proteins -outfmt 6 -out translated_hits.tsv
taf-blast tblastn -query proteins.fa -db transcripts -outfmt 6 -out protein_vs_transcripts.tsv

Because this is a command-mode TAFFISH tool, the first non-option argument is treated as a command available inside the container image. Use explicit command mode for ordinary BLAST+ workflows:

taf-blast blastn -query query.fa -db nt_subset -out hits.txt
taf-blast blastp -query query.aa.fa -db protein_subset -out hits.txt
taf-blast makeblastdb -in reference.fa -dbtype nucl -parse_seqids -out reference
taf-blast update_blastdb.pl --showall pretty

Running taf-blast without a command prints a short command summary instead of choosing one BLAST+ program implicitly. Always name the upstream BLAST+ command before its options:

taf-blast blastn -query query.fa -db subjects -out hits.tsv

Package

name: blast
command: taf-blast
version: 2.17.0-r1
kind: tool
image: ghcr.io/taffish/blast:2.17.0-r1

Container

The container image is built from docker/Dockerfile. It starts from debian:12-slim, downloads the official NCBI BLAST+ 2.17.0 Linux archive for the target architecture, verifies the expected MD5 checksum, and installs the archive under /opt/ncbi-blast.

The image includes the core BLAST+ commands and helper scripts:

blastn
blastp
blastx
tblastn
tblastx
psiblast
rpsblast
rpstblastn
deltablast
makeblastdb
blastdbcmd
blast_formatter
blastdb_aliastool
blastdbcheck
makeprofiledb
makembindex
convert2blastmask
dustmasker
segmasker
windowmasker
update_blastdb.pl
cleanup-blastdb-volumes.py
taf-blast-entrypoint

Runtime dependencies include CA certificates, curl, Perl, Python 3, archive utilities, and the shared libraries required by the official NCBI binaries. The helper script update_blastdb.pl is present for users who need to download NCBI BLAST databases inside the container.

The TAFFISH metadata declares a Docker smoke check:

exist: blastn, blastp, blastx, tblastn, tblastx, makeblastdb, blastdbcmd
exist: blast_formatter, dustmasker, segmasker, windowmasker, psiblast
exist: rpsblast, rpstblastn, deltablast, makeprofiledb, makembindex
exist: convert2blastmask, blastdb_aliastool, blastdbcheck
exist: update_blastdb.pl, cleanup-blastdb-volumes.py, taf-blast-entrypoint
exist: perl, python3, curl
test:  taf-blast-entrypoint displays the command-suite summary
test:  blastn -version contains 2.17.0
test:  representative BLAST+ help paths are available
test:  create a tiny nucleotide database with makeblastdb
test:  query that database with blastn -task blastn-short

During TAFFISH Hub indexing, this smoke metadata verifies that the published image can be inspected, that the upstream command suite is available, and that a minimal local database/search workflow actually runs.

Upstream

Maintainer Notes

Useful checks before publishing:

taf check
taf compile -- blastn -version
taf compile -- blastn -help
taf publish --release --dry-run
docker build --check -f docker/Dockerfile .
docker build -t ghcr.io/taffish/blast:2.17.0-r1 -f docker/Dockerfile .
docker run --rm ghcr.io/taffish/blast:2.17.0-r1 blastn -version
docker run --rm ghcr.io/taffish/blast:2.17.0-r1 makeblastdb -help

The repository wrapper files are licensed under Apache-2.0. NCBI BLAST+ and third-party runtime components are distributed under their own upstream terms.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors