第2章:系统环境准备——你的机器能跑Vina吗?
说实话,很多人刚开始接触分子对接,上来就装软件,装完跑不起来才回头查系统问题。我个人习惯是先花十分钟把环境理清楚,后面能省下半天抓狂的时间。Autodock Vina本身不算吃资源,但有些坑提前知道,总比撞上去好。
这一章我们不聊理论,就看实打实的:你的电脑到底能不能跑Vina?不同操作系统要注意什么?有没有什么奇奇怪怪的硬件限制?
2.1 支持的操作系统
Vina是个跨平台工具,我这些年用过它在Linux服务器、Windows笔记本甚至macOS的老古董上跑过。官方支持三个主要平台:
| 操作系统 | 官方支持版本 | 我个人实测版本 |
|---|---|---|
| Linux | Ubuntu 18.04+, CentOS 7+, RHEL 8+ | Ubuntu 20.04 / 22.04, Debian 11 |
| Windows | Windows 10 (64-bit), Windows 11 | Windows 10 21H2, Windows 11 22H2 |
| macOS | macOS 10.15+ (Catalina+) | macOS 11 Big Sur, macOS 12 Monterey |
2.2 Linux环境准备
我个人觉得Linux是跑Vina最舒服的平台。没有图形界面开销,命令行干净利落,批量对接脚本写起来也顺手。你只需要确认几件事:
- 内核版本 —— 3.10以上基本稳。
- glibc版本 —— 2.23以上比较保险。
- Python(可选) —— 如果你之后要用脚本处理结果,建议Python 3.8+。
怎么查?两条命令搞定:
# 查内核
uname -r
# 查glibc版本
ldd --version | head -1
我见过一个项目,对方在CentOS 7.2上装Vina,死活跑不起来。查了半天,是glibc 2.17太老,预编译的二进制文件不兼容。后来自己编译了一版才解决。所以我的建议是:如果系统比较老,直接走编译安装,省心。
我个人推荐直接从GitHub下载预编译的二进制文件,扔到 /usr/local/bin 就完事。不需要额外依赖,不像某些软件还要装一堆库。
2.3 Windows环境准备
Windows用户注意了——你需要在WSL和原生二进制之间选一个。这俩我都试过,说说区别:
| 方式 | 优点 | 缺点 |
|---|---|---|
| WSL(Linux子系统) | 完全兼容Linux生态 脚本无缝迁移 |
需要启用WSL 文件跨系统有性能损失 |
| 原生Windows二进制 | 不用装WSL 直接双击跑 |
批处理脚本不如Linux方便 部分老版本vina没有Windows版 |
我个人习惯用WSL。为什么呢?因为绝大多数分子对接的教程、脚本都是基于Linux写的。你如果用原生二进制,遇到问题很难找到人帮你。而且WSL里的性能损失对Vina这种CPU密集计算来说,几乎可以忽略不计。
如果你选原生Windows二进制,记得确认版本。Vina 1.1.2官方没有提供Windows版的可执行文件。你得用1.2.x或者自己编译。我曾经被这个坑过,在一个Windows服务器上折腾了半天才发现是版本不对。
2.4 macOS环境准备
macOS用户可能觉得苹果电脑应该啥都能跑,其实不然。Vina在macOS上有两个关键限制:
- M1/M2芯片 —— 需要Rosetta 2转译,或者自己从源码编译。
- 系统完整性保护(SIP) —— 如果你要把Vina放到系统目录,可能需要调整安全设置。
怎么确认你的架构?
# 查看处理器架构
uname -m
# arm64 就是M1/M2
# x86_64 就是Intel
我在M1 MacBook Air上跑过Vina 1.2.0,用Rosetta 2转译,速度其实意外地不错。但我要提醒一下:如果你用Homebrew安装OpenBabel之类的辅助工具,记得确认它们也是arm64原生的,不然混合架构反而拖慢速度。
用Homebrew安装Vina?目前官方Homebrew仓库还没有收录。但你可以用MacPorts试试,或者手动编译。我个人建议直接下载预编译的macOS版二进制,路径放对就行。
2.5 硬件要求
很多新手问我:是不是得配个一万块的服务器才能跑对接?我告诉你,Vina是个很温柔的程序。
| 硬件 | 最低配置 | 推荐配置 |
|---|---|---|
| CPU | 双核 x86_64 或 arm64 | 4核以上,支持多线程(Vina默认用满所有核) |
| 内存 | 2GB(单个蛋白+配体) | 8GB以上(批量对接或大蛋白) |
| 硬盘 | 100MB空闲(程序本身很小) | 10GB以上(存储结果文件和配体库) |
| GPU | 不需要(Vina 1.x纯CPU) | 可选(Vina 1.2.x支持OpenCL加速) |
说白了,你办公用的笔记本就能跑。但我有一个经验——如果你要做虚拟筛选(一次对几万个配体),那CPU核心数直接决定你的等待时间。我自己的实验室机器是12核24线程的AMD Ryzen,跑1000个配体大概3小时,换成4核笔记本就要一个通宵。
Vina 1.2.0开始支持OpenCL加速。但说实在的,我试过几次,加速效果因显卡而异,而且配置起来比较折腾。如果你刚开始学,建议先跑CPU模式。等流程跑通了再考虑GPU。
2.6 验证你的环境
环境准备好没?别急,跑个最简单的测试命令:
# 下载测试文件(或者用你自己的PDBQT)
# 如果vina在PATH里,直接跑
vina --receptor receptor.pdbqt --ligand ligand.pdbqt \
--center_x 0 --center_y 0 --center_z 0 \
--size_x 20 --size_y 20 --size_z 20
如果命令行没报错,出现了对接结果,那你的环境就算整好了。如果报错,先看是不是二进制文件权限没调好。
Linux和macOS上,下载的二进制文件默认没有执行权限。你得手动加:
chmod +x /path/to/vina
这个问题我至少帮三个人远程过,每次都是“我下载了,但运行说我权限不够”。
2.7 知识体系一点通
说了这么多,其实就围绕一个核心——你需要根据自己的操作系统和硬件,选对安装方式和版本。下面的图帮你快速定位:
2.8 常见疑问速查
- 问:我只有2核的旧笔记本,能跑Vina吗? —— 能,慢一点而已。一个小分子对接也就几分钟到十几分钟。
- 问:Vina 1.2.x和1.1.x的硬件要求一样吗? —— 基本一样。1.2.x多了OpenCL加速选项,但你不开的话,CPU要求没变。
- 问:我需要装CUDA吗? —— 不需要。Vina的GPU加速用的是OpenCL,不是CUDA。NVIDIA、AMD、Intel的显卡理论上都支持,但不是所有卡都跑得流畅。
- 问:内存多大够用? —— 单次对接2GB足够。但如果你的蛋白很大(比如核糖体亚基),或者你要批量对接,建议8GB以上。
嗯,环境准备大概就这些。说白了就是三个步骤:确认系统版本 → 确认硬件 → 选对安装方式。下一块我们就开始实际动手装了。