186

TankBind:蛋白-配体结合预测工具实测

TankBind 预测蛋白-配体分子间距离矩阵再重建姿势,同时给出亲和力估计。这篇讲清它的分块口袋策略、与直接回归方法的区别和实际用法。

TankBind(Trigonometry-Aware Neural networKs for Binding, NeurIPS 2022)走的是与直接回归坐标不同的路线:先预测蛋白-配体原子间的距离矩阵,再由距离矩阵通过优化重建三维姿势,同时输出一个亲和力预测。这种「先距离、后坐标」的思路借鉴自蛋白结构预测(AlphaFold 早期版本正是先预测距离图)。

部署

git clone https://github.com/luwei0917/TankBind.git
cd TankBind
conda env create -f environment.yml
conda activate tankbind

# 需先用 p2rank 做口袋检测,再按块推理
prank predict -f receptor.pdb -o p2rank_out/
python examples/inference.py   # 参考仓库示例脚本组织输入

依赖 torch-geometric 与 p2rank(口袋检测)。环境搭建比 Vina 类工具重,建议按仓库 environment 文件严格复现。

分块口袋策略

TankBind 不做全蛋白盲对接,而是先用 p2rank 检测出若干候选口袋,把蛋白切成若干「块」,对每个块分别预测距离矩阵与亲和力,最后取亲和力最高的块作为预测结合位点。

  • 好处:把大搜索空间拆成若干小问题,降低难度;同时天然给出「结合在哪个口袋」的答案。
  • 代价:整体表现受口袋检测质量制约——如果 p2rank 没检出真实口袋,后面再准也没用。这是使用中最需要监控的一环。
  • 实践建议:保留 top 3~5 个口袋一起算,而不是只信第一个;有共晶结构或已知位点时,直接指定口袋更可靠。

三角约束的作用

模型名里的 trigonometry-aware 指它在更新距离表示时引入了三角不等式约束(任意三点距离需自洽)。这让预测出的距离矩阵更接近一个几何上可实现的构型,重建坐标时更少出现自相矛盾的解。这是它相比朴素距离预测的关键改进。

实际表现与用法

  • 姿势精度:在 PDBBind 类基准上优于 EquiBind,与 DiffDock 相比互有胜负,具体取决于评测划分与是否用 apo 结构。独立评测中,深度学习对接整体仍未稳定超过精心设置的传统对接。
  • 亲和力输出是差异点:它同时给亲和力估计,而 DiffDock / EquiBind 不给。但这个预测的相关性有限,只适合粗排序,不能当定量结果。
  • 速度:比传统对接快,比 EquiBind 慢,属中间档,适合十万级规模。
  • 同样需要物理检查:重建出的坐标可能有键长键角问题,建议过 PoseBusters 并做能量最小化。

怎么放进流程

把它当作深度学习对接的一条独立技术路线做交叉验证最有价值:让 TankBind、DiffDock、GNINA 各跑一遍,看三者是否指向同一口袋、同一结合模式。三条不同原理的方法给出一致答案,可信度远高于任何单一方法的高分。

上手提示

  • 它是「距离矩阵 → 坐标」路线,与直接回归坐标的 EquiBind 原理不同;
  • 表现受口袋检测制约,保留 top 3~5 个口袋而非只信第一个;
  • 它给亲和力估计是特色,但只够粗排序,不能当定量值;
  • 最佳用法是作为独立路线,与 DiffDock / GNINA 交叉验证。

延伸资源