用途:面向本地命令行与本地数据库的序列相似性搜索。用 makeblastdb 建库,再用 blastn、blastp、blastx、tblastn 搜索,输出可被程序解析的表格结果,并可按 NCBI taxid 限定或排除分类单元。它是 CLI/本地数据库技能,与 Biopython 的网页 API、gget 单行命令不同;若用户明确要求“web BLAST”“NCBIWWW”或“不安装任何东西”,应改用其他技能。
主要能力:程序选择上,核酸对核酸用 blastn,蛋白对蛋白用 blastp,核酸翻译后对蛋白用 blastx,蛋白对翻译核酸用 tblastn;makeblastdb 的 -dbtype 取 nucl 或 prot。建库时加 -parse_seqids,之后可用 blastdbcmd -entry <id> 取回序列,也便于 DIAMOND 复用序列 ID;该参数建库后无法追加,只能重建。表格输出以 -outfmt 6 为标准机器可读格式,默认列为 qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore;-outfmt 7 会追加注释行。多线程使用 -num_threads,2.15 起默认 -mt_mode 0 由程序自行划分。分类限定用 -taxids 或 -negative_taxids,需要带 taxonomy 映射的数据库(如 NCBI 预格式化的 nt/nr)。
使用方式:例如 makeblastdb -in proteins.fasta -dbtype prot -parse_seqids -out mydb -title "my proteins";再 blastp -query query.faa -db mydb -outfmt 6 -evalue 1e-5 -out hits.tsv。可用脚本 scripts/parse_blast_tab.py 汇总结果,支持按 bitscore 排序、按查询取最优命中、按 identity/coverage/e-value 过滤。
注意事项:-max_target_seqs 不是“最优 N 条命中”过滤器,而是搜索过程中的保留条数启发式阈值,并列时按数据库顺序打破,设为 1 并不可靠;建议设较大值再按 bitscore 排序取首行。blastn 默认 megablast 适合高度相似序列,跨物种或更发散时用 -task blastn,小于约 30 nt 的引物/sgRNA 用 blastn-short。DIAMOND 的 -outfmt 自定义列不加引号,BLAST+ 需要加引号。报告结果前应确认程序版本实际运行,并说明所用程序、-task、-evalue 和数据库;使用 DIAMOND 时需注明灵敏度级别(--fast、--mid-sensitive、--sensitive、--more-sensitive、--very-sensitive、--ultra-sensitive)。其余平台支持、收费与价格信息暂未提供。