1.分子对接程序DSDP的源码安装和使用
分子对接程序DSDP的安装和使用
今年8月,我有幸参加了由北大高毅勤老师团队和华为联合举办的源码MindSpore SPONGE暑期学校。在这次活动中,源码我了解了DSDP分子对接程序,源码该程序的源码相关论文于今年6月发表在《J. Chem. Inf. Model. , , , –》期刊上。
DSDP程序将传统分子对接算法与机器学习相结合,源码歪歪动态源码实现了GPU加速的源码高性能分子对接。与常用的源码AutoDock Vina、DiffDock等分子对接程序相比,源码DSDP在盲对接的源码速度与精度上均有显著提升。此外,源码该程序还可在已知结合位点的源码前提下进行重对接和虚拟筛选。项目源码已发布于github。源码
在暑期学校期间,源码开发者张宏老师对DSDP程序进行了介绍。源码以下是我对DSDP程序安装和使用的初步总结,如有疏漏,请大家务必指出。
安装方法:
1. 下载DSDP源码。根据测试,在Ubuntu .(官方文档)和Rocky 9环境中均可使用。126邮箱 源码
2. 将项目保存在固定目录,我保存在/run/media/Programs/DSDP。
3. 使用Anaconda建立虚拟环境。
注意:务必检查torch的版本,以与cuda环境匹配。如果需要,可直接在DSDP.yml文件中更改torch版本。我这里由于通过配置文件无法正常安装,直接参考官方文档安装了2.0.1+cu版本。
4. 激活虚拟环境(后续每次使用盲对接都需要激活该环境)。rubygems源码安装
5. 编译各组件。
使用方法:盲对接
项目示例文件的test_dataset包含三个数据集,分别是DSDP_dataset、DUD-E数据集和PDBBind时间分割数据集。
对于要预测的每组复合物,需要建立一个独立的目录,其中存放配体和受体(需按规定命名)。例如,通过tree DSDP_dataset/ | head查看的示例目录结构如下:
DSDP的输入文件为pdbqt格式,可以通过AutoDockTools生成。android glide 源码
注:python 3版本的AutoDockTools,已经有几名Python之狐完成了部分升级,安装好之后直接用prepare_ligand4和prepare_receptor4两个命令就可以调用。
在项目根目录运行如下命令:
参数解释:
重对接
本例使用1a2b蛋白。在工作目录(不一定是项目目录)准备受体和配体的pdbqt文件,命名为protein.pdbqt和ligand.pdbqt。
运行:
注:重对接的盒子信息(沿x y z轴的最小值和最大值)需要用户提供。本例的盒子信息仅适用于本例的1a2b蛋白。
参数解释:
此外,年9月日更新的executor框架源码版本中,每个DSDP组件都支持--help命令来输出有关参数的信息。
DSDP数据训练
DSDP的结合位点预测部分根据PUResNet进行修改。文件train_example包含用于训练当前工作中使用的模型的脚本。应该注意的是,该文件中的训练数据集只是一个示例。整个训练数据集是EquiBind中使用的PDBBind的子集(EquiBind: Geometric Deep Learning for Drug Binding Structure Prediction)。可以从他们的网站下载此数据集:Zenodo。
测试
以PET酶IsPETase为例,下载晶体结构,去水加氢、另存为PET_protein.pdbqt,并与PET_ligand.pdbqt存放于PET目录下。通过上述命令进行盲对接,结果如图1所示。
可以看到,结合位点的搜索十分准确,且将底物定位到了SHD三联体,这与催化机理完全一致。但酯键的方向理应指向蛋白主链形成的氧负离子穴区域,这里所得结构朝向另一侧,可见盲对接的精度略有不足。
进一步在该位点的基础上进行重对接,如图2所示。(盒子中心为催化三联体,边长为 Å)
可以看到,重对接所得的构象中,羰基已经处于正确的朝向,指向Y和M的主链酰胺。以上测试证实了DSDP盲对接和重对接的可行性。
其他
重对接可以在任意目录进行,但盲对接不经修改的话只能在项目根目录进行,其中用到的文件需要自行准备并在命令行指定。个人认为这样稍有不便,因此对源码做了修改,可像重对接一样在任意目录直接进行盲对接,如下。
编译方法和重对接方法同上。盲对接方法如下,其中dataset在当前目录:
注意每次使用盲对接前都需要激活DSDP虚拟环境。