3.25 分子拼接
感谢生物物理的发展,让我们可以从实验技术如晶体的Cryo-EM 或X-ray技术发现蛋白质的结构。这些结构可以强有力的帮助小分子的设计。分子拼接技术进行几何计算来找到小分子与研究的蛋白质在合适的结合口袋(即, 蛋白持中的一个区域有一个沟小分子停留在那里)中的相互作用的“结合姿势”。关于拼接的更多信息,请看Autodock Vina的论文:
Trott, Oleg, and Arthur J. Olson. “AutoDock Vina: improving the speed and accuracy of docking with a new scoring
function, efficient optimization, and multithreading.” Journal of computational chemistry 31.2 (2010): 455-461.
3.25.1 结合口袋的发现
DeepChem 有一些工具可以帮助自动的找到蛋白质的结合口袋。目前这些工具还较简单,但是我们会在未来的版本的DeepChem改进。
BindingPocketFinder类
结合口袋发现器的抽象超类
通常与一个新的蛋白质或大分子一起工作,不知道大分子的哪个区域是潜在配体或其它相互作用的分子的良好的靶点。这个超类为子类提供板板,计算的定位潜在有很好的相互作用的的结合口袋。
注意有许多不同的方法可以找到潜在的相互作用位点,这个抽像类并不指明所用的技术。,
find_pockets(molecule: Any)
找到蛋白质的潜在结合口袋。
参数 molecule (object) – 某个分子。
class ConvexHullPocketFinder(scoring_model: Optional[deepchem.models.models.Model] =
None, pad: float = 5.0)
用蛋白质的convex hull来找到口袋。
基于https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4112621/pdf/1472-6807-14-18.pdf
__init__(scoring_model: Optional[deepchem.models.models.Model] = None, pad: float = 5.0)
初始化口袋发现器
参数
scoring_model (Model, optional (default None)) – 如指明,使用这个模型来修剪口袋。
pad (float, optional (default 5.0)) – 填充结合口袋的原子的埃数以获得结合口袋箱。
find_all_pockets(protein_file: str)→List[deepchem.utils.coordinate_box_utils.CoordinateBox]
找到蛋白质的结合口袋列表。
参数 protein_file (str) – 加载的蛋白质。
返回蛋白质的结合口袋列表。每个口袋是一个CoordinateBox。
返回类型 List[CoordinateBox]
find_pockets(macromolecule_file: str)→List[deepchem.utils.coordinate_box_utils.CoordinateBox]
找到蛋白质中合适的结合口袋列表。
这个函数计算蛋白质中推定的结合口袋。这个类用ConvexHull来计算结合口袋。Hull的每一面转换到结合的坐标箱。
参数 macromolecule_file (str) – 加载的大分子文件的位置
返回口袋列表。每个口袋是一个 CoordinateBox
返回类型List[CoordinateBox]
3.25.2 姿势产生
姿势产生就是发现“姿势”的任务,即小分子与蛋白质相互作用的几何构像。姿势的产生是复杂的过程,所以DeepChem目前依赖外部软件来产生。这个软件被安装和调用。
class PoseGenerator
一个姿势生成器计算分子复合物的低能构像。
许多结构生物物理的问题减化到计算分子复合物的结合自由能。