Windows 下 BLAST 的安装与运行:从下载安装到跑出结果,一步一步来
先说结论
如果你是想在 Windows 系统 里安装并运行 BLAST,最稳妥、最省事的方式是直接使用 NCBI 官方提供的 BLAST+ Windows 版。
它不需要复杂配置,下载后解压即可使用。对于普通用户来说,只要把程序路径加到环境变量里,就能在命令行里直接调用 blastn、blastp、makeblastdb 等工具。
如果你是电脑小白,照着下面做,基本不会出错。
如果你是进阶用户,也可以直接跳到命令行运行部分。
一、BLAST 是什么,适合干什么
BLAST 的全称是 Basic Local Alignment Search Tool,中文常叫“局部比对搜索工具”。
它主要用于做序列比对,比如:
- 用 DNA 序列找相似基因
- 用蛋白序列找同源蛋白
- 给未知序列做注释
- 构建本地数据库进行离线检索
- 在生物信息分析、基因研究、病原检测中非常常用
常见工具包括:
- blastn:DNA 对 DNA
- blastp:蛋白对蛋白
- blastx:DNA 翻译后对蛋白库
- tblastn:蛋白对翻译后的 DNA 库
- tblastx:DNA 翻译后互相比对
- makeblastdb:把序列文件做成本地数据库
二、安装前先准备什么
安装 BLAST 前,建议先确认这几件事:
1. 系统要求
Windows 10、Windows 11 都可以用。
32 位系统基本不再推荐,尽量用 64 位。
2. 磁盘空间
如果只是装程序本体,几十 MB 就够。
但如果你还要下载数据库,空间可能要几 GB 甚至更多,建议预留:
- 程序:100 MB 左右
- 常用数据库:至少 10 GB 起步更稳妥
3. 权限问题
建议下载安装到一个你有完全权限的目录,比如:
D:\blast\C:\bio\blast\
尽量不要装到需要管理员权限才可写的系统目录深处,后面建数据库、写结果文件会方便很多。
三、下载 Windows 版 BLAST+
方法 1:官方下载最新版
进入 NCBI 的 BLAST 下载页面,选择 Windows 64-bit 版本即可。
下载包一般是压缩文件,名字类似:
ncbi-blast-xx.x.x+-win64.zip
下载完成后,你会得到一个压缩包,里面通常包含:
bin目录docdata- 各种可执行文件,如
blastn.exe、blastp.exe、makeblastdb.exe
方法 2:适合新手的本地安装方式
其实 BLAST+ 不一定要“安装”,很多时候就是:
- 下载
- 解压
- 配环境变量
- 直接运行
所以它更像“便携式工具”,不是传统那种点几下安装向导的软件。
四、BLAST 在 Windows 下的安装步骤
下面按最简单的方法讲。
第一步:解压压缩包
把下载好的压缩包解压到一个固定目录,例如:
D:\blast\
解压后建议你检查一下里面是否有:
D:\blast\bin\blastn.exe
D:\blast\bin\blastp.exe
D:\blast\bin\makeblastdb.exe
如果这些文件存在,说明程序已经准备好了。
第二步:把 BLAST 加入环境变量
这一步很关键。
不加环境变量的话,你每次都要进到 bin 目录里才能执行命令,不方便。
Windows 10 / 11 设置方法:
- 右键“此电脑”
- 点击“属性”
- 进入“高级系统设置”
- 点击“环境变量”
- 在“系统变量”或“用户变量”中找到
Path - 点击“编辑”
- 新增一条路径:
D:\blast\bin
- 一路点击“确定”保存
第三步:验证是否安装成功
按下 Win + R,输入:
cmd
回车后打开命令提示符,输入:
blastn -version
如果显示类似信息:
blastn: 2.xx.x+
Package: blast 2.xx.x, build ...
说明安装成功了。
如果提示:
'blastn' 不是内部或外部命令
说明环境变量没配好,或者路径写错了。
五、BLAST 的基本运行流程
BLAST 在本地运行时,一般分成三步:
- 准备序列文件
- 建立数据库
- 执行比对
下面分别说明。
六、准备输入文件
1. 查询序列文件
你要比对的序列,通常保存为 FASTA 格式,比如:
>query1
ATGCGTACGTAGCTAGCTAGCTAGCTA
保存成例如:
query.fasta
2. 数据库序列文件
如果你想做本地 BLAST,需要一个数据库文件,比如:
db.fasta
内容例如:
>seq1
ATGCGTACGTAGCTAGCTAGCTAGCTA
>seq2
ATGCGTACGTAGCTAGTTTTAGCTAAC
七、用 makeblastdb 建立本地数据库
如果你有自己的序列文件,先把它做成 BLAST 数据库。
1. DNA 数据库
例如你有一个 DNA 文件:
db.fasta
执行命令:
makeblastdb -in db.fasta -dbtype nucl -out mydb
参数解释:
-in db.fasta:输入文件-dbtype nucl:核酸数据库-out mydb:数据库输出名前缀
执行完成后,会生成一组数据库文件,比如:
mydb.nhrmydb.ninmydb.nsq
2. 蛋白数据库
如果是蛋白序列文件,命令改成:
makeblastdb -in protein.fasta -dbtype prot -out prot_db
八、运行 blastn 的方法
1. 最基本命令
假设你有:
- 查询文件:
query.fasta - 数据库:
mydb
运行:
blastn -query query.fasta -db mydb -out result.txt
这条命令会把比对结果输出到 result.txt。
2. 指定输出格式
默认输出比较适合人看,但不太方便后续处理。
常用更清晰的格式是 6 号格式:
blastn -query query.fasta -db mydb -out result.txt -outfmt 6
-outfmt 6 的结果是表格型输出,适合 Excel、脚本、统计分析。
3. 常用参数说明
你后面可能会经常用到这些参数:
-evalue 1e-5:设置阈值,越小越严格-num_threads 4:使用 4 个线程,加快速度-max_target_seqs 10:只保留前 10 个结果-perc_identity 90:筛选相似度-qcov_hsp_perc 80:查询序列覆盖度要求
例如:
blastn -query query.fasta -db mydb -out result.txt -outfmt 6 -evalue 1e-5 -num_threads 4 -max_target_seqs 10
九、运行 blastp 的方法
如果你比对的是蛋白序列,使用 blastp。
示例命令:
blastp -query protein_query.fasta -db prot_db -out protein_result.txt -outfmt 6 -evalue 1e-5
前提是你的数据库也是蛋白数据库,并且用 makeblastdb -dbtype prot 建过。
十、一个完整的 Windows 下 BLAST 示例
这里给你一个从零到结果的完整例子。
场景
你有两个文件:
D:\blast_test\query.fastaD:\blast_test\db.fasta
第一步:建立数据库
打开 cmd,输入:
cd /d D:\blast_test
makeblastdb -in db.fasta -dbtype nucl -out mydb
第二步:运行比对
继续输入:
blastn -query query.fasta -db mydb -out result.txt -outfmt 6 -evalue 1e-5 -num_threads 4
第三步:查看结果
打开 result.txt,你会看到类似这样的表格内容:
query1 seq1 99.21 127 1 0 1 127 15 141 1e-60 240
这些列通常表示:
- 查询序列名
- 命中序列名
- 相似度
- 比对长度
- 错配数
- 缺口数
- 查询起止位置
- 目标起止位置
- E-value
- 得分
十一、如何下载 NCBI 官方数据库并使用
如果你想比对公共数据库,而不是自己的文件,可以下载 NCBI 的预置数据库,比如:
nt:核酸数据库nr:蛋白数据库refseq系列数据库
不过要注意:
1. 数据库很大
nt 和 nr 都很大,下载和存储都会占用大量空间。
普通电脑如果只是做学习或小规模分析,不建议一上来就下完整大库。
2. 推荐做法
新手建议先用:
- 自己整理的小数据库
- 单个物种序列库
- 局部基因集
这样更容易上手,也更节省资源。
3. 下载方式
可以使用 NCBI 的 update_blastdb.pl 脚本进行更新,但 Windows 环境下通常还要配合 Perl 环境,步骤会复杂一些。
如果只是想快速跑通流程,优先用本地 fasta 文件建库。
十二、Windows 下常见问题排查
问题 1:提示“不是内部或外部命令”
原因:
BLAST 没加到环境变量,或者路径写错了。
解决方法:
- 确认
blastn.exe的实际位置 - 检查是否把
D:\blast\bin加进 Path - 重新打开 cmd 再试一次
问题 2:双击 exe 没反应
原因:
BLAST 本身主要是命令行工具,不是图形界面软件。
双击通常不会像普通程序那样弹出窗口。
解决方法:
用 cmd 或 PowerShell 运行命令。
问题 3:数据库找不到
原因:
-db 后面写错了,或者数据库文件没生成完整。
解决方法:
检查数据库前缀是否一致,例如:
makeblastdb -in db.fasta -dbtype nucl -out mydb
那后面 blastn 就应该写:
blastn -db mydb
不是写 db.fasta。
问题 4:FASTA 文件格式错误
常见错误:
- 没有以
>开头的序列名 - 序列里混入空格、中文符号
- 文件编码异常
解决方法:
确保格式标准,例如:
>seq1
ATGCGTACGTAGCTAGCTAG
推荐用纯文本编辑器保存,比如 Notepad++,不要用 Word。
问题 5:输出结果太多,看不懂
解决方法:
用 -outfmt 6,再配合筛选参数:
blastn -query query.fasta -db mydb -out result.txt -outfmt 6 -evalue 1e-10 -perc_identity 95 -qcov_hsp_perc 80
这样能明显减少杂乱结果。
十三、图形化工具要不要装
如果你觉得命令行太麻烦,也可以考虑以下方式:
1. 直接用命令行
这是最推荐的方式,稳定、通用、方便批量处理。
2. 用第三方界面工具
有些生物信息软件会封装 BLAST,比如:
- Geneious
- CLC Genomics Workbench
- 本地一些生信分析平台
但大多数最终还是调用 BLAST 命令行,所以学会基础命令很有价值。
十四、BLAST 使用时的实用技巧
1. 先小文件测试
不要一上来就拿大数据库和超长序列跑。
先用一小段测试,确认流程正常后再正式分析。
2. 结果保存到指定目录
比如:
blastn -query query.fasta -db mydb -out D:\blast_test\result.txt -outfmt 6
这样结果更好找。
3. 合理使用线程
如果电脑是 4 核 8 线程,可以试:
-num_threads 4
一般不要把线程开满,避免电脑卡顿。
4. 根据任务选择工具
- DNA 比 DNA:
blastn - 蛋白比蛋白:
blastp - DNA 找蛋白同源:
blastx - 蛋白反查 DNA:
tblastn
选错工具,结果可能完全不对。
十五、给新手的最简操作清单
如果你只想快速跑通,照这个顺序来:
1. 下载 BLAST+
2. 解压到 D:\blast\
3. 把 D:\blast\bin 加到环境变量
4. 打开 cmd,输入:
blastn -version
5. 准备两个 FASTA 文件
6. 建库:
makeblastdb -in db.fasta -dbtype nucl -out mydb
7. 比对:
blastn -query query.fasta -db mydb -out result.txt -outfmt 6
只要这 7 步通了,基本就说明你已经会在 Windows 下用 BLAST 了。
十六、注意事项
1. 不要用 Word 处理 FASTA 文件
Word 会自动加格式,容易把序列弄坏。
建议使用:
- 记事本
- Notepad++
- VS Code
2. 路径尽量不要有中文和空格
虽然有时候也能跑,但容易出现兼容问题。
建议统一使用英文路径,例如:
D:\blast_test\
3. 数据库和查询文件要分清
很多人第一次用 BLAST 最容易把“查询序列”和“数据库”搞反。
记住:
-query:你要拿去比的序列-db:被拿来查找的数据库
4. 先小后大
先跑一个几十条序列的小测试,再处理正式项目文件。
十七、总结
在 Windows 下安装和运行 BLAST 并不复杂,核心就是三件事:
- 下载官方 BLAST+ 并解压
- 配好
bin目录环境变量 - 用
makeblastdb建库,再用blastn或blastp执行比对
如果是新手,最重要的是先把命令跑通,再去研究参数优化。
如果是进阶用户,重点就放在数据库管理、参数筛选和批量自动化上。
只要掌握了 Windows 下 BLAST 的基本流程,后面无论是本地比对、基因注释,还是大规模序列分析,都会轻松很多。

还没有评论,来说两句吧...