对接规模与算力需求
| 场景 | 任务量 | 配置需求 | 耗时参考 |
|---|---|---|---|
| 单次对接验证 | 1-10 对 | 4 核 / 8GB | 分钟级 |
| 网络药理学批量对接 | 100-2000 对 | 16-32 核 / 32-64GB | 数小时-1 天 |
| 小分子库虚拟筛选 | 1 万-100 万分子 | 64 核+ / 128GB / 大存储 | 数天-数周 |
| MD 动力学验证 | 复合物体系 | GPU(RTX 4090 / A100) | 百 ns 数天 |
批量对接的正确姿势
核心是预处理流水线 + 并行提交:
- 蛋白统一 PDBQT 化:ADFR suite 的
prepare_receptor批处理 - 配体批量转换:Open Babel
obabel *.sdf -opdbqt -m - 并行执行:
parallel -j 32 --joblog dock.log 'vina --receptor {1} --ligand {2} ...' - 结果汇总:脚本解析打分,按 affinity 排序输出 CSV
常见瓶颈
- 磁盘 I/O:百万级小文件用 NVMe SSD,机械盘会让 CPU 空转
- 内存:每个 Vina 进程占 0.5-2GB,32 并行建议 64GB 内存
- 队列管理:任务断点续跑很重要——用 joblog 记录已完成任务,重跑时自动跳过
按上述方案配一台 32 核 / 64GB / 2TB NVMe 的工作站,“成分靶点 500 对 + 补充筛选”当天可出全部打分结果。
常见问题
AutoDock Vina 需要 GPU 吗?
不需要。Vina 是 CPU 程序,GPU 版(如 Vina-GPU)可提速 10-50 倍但需要自己编译。常规批量对接用 32 核 CPU 并行足够。
1000 对分子对接要跑多久?
每对约 1-10 分钟(视蛋白口袋大小),32 核并行约 10-20 小时可完成 1000 对。