UCSF DOCK 分子对接详细案例(04)-基于RDKit描述符的分子从头设计DOCK_D3N

2024-03-05 01:52

本文主要是介绍UCSF DOCK 分子对接详细案例(04)-基于RDKit描述符的分子从头设计DOCK_D3N,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

欢迎浏览我的CSND博客! Blockbuater_drug …点击进入


前言

本文是UCSF DOCK的使用案例分享,我们将使用DOCK 6.11自带的片段库,使用DOCK/RDKit的 DOCK_D3N功能从头设计分子。

一、 软件及操作环境

操作环境:Ubuntu 22.04
软件版本:UCSF DOCK 6.11,安装可以参考这篇博文;UCSF Chimera 1.17.3,UCSF ChimeraX 1.7.1,安装可以参考这篇博文。
在标准DOCK_DN设计中,分子基于用户定义的能量网格和/或扭转环境构建。目前还没有基于关键化学信息学描述符驱动分子构建的方法。在DOCK6.11版中,用户可以偏置分子生长,以促进部分生长的分子进入下一层生长,这取决于用户定义的描述符范围。

当每个部分生长的分子被传递到下一个生长层时,分子经历类似Metropolis的标准(Simulated Annealing算法获得全局最优解的核心思想),以评估计算的描述符的值是否落入基于输入文件的用户定义的范围内。如果他们通过标准,分子将立即被发送到下一层。然而,如果分子不符合标准,它们将被拒绝。由于该标准是基于Metropolis类程序,因此这些描述符的所得分布将在给定分子系综的用户定义的上限和下限附近具有软尾。

当DOCK使用RDKit(使用gnu.rdkit或gnu.parallel.rdkit配置)编译时,称为DOCK/RDKit,DOCK/RDKit利用RDKit中的多个化学信息学描述符。描述符中显示的所有描述符都将具有“RD_”前缀。主要4项不相干的描述符:定量的类药性质QED(0~1),可合成性Syntha(1-10),TPSA(0 ~ + ),logP。

DOCK_D3N与Generic de novo design, De Novo Refinement以及Fcused De Novo Design运行的却别在于对接程序使用的是:dock6.rdkit 或者dock6.rdkit_mpi。其主要思想展示在这张图:
在这里插入图片描述
DOCK_D3N与Generic de novo design具有类似的设计流程,详细内容可参考DOCK使用手册,主要流程如下图。
在这里插入图片描述

二、研究目的

NX-2127是一款具有双重活性的口服小分子靶向蛋白降解剂,可以布鲁顿氏酪氨酸激酶(BTK)蛋白。在与BTK结合的同时,NX-2127还可以招募E3泛素连接酶,使BTK蛋白“泛素化”,从而BTK被蛋白酶体降解。

在本实例中,我们将使用DOCK自带的片段库,使用DOCK/RDKit的 DOCK_D3N,基于配体-受体的结合信息,从头设计BTK抑制剂分子。

三、结构文件准备

本案例输入文件来自于前一篇案例分享:UCSF DOCK 分子对接详细案例(03)-分子从头设计de novo Design
也可以在此下载本案例需要的输入文件:下载案例(4)输入文件

新建本案例需要的目录:

cd DOCK_workdir
mkdir 012_denovo_D3N && 012_denovo_D3N

将此前建立的格点文件.bmp和.nrg文件复制到本目录:

cp ../002_surface_spheres/selected_spheres.sph ./
cp ../003_gridbox/grid.bmp ../003_gridbox/grid.nrg ./
cp ../010_denovo_refine/Chopped_ligand_for_denovo.mol2 ./

现在,012_denovo_D3N 内容如下:
在这里插入图片描述

四、 DOCK/RDKit中 de novo design

4.1 de novo design - refine_D3N

cd ./012_denovo_D3N

创建参数输入文件refine_D3N.in,准备输入参数:

touch refine_D3N.in
dock6.rdkit -i refine_D3N.in

输入后提示:
在这里插入图片描述参考以下的输入参数,完成引导的refine_D3N.in生成。

