第1章:Vina简介与安装
大家好,我是你们这门课的主讲。这么多年的分子对接做下来,说实话,能让我一直留在工作流里的工具不多,AutoDock Vina 算一个。今天我们就从最基础的开始,聊聊这东西的来历、它能干什么,以及怎么把它装到你的电脑上。
1.1 起源:为什么会有Vina?
在Vina出来之前,AutoDock 4 是主流。我最早接触分子对接那会儿,用的就是 AD4。怎么说呢,功能很强大,但有个问题——跑得太慢了。一个对接任务扔下去,有时候能等上一杯咖啡的时间。而且它的评分函数用的是基于经验的线性回归,参数调起来非常敏感。
后来 Scripps 研究所的 Olson 实验室觉得,嗯,得做个更快、更准、更方便的版本。于是 2010 年,AutoDock Vina 诞生了。它的核心开发者是 Oleg Trott,这位大佬把全局搜索和局部优化的算法做了大幅改进。
Vina 的设计理念很明确:
- 速度至上——能同时利用多核 CPU,计算效率比 AutoDock 4 提升 1-2 个数量级。
- 结果可重复——同样的输入,同样的参数,每次跑出来的结果是确定的。这一点在对接中极其重要。
- 使用简单——一条命令就能跑对接,配置文件也是纯文本格式。
我们做药物设计时经常需要跑大批量的对接,Vina 这种自带多线程的特性,说白了就是为我们省时间用的。我记得有一次跑一个包含 5000 个小分子的虚拟筛选,AD4 得跑两天一夜,换成 Vina 只用了不到 6 个小时。从那以后,我就再也没回去用过 AD4 做常规对接了。
1.2 功能:它能帮你做什么?
Vina 的核心功能,说白了就一个字——"放"。把小分子放到蛋白质的活性口袋里,然后算算这个姿势好不好,能量低不低。
具体来说,Vina 主要做这几件事:
- 分子对接:把配体小分子对接到受体的结合位点上,生成多种可能的结合构象。
- 结合自由能估算:对每个生成的构象打分,分数越低通常代表结合越强。但注意,这个分数不是真正的自由能,只是一个代理值。
- 多构象输出:默认生成 9 个结合模式,你可以调整数量,最多可以输出几十上百个。
- 柔性侧链对接:可以指定受体中个别侧链做柔性处理,模拟"诱导契合"效应。
- 批量虚拟筛选:配合脚本,可以对数千个小分子进行自动化对接。
我个人习惯,在项目初期先用 Vina 做一次快速筛选,把排名靠前、打分低的化合物挑出来,再用更精确的分子动力学模拟去验证。这样效率最高,资源也花得值。
核心要点:Vina 是一个兼顾速度与准确度的开源分子对接工具。它适合做大规模虚拟筛选,但不适合用来做需要极高精度的结合自由能预测(那是另一个层次的事)。
经验之谈:如果你做的是一个全新的靶点,手里没有已知活性配体做验证,我建议你先跑一轮"反向对接"——把一个已知的阳性配体对接到不同的晶体结构上,看看哪个结构能给出最合理的结合模式。这样能提前发现很多问题。
下面这张图展示了 Vina 的核心工作流程,从输入准备到输出分析,每个环节都紧密相连。
你看这个流程,从文件准备到输出结果,其实每一步都有参数可以调。这也是为什么我专门开这门课的原因——很多人装了 Vina 就直接用默认参数跑,结果有时候好,有时候莫名其妙差,却不知道问题出在哪。
1.3 安装方法
Vina 的安装非常简单。我甚至觉得,它可能是所有分子对接软件里最容易装的一个。没有复杂的依赖关系,不需要编译第三方库,下载解压就能用。
1.3.1 Linux 系统安装
Linux 是 Vina 的原生环境,也是我个人最推荐的使用平台。不管是 Ubuntu、CentOS 还是 Debian,方法都差不多。
第一步:下载二进制文件
去官方 GitHub 仓库(这里不贴链接了)下载对应架构的压缩包。大部分时候选 x86_64 版本。
wget https://github.com/example/vina/releases/v1.2.5/vina_1.2.5_linux_x86_64.tar.gz
tar -xzf vina_1.2.5_linux_x86_64.tar.gz
cd vina_1.2.5_linux_x86_64
第二步:设置环境变量
我建议你把可执行文件放到 /usr/local/bin 或者加到 PATH 里,方便全局调用。
sudo cp vina /usr/local/bin/
# 或者添加到 bashrc
echo 'export PATH=$PATH:/path/to/vina_1.2.5_linux_x86_64' >> ~/.bashrc
source ~/.bashrc
第三步:验证安装
vina --version
如果能正常输出版本号,说明装好了。我曾经遇到过一个问题——系统缺少 libstdc++.so.6 的某些依赖,运行时会报错说找不到共享库。这种情况通常安装一下 libstdc++ 或者 gcc 的运行时库就能解决。
1.3.2 Windows 系统安装
很多做药物设计的同行用的是 Windows 环境。Windows 上运行 Vina 有两种方式:直接使用编译好的 exe,或者通过 WSL(Windows Subsystem for Linux)来跑。
方法一:直接使用 exe 文件
下载 Windows 版本的 zip 包,解压后得到 vina.exe。我习惯把它放到一个专门放工具的目录,比如 C:\tools\vina\,然后把路径加到系统环境变量 PATH 里。
加到 PATH 之后,打开 PowerShell 或者 CMD,输入:
vina --version
看到版本号就代表成功了。
方法二:通过 WSL 运行
如果你需要用到 Vina 配套的脚本工具(比如 prepare_receptor4.py 等),我推荐用 WSL。这些脚本原本是为 Linux 写的,虽然也能在 Windows 上跑,但 Linux 环境下处理文件路径和权限更顺畅。
避坑指南:我曾经在 Windows 上遇到过路径分隔符的问题。Vina 的配置文件里需要指定绝对路径,如果你用的是反斜杠 \,一定要记得换成正斜杠 / 或者写双反斜杠 \\,否则可能会找不到文件。
1.3.3 macOS 系统安装
macOS 和 Linux 同属 Unix 系,安装方式几乎一样。推荐用 Homebrew 来安装,方便后续更新和维护。
# 方法一:从 GitHub 下载
wget https://github.com/example/vina/releases/v1.2.5/vina_1.2.5_macos_x86_64.tar.gz
tar -xzf vina_1.2.5_macos_x86_64.tar.gz
sudo cp vina /usr/local/bin/
# 方法二:通过 Homebrew
brew install brewsci/bio/autodock-vina
我个人比较喜欢用 Homebrew 的方式,因为升级的时候一条命令就搞定了。注意如果你的 Mac 是 M1/M2 芯片,要确保下载的是 arm64 版本的二进制文件,或者用 Rosetta 2 转译运行 x86_64 版本。
1.4 安装验证与小测试
装好之后,我建议你跑一个简单的自带的例子,确认所有功能正常工作。
# 进入解压目录下的 example 文件夹
cd example
# 执行对接测试
vina --receptor 1iep_receptor.pdbqt --ligand 1iep_ligand.pdbqt --config conf.txt --log log.txt --out output.pdbqt
跑完后检查 log.txt 文件,里面应该有每个构象的分数和 RMSD 信息。如果你看到类似这样的内容:
mode | affinity | dist from best mode
| (kcal/mol) | rmsd l.b.| rmsd u.b.
-----+------------+----------+----------
1 | -7.5 | 0.000 | 0.000
2 | -7.2 | 1.234 | 2.456
...
恭喜你,Vina 已经正常运行了。
注意:Vina 本身只提供对接功能,不提供文件格式转换工具。你需要额外安装 MGLTools(ADT)或者用 OpenBabel 来把 PDB 文件转换成 pdbqt 格式。这两种工具我在后续章节里会详细讲怎么安装和使用。
| 操作系统 | 推荐安装方式 | 注意事项 |
|---|---|---|
| Linux (Ubuntu/Debian/CentOS) | 直接下载二进制 / 源码编译 | 检查 libc 和 libstdc++ 版本 |
| Windows | exe 文件 + PATH 环境变量 | 注意路径使用正斜杠;建议配合 WSL |
| macOS (Intel / Apple Silicon) | Homebrew 安装 / 下载二进制 | Apple Silicon 需适配 arm64 版本 |