环境搭建:从零开始装好Vina
说实话,搞计算化学的人,有一半的时间都在折腾环境。我见过太多人花了一周配好环境,结果跑Vina的时候发现路径不对,或者压根没装上OpenBabel。
这一章,我带你把环境彻底理清楚。不管你是Windows用户还是Linux党,都能顺利开工。
Linux下的Vina安装
方案一:官方可执行文件(最简单)
我个人习惯用这个方案。直接下载编译好的二进制,省心。
wget https://github.com/root-project/root/raw/master/vina/vina_1.2.3_linux_x86_64
chmod +x vina_1.2.3_linux_x86_64
sudo mv vina_1.2.3_linux_x86_64 /usr/local/bin/vina
嗯,这里要注意:chmod +x 这步很多人会忘。下载下来的文件默认没有执行权限,直接跑会报 Permission denied。
方案二:通过conda安装
如果你已经在用conda管理Python环境,那太方便了。
conda install -c bioconda vina
为什么推荐这个?因为conda会自动处理依赖。你想想看,少了多少手动排查的麻烦。
方案三:源码编译(不推荐新手)
我踩过的坑是——源码编译需要Boost库,版本不对直接编译失败。当年我折腾了两天,最后发现是gcc版本太老。
git clone https://github.com/root-project/root.git
cd root
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local
make -j4
sudo make install
Windows下的Vina安装
Windows用户也别慌。虽然Vina本是Linux起家的,但Windows下一样能跑。
方法一:Windows子系统(WSL)
我记得第一次在Windows上用WSL装Vina时,感觉像打开了新世界的大门。直接在微软商店装Ubuntu,然后进Linux子系统执行上面的方案一就行。
方法二:Cygwin或MinGW
如果你不想用WSL,可以试试Cygwin。不过说实话,配置起来比较复杂。我个人建议直接上WSL。
方法三:预编译Windows版
# 从官方GitHub Release下载 vina_1.2.3_win64.exe
# 重命名为 vina.exe 并放到 C:\vina\ 目录
配置PATH:让系统认识Vina
说白了,PATH就是告诉系统:我去哪里找Vina这个程序。不配的话,每次都要输入完整路径,很烦人。
Linux下配置PATH
# 临时生效(当前终端)
export PATH=$PATH:/usr/local/bin
# 永久生效(写入.bashrc或.zshrc)
echo 'export PATH=$PATH:/usr/local/bin' >> ~/.bashrc
source ~/.bashrc
source ~/.bashrc;2. 新开一个终端窗口。不然系统不会刷新。
Windows下配置PATH
- 右键"此电脑" → 属性 → 高级系统设置
- 点击"环境变量"
- 在"系统变量"中找到Path,双击编辑
- 新增一行:
C:\vina\ - 确定,确定,确定(一定要点确定!)
验证安装:跑个测试吧
配完环境,先别急。咱们验证一下,确保真的装好了。
vina --version
如果看到类似这样的输出,说明Vina装好了:
AutoDock Vina v1.2.3
没有输出?别慌。检查以下三个地方:
- Vina可执行文件有没有执行权限(Linux下
ls -l看看) - PATH对不对(
echo $PATH看看路径在不在) - 文件有没有损坏(重新下载一次试试)
必备依赖:Python和OpenBabel
Python环境
Vina本身不依赖Python,但后续做批量处理和数据分析,没有Python寸步难行。
# 检查Python
python --version
# 建议用conda管理Python版本
conda create -n vina_env python=3.10
conda activate vina_env
OpenBabel:分子格式转换利器
你手头的配体文件可能是sdf格式,而Vina需要pdbqt。OpenBabel就是搞这个的。
# conda安装(推荐)
conda install -c openbabel openbabel
# 验证安装
obabel --version
我曾经遇到过一个问题:下载OpenBabel后发现Python接口装不上。后来发现是conda源的问题,换清华镜像就好了。
# 换源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
obabel -L formats 可以列出所有支持的格式。你会看到sdf、mol2、pdb、pdbqt都在列表里。
完整安装流程清单
| 步骤 | 操作 | 验证命令 |
|---|---|---|
| 1. 安装Vina | 下载可执行文件或conda安装 | vina --version |
| 2. 配置PATH | 将Vina所在目录加入PATH | which vina |
| 3. 安装Python | conda创建虚拟环境 | python --version |
| 4. 安装OpenBabel | conda或源码安装 | obabel --version |
常见问题与避坑
./vina: error while loading shared libraries: libboost_program_options.so.1.65.1原因:系统缺少Boost动态库。解决方案:
sudo apt install libboost-all-dev(Ubuntu)或 sudo yum install boost-devel(CentOS)。
现象:
import openbabel 报错。原因:你装的是系统级OpenBabel,但Python环境里没有。
解决方案:用conda安装
conda install -c conda-forge openbabel python,它会同时装好Python绑定。
现象:重新打开cmd后,
vina仍然报"不是内部或外部命令"。原因:你只配了用户变量,或者忘记点"确定"。
解决方案:配系统变量,并关闭所有命令行窗口再重新打开。
环境搭建知识体系
好了,到这一步,你的环境已经搭好了。Vina、Python、OpenBabel都就位,接下来可以开始真正的分子对接工作了。