2、安装与环境配置:Linux/Windows/macOS 安装方法、依赖库(OpenBabel、Boost)处理、环境变量设置
说实话,我第一次折腾 AutoDock Vina 的时候,光装环境就折腾了大半天。在不同的系统上踩过的坑,加起来能写个小册子。后来我把这些经验慢慢梳理成一套相对稳定的流程,今天分享给你。
为什么要把安装配置单独拿出来?说白了,Vina 本身虽然是个轻量级工具,但它依赖的库(尤其是 Boost 和 OpenBabel)版本兼容性很容易出问题。你想想,要是编译到一半报个“undefined reference”,查半天才发现是 Boost 版本不对,多耽误时间。
下面我会按三个主流操作系统分别讲。我个人习惯是:能安安静静下个二进制文件就跑,绝不编译;但遇到平台差异或定制需求时,编译又是绕不开的选择。
2.1 Linux 下的安装
Linux 是我用得最多的环境,也是 Vina 最原生的运行平台。这里有两条路:包管理器安装,或者源码编译。
2.1.1 包管理器安装(推荐给初学者)
Ubuntu/Debian 用户直接敲:
sudo apt update
sudo apt install autodock-vina
Fedora/RHEL 用 dnf:
sudo dnf install autodock-vina
但要注意,官方源里的版本可能比较老。比如我去年在 Ubuntu 20.04 上装,拿到的还是 v1.1.2,而 v1.2.x 已经加上了半柔性对接和显式水分子支持。如果对版本有要求,建议走编译。
2.1.2 源码编译(稳定且灵活)
我从 GitHub 官方仓库克隆代码:
git clone https://github.com/ccsb-scripps/AutoDock-Vina.git
cd AutoDock-Vina/build
cmake -B build -DCMAKE_BUILD_TYPE=Release -DOPENBABEL_INCLUDE_DIR=/usr/include/openbabel3
cmake --build build -j$(nproc)
这里——我有一次在 CentOS 7 上编译,忘了指定 OpenBabel 路径,结果 CMake 自动跑到系统里找了个不完整版本,编译报错。所以我建议你在 CMake 命令里把依赖路径写清楚。
2.2 Windows 下的安装
Windows 用户有两种主流选择:直接下预编译的 .exe,或者用 WSL 里跑 Linux 版本。
2.2.1 预编译二进制(最省事)
去 AutoDock Vina 的 GitHub Release 页,下载 vina_1.2.5_win64.exe(版本号可能会变)。我一般把它放到 C:\Program Files\AutoDockVina\ 里,然后加到 PATH 环境变量。
但你也要注意:Windows 版本是控制台程序,双击不会打开窗口。得在 cmd 或 PowerShell 里敲命令。
vina --help
如果提示“系统找不到指定的文件”,八成是 PATH 没配好,或者文件权限不对。
2.2.2 通过 WSL 运行(我个人更喜欢的方式)
WSL 里装 Ubuntu,然后完全按 Linux 的流程走。好处是后续对接脚本、OpenBabel 的工具链都能无缝配合。我自己的实验环境就用的 WSL 2 + Ubuntu 22.04。
2.3 macOS 下的安装
macOS 用户最方便的是 Homebrew:
brew install autodock-vina
Homebrew 会自动把依赖(包括 Boost)装好,省心。我自己在 macOS 上几乎只用这个方式。
不过,如果你需要修改源代码(比如调优算法参数),还是得用编译方式。Xcode Command Line Tools 是前提:
xcode-select --install
然后同样 clone 仓库、cmake 编译。macOS 上的 Boost 如果通过 Homebrew 安装,路径通常是 /opt/homebrew/include(Apple Silicon)或 /usr/local/include(Intel)。
-DCMAKE_OSX_ARCHITECTURES=arm64。2.4 依赖库处理:OpenBabel 与 Boost
这两个库是 Vina 的两大支柱。OpenBabel 负责分子格式转换,Boost 提供底层容器和算法支持。
OpenBabel —— 我用得最多的是 obabel 命令行工具。装法因系统而异:
- Ubuntu:
sudo apt install openbabel - macOS:
brew install open-babel - Windows: 下载预编译二进制或通过 conda 安装:
conda install -c openbabel openbabel
Boost —— Vina 对 Boost 版本要求比较宽容。但如果你直接编译,记得把 Boost 相关的 CMake 变量传进去。我习惯这么干:
cmake -B build \
-DCMAKE_BUILD_TYPE=Release \
-DBoost_INCLUDE_DIR=/usr/include \
-DBoost_LIBRARY_DIR=/usr/lib/x86_64-linux-gnu \
-DOPENBABEL3_INCLUDE_DIR=/usr/include/openbabel3
dpkg -l | grep libboost 查一下版本。2.5 环境变量设置
不管你用哪种方式安装,最终目的是在终端里能直接敲 vina 运行。环境变量需要配对。
Linux/macOS:把 Vina 的二进制所在目录加到 PATH。我在 ~/.bashrc 或 ~/.zshrc 里写:
export PATH=$PATH:/path/to/autodock-vina/build/bin
如果你同时装了 OpenBabel,也建议加一下:
export PATH=$PATH:/usr/local/bin
Windows:在系统环境变量 PATH 里添加 Vina 目录,比如 C:\Program Files\AutoDockVina\。改完后要在新 cmd 窗口生效。
我还习惯设置一个 VINA_ROOT 变量,方便脚本引用:
export VINA_ROOT=/home/user/autodock-vina
vina --version。如果输出类似 “AutoDock Vina 1.2.5”,说明环境配置好了。2.6 不同平台安装方案速查表
| 操作系统 | 推荐方式 | 需手动处理依赖? | 我的个人评价 |
|---|---|---|---|
| Ubuntu 20.04+ | apt 安装 | 否,自动解决 | 最省心,但版本可能老 |
| CentOS 7/8 | 源码编译 | 是,需手动装 Boost 和 OpenBabel | 踩坑较多,建议升级到 RHEL 8+ |
| Windows 10/11 | 预编译 .exe | 否,二进制自带依赖 | 简单,但命令行不友好 |
| Windows (WSL2) | Linux 子系统中 apt/编译 | 同 Linux | 我推荐这种方式,灵活性高 |
| macOS (Intel/Apple Silicon) | Homebrew | 否,brew 处理依赖 | 做教学演示最合适 |
2.7 安装配置整体流程
下面这张图把整个流程串了起来。从选择系统开始,到依赖安装、主程序安装、环境变量、最终验证。你会发现,不管走哪条路,核心节点都一样。