conformer_search_type                                        denovo
dn_fraglib_scaffold_file                                     $DOCKHOME/parameters/fraglib_scaffold.mol2
dn_fraglib_linker_file                                       $DOCKHOME/parameters/fraglib_linker.mol2
dn_fraglib_sidechain_file                                    $DOCKHOME/parameters/fraglib_sidechain.mol2
dn_user_specified_anchor                                     yes
dn_fraglib_anchor_file                                       Chopped_ligand_for_denovo.mol2
dn_torenv_table                                              $DOCKHOME/parameters/fraglib_torenv.dat
dn_name_identifier                                           8u2e_refine_D3N
dn_sampling_method                                           graph
dn_graph_max_picks                                           30
dn_graph_breadth                                             3
dn_graph_depth                                               2
dn_graph_temperature                                         100.0
dn_pruning_conformer_score_cutoff                            100.0
dn_pruning_conformer_score_scaling_factor                    2.0
dn_pruning_clustering_cutoff                                 100.0
dn_mol_wt_cutoff_type                                        soft
dn_upper_constraint_mol_wt                                   550.0
dn_lower_constraint_mol_wt                                   0.0
dn_mol_wt_std_dev                                            35.0
dn_drive_verbose                                             no
dn_drive_clogp                                               no
dn_drive_esol                                                no
dn_drive_tpsa                                                no
dn_drive_qed                                                 no
dn_drive_sa                                                  no
dn_drive_stereocenters                                       no
dn_drive_pains                                               no
dn_constraint_rot_bon                                        15
dn_constraint_formal_charge                                  2.0
dn_heur_unmatched_num                                        1
dn_heur_matched_rmsd                                         2.0
dn_unique_anchors                                            1
dn_max_grow_layers                                           9
dn_max_root_size                                             25
dn_max_layer_size                                            25
dn_max_current_aps                                           5
dn_max_scaffolds_per_layer                                   1
dn_write_checkpoints                                         yes
dn_write_prune_dump                                          yes
dn_write_orients                                             no
dn_write_growth_trees                                        no
dn_output_prefix                                             output
use_internal_energy                                          yes
internal_energy_rep_exp                                      12
internal_energy_cutoff                                       100.0
use_database_filter                                          yes
dbfilter_max_heavy_atoms                                     200
dbfilter_min_heavy_atoms                                     0
dbfilter_max_rot_bonds                                       10
dbfilter_min_rot_bonds                                       0
dbfilter_max_hb_donors                                       5
dbfilter_min_hb_donors                                       1
dbfilter_max_hb_acceptors                                    10
dbfilter_min_hb_acceptors                                    2
dbfilter_max_molwt                                           500
dbfilter_min_molwt                                           200
dbfilter_max_formal_charge                                   1
dbfilter_min_formal_charge                                   -1
dbfilter_max_stereocenters                                   5
dbfilter_min_stereocenters                                   0
dbfilter_max_spiro_centers                                   3
dbfilter_min_spiro_centers                                   0
dbfilter_max_clogp                                           5
dbfilter_min_clogp                                           -3
dbfilter_max_logs                                            20.0
dbfilter_min_logs                                            -20.0
dbfilter_max_tpsa                                            150
dbfilter_min_tpsa                                            50
dbfilter_max_qed                                             1.0
dbfilter_min_qed                                             0.0
dbfilter_max_sa                                              10.0
dbfilter_min_sa                                              1.0
dbfilter_max_pns                                             100
dbfilter_sa_fraglib_path                                     $DOCKHOME/parameters/sa_fraglib.dat
dbfilter_PAINS_path                                          $DOCKHOME/parameters/pains_table_2019_09_01.dat
orient_ligand                                                no
bump_filter                                                  no
score_molecules                                              yes
contact_score_primary                                        no
grid_score_primary                                           yes
grid_score_rep_rad_scale                                     1
grid_score_vdw_scale                                         1
grid_score_es_scale                                          1
grid_score_grid_prefix                                       grid
minimize_ligand                                              yes
minimize_anchor                                              no
minimize_flexible_growth                                     yes
use_advanced_simplex_parameters                              no
simplex_max_cycles                                           1
simplex_score_converge                                       0.1
simplex_cycle_converge                                       1.0
simplex_trans_step                                           1.0
simplex_rot_step                                             0.1
simplex_tors_step                                            10.0
simplex_grow_max_iterations                                  250
simplex_grow_tors_premin_iterations                          0
simplex_random_seed                                          0
simplex_restraint_min                                        no
atom_model                                                   all
vdw_defn_file                                                $DOCKHOME/parameters/vdw_de_novo.defn
flex_defn_file                                               $DOCKHOME/parameters/flex.defn
flex_drive_file                                              $DOCKHOME/parameters/flex_drive.tbl

