环境搭建:BLAST+ 安装与 PATH 配置

搭建一个能用的 BLAST 环境,其实比你想的简单。说白了,装好软件,配好路径,让它能在任何目录下被调用。我刚开始做生信那会儿,就是因为 PATH 没配好,每次敲 blastn 都要先跑到安装目录下去,特别折腾。

今天我们就解决这件事。

核心目标: 在 Linux、Windows、macOS 三个平台上,装好 BLAST+,配好环境变量,验证安装成功。

下载 BLAST+ 安装包

NCBI 官方提供 BLAST+ 的预编译包。我个人习惯直接去 ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST 下载,省去编译的麻烦。

以 BLAST+ 2.14.0 为例,不同平台对应的包:

平台 文件格式 示例文件
Linux (x86_64) .tar.gz ncbi-blast-2.14.0+-x64-linux.tar.gz
Windows (x64) .win-x64.exe 或 .zip ncbi-blast-2.14.0+-win64.exe
macOS (x86_64) .dmg ncbi-blast-2.14.0+-x64-macosx.dmg
macOS 用户:从 2.13.0 开始已有 Apple Silicon (arm64) 的独立包。确认你的芯片型号再下载。

安装步骤

Linux 系统

我推荐解压到 /usr/local 或 /opt 这类全局目录。权限不够就用 sudo。

cd /usr/local
sudo wget https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ncbi-blast-2.14.0+-x64-linux.tar.gz
sudo tar -zxvf ncbi-blast-2.14.0+-x64-linux.tar.gz
sudo ln -s ncbi-blast-2.14.0+ blast

做完后,/usr/local/blast/bin 下就是所有可执行文件。

Windows 系统

Windows 用户直接双击 .exe 安装包。注意安装路径不要有中文或空格。默认安装路径一般是 C:\Program Files\NCBI\blast-2.14.0+\bin。

我的建议是改到 C:\blast 这样的短路径,后面配环境变量更省心。

macOS 系统

双击 .dmg 文件,把 ncbi-blast-2.14.0+ 拖到 Applications 里就行。

安装完成后 /Applications/ncbi-blast-2.14.0+/bin 就是程序所在目录。

配置 PATH 与环境变量

这一步我吃了不少苦头。刚开始配 PATH 时漏了 bin 子目录,结果 blastn -version 死活找不到命令。你想想看,这个问题排查起来真挺让人抓狂的。

所以,我们先理清概念:

  • PATH:告诉系统去哪里找可执行文件。
  • BLASTDB:告诉 BLAST 去哪里找参考数据库。
  • BLASTMAT:告诉 BLAST 去哪里找替换矩阵(可选)。

Linux / macOS

编辑 ~/.bashrc(bash 用户)或 ~/.zshrc(zsh 用户,macOS 默认 shell)。

export PATH="/usr/local/blast/bin:$PATH"
export BLASTDB="/usr/local/blast/db:$BLASTDB"
export BLASTMAT="/usr/local/blast/data"

保存后执行:

source ~/.bashrc   # 或 source ~/.zshrc

Windows

  1. 右键「此电脑」→ 属性 → 高级系统设置 → 环境变量。
  2. 在「系统变量」中找到 Path,双击,点击「新建」,输入 C:\blast\bin。
  3. 新增系统变量 BLASTDB,值为 C:\blast\db。
  4. 新增系统变量 BLASTMAT,值为 C:\blast\data。
我曾经帮一个同事排查环境问题,发现他把 BLAST 装到了 C:\Users\Zhang san\BLAST\(路径包含空格和中文)。Windows 的 cmd 和 PowerShell 对这种路径处理不一致,偶尔会报错。所以安装路径最好只有英文和下划线。

验证安装

这个命令在任何平台上都能用:

blastn -version

如果返回类似 blastn: 2.14.0+ Package: blast 2.14.0, build Aug 1 2023 12:00:00,说明安装和 PATH 配置都成功了。

我再教你测一下 BLASTDB 变量是否生效。先下载一个极小测试库:

cd /usr/local/blast/db
update_blastdb.pl --decompress refseq_rna.1.tar.gz

然后随便找个 .fasta 文件跑一下:

blastn -db refseq_rna.1 -query test.fa -out results.txt

能跑通,就证明环境完全就绪了。

环境搭建流程总览

BLAST+ 环境搭建流程 Step 1: 下载安装包 选择对应系统版本 Linux tar -zxvf + ln -s Windows 双击 .exe 安装 macOS 拖拽 .app 到 Applications Step 3: 配置 PATH 与 BLASTDB Linux/macOS: export → source | Windows: 图形界面 Step 4: 验证安装 blastn -version
配好环境后,建议把 blastn -version 的结果截图存一份。后面做项目排查时,这是最直接的证据,证明你的 BLAST 环境是好的。

常见问题与解法

我遇到过不少同学卡在这一步,这里把高频问题总结一下:

问题现象 最可能的原因 解决方法
blastn: command not found PATH 未包含 bin 目录 检查 PATH 值,确认指向 bin/,而不是安装根目录
BLAST Database error: No alias or index file... BLASTDB 变量未设置或数据库路径不对 echo $BLASTDB(Win 用 echo %BLASTDB%)确认路径
Windows 下双击安装后还是找不到命令 安装时没勾选「Add to PATH」 手动添加入环境变量,或重新安装并勾选该选项
macOS 提示身份验证问题 安全策略阻挡了未签名的可执行文件 系统偏好设置 → 安全性与隐私 → 允许从以下位置下载 App,选中 App Store 和被认可的开发者
对了,如果你在 Linux 服务器上要用 BLAST,但自己没有 sudo 权限,可以把安装包解压到自己的 ~/local/bin 下,然后在 ~/.bashrc 里只配这一行:
export PATH="$HOME/local/bin:$PATH"
不需要 sudo,完全够用。