第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
一个小提醒:我这里列的是“能用”的版本,不是“最佳”版本。Linux上Vina对内核版本其实不敏感,2.6.x以后的基本都能跑。但如果你用的是非常老的系统(比如CentOS 6),那可能得自己编译了。

2.2 Linux环境准备

我个人觉得Linux是跑Vina最舒服的平台。没有图形界面开销,命令行干净利落,批量对接脚本写起来也顺手。你只需要确认几件事:

  1. 内核版本 —— 3.10以上基本稳。
  2. glibc版本 —— 2.23以上比较保险。
  3. Python(可选) —— 如果你之后要用脚本处理结果,建议Python 3.8+。

怎么查?两条命令搞定:

# 查内核
uname -r

# 查glibc版本
ldd --version | head -1

我见过一个项目,对方在CentOS 7.2上装Vina,死活跑不起来。查了半天,是glibc 2.17太老,预编译的二进制文件不兼容。后来自己编译了一版才解决。所以我的建议是:如果系统比较老,直接走编译安装,省心。

Linux下最干净的安装方式:

我个人推荐直接从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上有两个关键限制:

  1. M1/M2芯片 —— 需要Rosetta 2转译,或者自己从源码编译。
  2. 系统完整性保护(SIP) —— 如果你要把Vina放到系统目录,可能需要调整安全设置。

怎么确认你的架构?

# 查看处理器架构
uname -m
# arm64 就是M1/M2
# x86_64 就是Intel

我在M1 MacBook Air上跑过Vina 1.2.0,用Rosetta 2转译,速度其实意外地不错。但我要提醒一下:如果你用Homebrew安装OpenBabel之类的辅助工具,记得确认它们也是arm64原生的,不然混合架构反而拖慢速度。

macOS用户的捷径:

用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核笔记本就要一个通宵。

关于GPU加速的重要说明:

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 知识体系一点通

说了这么多,其实就围绕一个核心——你需要根据自己的操作系统和硬件,选对安装方式和版本。下面的图帮你快速定位:

系统环境准备核心流程图 系统环境准备:选对方式,避坑指南 你用的什么系统? Linux Windows macOS 下载预编译二进制 扔到 /usr/local/bin 选WSL还是原生二进制? 建议WSL(接近Linux体验) 确认芯片架构 Intel直接下载 / M1需Rosetta 验证:跑一次测试对接 系统版本太老?试试源码编译

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以上。

嗯,环境准备大概就这些。说白了就是三个步骤:确认系统版本 → 确认硬件 → 选对安装方式。下一块我们就开始实际动手装了。