编写slurm运行脚本refine_D3N.sh,写入以下内容:

#! /bin/bash
#SBATCH --time=5:00:00
#SBATCH --nodes=1
#SBATCH --ntasks=10
#SBATCH --job-name=BTK_D3N
#SBATCH --output=BTK_D3Ndock6.rdkit_mpi -i refine_D3N.in -o refine_D3N.slurm.out 

运行:

sbatch refine_D3N.sh

在这里插入图片描述
运行大约10 min。
结果文件:8u2e_refine_D3N.denovo_build.mol2,生成34288 个分子,可以通过Chimera或者ChimeraX的ViewDock查看。

4.2 对输出重新评分

通过4.1中的方式产生的分子已经通过grid score进行评分,可以进一步做rigid docking能量最小化优化,以此更加准确评价生成分子与受体之间结合能力。
生成空白的输入文件:

touch refine_D3N_min.in

运行:

dock6.rdkit -i refine_D3N_min.in

参照一下条件输入参数,最终生成运行文件。输入结束后,将继续运行以上命令。

conformer_search_type                                        rigid
use_internal_energy                                          yes
internal_energy_rep_exp                                      12
internal_energy_cutoff                                       100.0
ligand_atom_file                                             8u2e_refine_D3N.denovo_build.mol2
limit_max_ligands                                            no
skip_molecule                                                no
read_mol_solvation                                           no
calculate_rmsd                                               no
use_database_filter                                          no
orient_ligand                                                yes
automated_matching                                           yes
receptor_site_file                                           selected_spheres.sph
max_orientations                                             1000
critical_points                                              no
chemical_matching                                            no
use_ligand_spheres                                           no
bump_filter                                                  yes
bump_grid_prefix                                             grid
max_bumps_anchor                                             2
max_bumps_growth                                             2
score_molecules                                              yes
contact_score_primary                                        no
grid_score_primary                                           yes
grid_score_rep_rad_scale                                     1
grid_score_vdw_scale                                         1
grid_score_es_scale                                          1
grid_score_grid_prefix                                       grid
minimize_ligand                                              yes
simplex_max_iterations                                       1000
simplex_tors_premin_iterations                               0
simplex_max_cycles                                           1
simplex_score_converge                                       0.1
simplex_cycle_converge                                       1.0
simplex_trans_step                                           1.0
simplex_rot_step                                             0.1
simplex_tors_step                                            10.0
simplex_random_seed                                          0
simplex_restraint_min                                        no
atom_model                                                   all
vdw_defn_file                                                $DOCKHOME/parameters/vdw_de_novo.defn
flex_defn_file                                               $DOCKHOME/parameters/flex.defn
flex_drive_file                                              $DOCKHOME/parameters/flex_drive.tbl
ligand_outfile_prefix                                        refine_D3N_min
write_orientations                                           no
num_scored_conformers                                        1
rank_ligands                                                 no

或者,编写slurm运行脚本refine_D3N_min.sh,写入以下内容:

#! /bin/bash
#SBATCH --time=5:00:00
#SBATCH --nodes=1
#SBATCH --ntasks=10
#SBATCH --job-name=BTK_refine_D3N_min
#SBATCH --output=BTK_refine_D3N_mindock6.rdkit_mpi -i refine_D3N_min.in -o refine_D3N_min.out

slurm运行:

sbatch refine_D3N_min.sh

大约运行1 min。结果文件:refine_D3N_min_scored.mol2。

在这里插入图片描述在以上演示条件下,生成获得39个分子,可以通过Chimera或者ChimeraX的ViewDock查看。
在这里插入图片描述
可以看到,采用自带片段库生成的一些分子与固有配体up9具有相似的空间基团连接方式;可通过进一步优化片段库得设置,得到更加多样化的新分子。

