环境搭建:安装 NCBI BLAST+、配置环境变量、测试基本运行
好,环境搭建这块,我打算分三步走:下载安装、配环境变量、跑个测试。别嫌啰嗦,这一步踩坑的人特别多。我自己就见过同事花了两小时装好,结果 `blastn -version` 报找不到命令,后来发现是 PATH 没刷新——这种低级错误最影响心情。
咱们先把核心逻辑理清楚,再动手。下面这张图概括了从下载到验证的完整工作流:
4.1 下载并安装 BLAST+
NCBI 官方在 FTP 上提供了预编译的二进制包。我个人习惯直接从 ftp.ncbi.nlm.nih.gov/blast/executables/blast+/ 下载最新稳定版。为什么要强调“预编译”?因为你在 Windows 下根本不需要自己编译,Mac 和 Linux 也一样——除非你有特殊需求想自己折腾源码。
2.15.0 这类。别下载带 "rc"、"beta" 的,那是测试版,稳定性没法保证。正式生产环境一定选 Latest Release。
Linux / macOS 用户,打开终端,用 wget 或者 curl 拉包:
cd /usr/local # 或者你自己喜欢的安装目录
wget https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ncbi-blast-2.15.0+-x64-linux.tar.gz
Windows 用户,直接去那个 FTP 地址下载 .win64.exe 安装包,或者用 .zip 手动解压。我这里多说一句:Windows 下我强烈建议把 BLAST+ 装到 C:\Program Files\NCBI\blast-2.15.0+ 这样的路径,路径里不要有中文或空格,后续配置环境变量省心很多。
解压命令很简单:
tar -zxf ncbi-blast-*.tar.gz
rm ncbi-blast-*.tar.gz # 可选,删掉压缩包
解压后你会得到一个文件夹,比如 ncbi-blast-2.15.0+。里面 bin/ 子目录就是所有可执行文件的老家。好,接下来才是关键——环境变量。
4.2 配置环境变量
说白了,环境变量就是告诉操作系统:“哎,BLAST 命令放在这个位置,以后你不管在哪个目录敲 blastn,都能找到它。”
Linux / macOS:如果你用的是 bash,编辑 ~/.bashrc 或 ~/.bash_profile(zsh 的话编辑 ~/.zshrc)。我个人习惯加在末尾:
export PATH="/usr/local/ncbi-blast-2.15.0+/bin:$PATH"
然后使其生效:
source ~/.bashrc # 或 source ~/.zshrc
Windows:打开“系统属性” → “高级” → “环境变量”。在“系统变量”中找到 Path,双击,点“新建”,粘贴你的 BLAST bin 目录,比如 C:\Program Files\NCBI\blast-2.15.0+\bin。点确定,然后重启终端(或者命令行)——这一步很容易忘。我曾经遇到过学生配完环境变量,没关掉旧的 CMD 窗口,测试一直失败,急得直冒汗。
\,但如果在 Git Bash 或 WSL 里操作,要用正斜杠 /。另外别把 bin\ 写成 bin 结尾,很多人多写了一个斜杠导致命令找不到。
4.3 测试基本运行
环境配好以后,第一件事就是验证一下。打开终端或命令行,敲:
blastn -version
如果输出类似下面的内容,说明安装成功:
blastn: 2.15.0+
Package: blast 2.15.0, build Aug 15 2024 10:00:00
要是提示“找不到命令”,先检查你是不是忘了 source 或者重启终端。再用 which blastn(Windows 用 where blastn)看它在不在 PATH 里。要是没有,回头检查路径写对没。
blastn -version— 看版本是否匹配makeblastdb -version— 数据库构建工具是否可用blastx -h | head -5— 显示帮助信息,顺便确认其他工具也在 bin 里
我再安利一个小技巧:将 BLAST 的数据目录(比如 ~/blastdb/)加到环境变量,这样你后续运行 BLAST 时就不用每次输完整路径。在 .bashrc 里加一行:
export BLASTDB=/home/yourname/blastdb
然后运行 update_blastdb.pl --list 就可以看到官方预置的数据库列表。不过这个工具需要 Perl 环境,Windows 下需要额外配置。初学阶段直接用下载好的数据库就行,别急着折腾这个。
4.4 常见安装问题速查表
| 症状 | 原因 | 快速解决 |
|---|---|---|
command not found |
PATH 未配置或未生效 | 检查 ~/.bashrc,或 Windows 系统变量;source 或重启终端 |
error while loading shared libraries |
Linux 缺少动态链接库 | sudo apt install libgomp1 或对应发行版的包 |
启动报 permission denied |
解压位置没可执行权限 | chmod +x bin/*;或避免安装在 /root 等受限目录 |
Windows 下 blastn.exe 闪退 |
缺少 VC++ 运行库 | 安装 Visual C++ Redistributable 2015-2022 |
更新 .bashrc 后新终端无效 |
shell 启动文件顺序问题 | 试试 exec $SHELL 重新登录,或直接 bash 打开子 shell |
GLIBC 2.14 not found。折腾了半天发现是系统 glibc 版本太老。建议优先选择预编译包时看清最低系统要求,或者直接用 Conda 安装:conda install -c bioconda blast——省心太多。
好了,到这里你的 BLAST 应该已经可以在命令行里跑了。下一件事就是准备数据库,我们下章接着聊。但今天你至少可以确认一件事:当你敲 blastn -version 看到版本号的时候,说明你已经跨越了“入门”与“放弃”之间的第一道坎。