Flexible docking(柔性对接) 是蛋白质-蛋白质对接中常见的计算方法之一,用于模拟两种蛋白质的结合过程。在对接过程中,除了刚体的运动(刚体的平移和旋转),还允许蛋白质的某些部分(如柔性环区、侧链)进行构象调整,从而提高对接的准确性。
与传统的刚性对接不同,柔性对接不仅考虑了蛋白质整体的移动,还允许局部的构象变化,以更好地模拟真实的生物分子对接过程。Rosetta 中的柔性对接算法能够优化蛋白质的侧链和主链,以模拟蛋白质之间的结合过程。
柔性对接的步骤
- 刚体对接:首先,通过刚体的平移和旋转来寻找蛋白质复合物的合理初始对接位置。
- 侧链优化:在初始位置的基础上,优化蛋白质接触区域的侧链构象,调整氨基酸的χ角以减少碰撞并提高结合稳定性。
- 局部最小化:进一步优化主链和侧链的构象以获得全局最低能量状态,同时允许某些部分的柔性调整。
- 打分和筛选:使用 Rosetta 打分函数评估对接结果,并筛选出最优结构。
PyRosetta 中使用 Flexible Docking
PyRosetta 提供了对柔性对接的支持,通过一系列 mover 和 task 操作可以实现柔性对接。下面展示了一个 PyRosetta 的柔性对接示例代码:
柔性对接的示例代码
import pyrosetta
from pyrosetta import rosetta# 初始化 PyRosetta
pyrosetta.init()# 加载需