id = "blast"
name = "BLAST+"
homepage = "https://blast.ncbi.nlm.nih.gov/"
description = "Basic Local Alignment Search Tool"
executables = ["blastn", "blastp", "blastx", "tblastn", "tblastx", "makeblastdb"]
[dotfiles]
paths = ["~/.ncbirc"]
secret = []
[commands]
format = 1
label = "BLAST+ blastn"
description = "Search a nucleotide query file against a BLAST database with blastn. Only the flags shown in NCBI's BLAST+ documentation examples are offered; the other BLAST+ programs and tuning options are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = false, short_bundles = false }
[[commands.source]]
id = "docs"
kind = "help"
url = "https://raw.githubusercontent.com/ncbi/blast_plus_docs/master/README.md"
revision = "2026-10-27"
evidence = """
blastn -query /blast/queries/query1.fa -db nt -num_threads 16 \\
-out /blast/results/blastn.query1.denovo16s.out
Please note that running the `blastn` binary without specifying its `-task` parameter invokes the MegaBLAST algorithm.
"""
[[commands.field]]
id = "query"
label = "Query file"
type = "path"
option = ["-query"]
path = { kind = "file", role = "input", must_exist = true }
sources = ["docs"]
[[commands.field]]
id = "db"
label = "Database"
description = "BLAST database name, for example nt."
type = "string"
option = ["-db"]
sources = ["docs"]
[[commands.field]]
id = "out"
label = "Output file"
type = "path"
option = ["-out"]
path = { kind = "file", role = "output" }
effect = "overwrite"
sources = ["docs"]
[[commands.field]]
id = "num_threads"
label = "Threads"
type = "integer"
option = ["-num_threads"]
sources = ["docs"]
[[commands.field]]
id = "task"
label = "Task"
description = "Without -task, blastn runs the MegaBLAST algorithm."
type = "string"
option = ["-task"]
sources = ["docs"]
[[commands.task]]
id = "search"
label = "Search a database"
fields = ["query", "db", "out", "num_threads", "task"]
required = ["query", "db"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["query", "db", "out", "num_threads", "task"]