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] # The official NCBI BLAST+ manual documents ~/.ncbirc as the HOME-directory # configuration file on Unix-like systems; Windows uses ncbi.ini in the # system directory, which is outside a user-home dotfile scope. # https://www.ncbi.nlm.nih.gov/sites/books/NBK569858/ 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"]