总结

在本实例中,我们使用DOCK的通用片段库,使用DOCK_D3N的方式,从头开始为我们的受体构建新的配体,这只是一个运行案例,在实际项目任务中,需要进一步优化加载的片段库、设置合适的片段生长方式、过滤条件等,不断生成接近预期的目标新分子。

参考资料

  1. https://ringo.ams.stonybrook.edu/index.php/Main_Page
  2. https://dock.compbio.ucsf.edu/DOCK_6/dock6_manual.htm
  3. http://dx.doi.org/10.1021/acs.jcim.3c01031

欢迎浏览我的CSND博客! Blockbuater_drug …点击进入

这篇关于UCSF DOCK 分子对接详细案例(04)-基于RDKit描述符的分子从头设计DOCK_D3N的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/774954

相关文章

Python中isinstance()函数原理解释及详细用法示例

《Python中isinstance()函数原理解释及详细用法示例》isinstance()是Python内置的一个非常有用的函数,用于检查一个对象是否属于指定的类型或类型元组中的某一个类型,它是Py... 目录python中isinstance()函数原理解释及详细用法指南一、isinstance()函数

Python的pandas库基础知识超详细教程

《Python的pandas库基础知识超详细教程》Pandas是Python数据处理核心库,提供Series和DataFrame结构,支持CSV/Excel/SQL等数据源导入及清洗、合并、统计等功能... 目录一、配置环境二、序列和数据表2.1 初始化2.2  获取数值2.3 获取索引2.4 索引取内容2

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

Python屏幕抓取和录制的详细代码示例

《Python屏幕抓取和录制的详细代码示例》随着现代计算机性能的提高和网络速度的加快,越来越多的用户需要对他们的屏幕进行录制,:本文主要介绍Python屏幕抓取和录制的相关资料,需要的朋友可以参考... 目录一、常用 python 屏幕抓取库二、pyautogui 截屏示例三、mss 高性能截图四、Pill

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

Java 中的 equals 和 hashCode 方法关系与正确重写实践案例

《Java中的equals和hashCode方法关系与正确重写实践案例》在Java中,equals和hashCode方法是Object类的核心方法,广泛用于对象比较和哈希集合(如HashMa... 目录一、背景与需求分析1.1 equals 和 hashCode 的背景1.2 需求分析1.3 技术挑战1.4

java时区时间转为UTC的代码示例和详细解释

《java时区时间转为UTC的代码示例和详细解释》作为一名经验丰富的开发者,我经常被问到如何将Java中的时间转换为UTC时间,:本文主要介绍java时区时间转为UTC的代码示例和详细解释,文中通... 目录前言步骤一:导入必要的Java包步骤二:获取指定时区的时间步骤三:将指定时区的时间转换为UTC时间步

Java中实现对象的拷贝案例讲解

《Java中实现对象的拷贝案例讲解》Java对象拷贝分为浅拷贝(复制值及引用地址)和深拷贝(递归复制所有引用对象),常用方法包括Object.clone()、序列化及JSON转换,需处理循环引用问题,... 目录对象的拷贝简介浅拷贝和深拷贝浅拷贝深拷贝深拷贝和循环引用总结对象的拷贝简介对象的拷贝,把一个

MySQL批量替换数据库字符集的实用方法(附详细代码)

《MySQL批量替换数据库字符集的实用方法(附详细代码)》当需要修改数据库编码和字符集时,通常需要对其下属的所有表及表中所有字段进行修改,下面:本文主要介绍MySQL批量替换数据库字符集的实用方法... 目录前言为什么要批量修改字符集?整体脚本脚本逻辑解析1. 设置目标参数2. 生成修改表默认字符集的语句3

Java中最全最基础的IO流概述和简介案例分析

《Java中最全最基础的IO流概述和简介案例分析》JavaIO流用于程序与外部设备的数据交互,分为字节流(InputStream/OutputStream)和字符流(Reader/Writer),处理... 目录IO流简介IO是什么应用场景IO流的分类流的超类类型字节文件流应用简介核心API文件输出流应用文