蛋白质-小分子对接(protein-ligand docking)是计算结构生物学和药物发现中的一项核心技术,其目的是预测小分子(如药物候选物)如何与蛋白质结合,特别是找到小分子结合的口袋(binding pocket)位置和构象,进而评估其结合能力。
🧠 一、什么是蛋白口袋(binding pocket)
✅ 定义:
蛋白口袋是指蛋白质表面或内部的特定区域,其空间形状和理化性质适合小分子结合。
✅ 特征:
- 通常由若干残基围绕形成“洞”或“裂缝”
- 常含有疏水氨基酸、极性位点或氢键供体/受体
- 可天然形成(活性位点)或诱导形成(诱导契合)
🔍 二、对接过程基本步骤
1. 蛋白结构准备:
- 通常使用 PDB 文件(来自实验结构或 AlphaFold 等预测结构)
- 移除水分子、配体、加入氢原子、分配电荷(如 AMBER、Gasteiger)
2. 小分子准备:
- 一般用 SMILES 表示,转换为三维结构(RDKit + MMFF94 )
- 生成多个构象以供选择(如 ETKDG 方法)
3. 寻找蛋白口袋(自动 or 指定):
自动识别工具如:
- Fpocket
- DeepSite
- DoGSite
- UniMol 自带 pocket predictor
- 或手动指定已知活性位点(如蛋白复合物中已结合的配体位置)
4. 对接(Docking):
- 让小分子“摆放”在口袋中,寻找能量最优构象
- 典型算法:蒙特卡洛、遗传算法、模拟退火等
工具有:
- ✅ AutoDock / AutoDock Vina
- ✅ Glide(商业)
- ✅ DiffDock / EquiBind / UniMol(AI 模型)
5. 评估结合质量:
结合打分(Binding Score)
- Empirical score / Machine learning score / DL score
评价指标:
- RMSD(预测构象与真实构象距离)
- Affinity(结合能预测)
🧪 三、口袋识别方法分类
方法 | 描述 | 工具 |
---|---|---|
基于几何形状 | 利用凸壳、凹陷等空间特征 | Fpocket、DoGSite |
基于残基属性 | 电荷/疏水性/序列保守性等 | SiteHound |
基于机器学习 | 用已知口袋训练分类器 | DeepSite、UniMol |
基于结合配体 | 已知复合物或配体位置 | PDB 复合结构、手动指定 |
📦 四、UniMol 在对接口袋中的用法(重点)
UniMol 可以:
- 预测给定蛋白是否具有可结合口袋(pocket classification)
- 在蛋白结构上定位口袋的残基和位置(pocket center prediction)
- 给定蛋白和小分子,预测它们的对接构象(pose prediction)
✅ UniMol 输入数据:
- 蛋白 pocket 区域结构(一般是局部残基 3D 坐标)
- 小分子 SMILES(转换为初始 3D 构象)
✅ UniMol 输出:
- 小分子在 pocket 中的 3D 位置(旋转 + 平移 + 构象)
- 可用 RMSD 与真实对接构象比对
📈 五、评价对接质量的指标
指标 | 含义 | 说明 |
---|---|---|
RMSD | Root-Mean-Square Deviation | <2Å 表示预测构象接近真实构象 |
Binding Energy | 结合能 | 模拟结合的稳定性,越小越好 |
Docking Score | 打分函数值 | 工具特定,如 Vina Score 越低越好 |
Enrichment | 富集指标 | 多分子筛选中区分能力 |
🛠️ 六、一个对接工作流简略示例(传统 + UniMol)
⚙️ 工具链组合(通用方案):
步骤 | 工具 |
---|---|
蛋白准备 | PyMOL + pdbfixer |
小分子处理 | RDKit + Open Babel |
口袋识别 | Fpocket / UniMol |
Docking | AutoDock Vina / UniMol |
打分 | Vina Score / UniMol 预测结合亲和力 |
🧬 七、实际应用场景
应用 | 描述 |
---|---|
药物虚拟筛选 | 针对目标蛋白自动筛选小分子候选 |
靶点识别 | 根据小分子预测其潜在结合蛋白 |
构象分析 | 多种配体对同一蛋白结合方式分析 |
多模态模型训练 | 蛋白 + 配体 联合嵌入表示建模 |
🧩 八、补充:蛋白口袋与图神经网络(GNN)
现代 Docking 方法越来越依赖图学习方法:
- 蛋白 pocket 转为原子级图结构(残基节点)
- 小分子图嵌入 -> 3D 对接建模(如:EquiBind / UniMol / DiffDock)
- 支持 SE(3)-等变性,提升模型泛化能力
✅ 总结
项目 | 内容 |
---|---|
蛋白口袋 | 蛋白质表面可结合小分子的空间区域 |
对接任务 | 寻找小分子最优结合构象及位置 |
工具 | AutoDock, Vina, Glide, UniMol, DiffDock |
输入 | 蛋白结构 + 小分子(SMILES / SDF) |
输出 | 对接构象、打分、结合位点预测 |
评价指标 | RMSD, Binding Energy, Affinity Score |
如果你有具体的蛋白结构(PDB)和小分子(SMILES),我可以帮你写一段 UniMol 的对接预测代码或传统 AutoDock Vina 的对接流程脚本,是否需要?