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

相关文章

线上Java OOM问题定位与解决方案超详细解析

《线上JavaOOM问题定位与解决方案超详细解析》OOM是JVM抛出的错误,表示内存分配失败,:本文主要介绍线上JavaOOM问题定位与解决方案的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一、OOM问题核心认知1.1 OOM定义与技术定位1.2 OOM常见类型及技术特征二、OOM问题定位工具

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

MyBatis分页查询实战案例完整流程

《MyBatis分页查询实战案例完整流程》MyBatis是一个强大的Java持久层框架,支持自定义SQL和高级映射,本案例以员工工资信息管理为例,详细讲解如何在IDEA中使用MyBatis结合Page... 目录1. MyBATis框架简介2. 分页查询原理与应用场景2.1 分页查询的基本原理2.1.1 分

深度解析Java @Serial 注解及常见错误案例

《深度解析Java@Serial注解及常见错误案例》Java14引入@Serial注解,用于编译时校验序列化成员,替代传统方式解决运行时错误,适用于Serializable类的方法/字段,需注意签... 目录Java @Serial 注解深度解析1. 注解本质2. 核心作用(1) 主要用途(2) 适用位置3

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

基于C#实现PDF转图片的详细教程

《基于C#实现PDF转图片的详细教程》在数字化办公场景中,PDF文件的可视化处理需求日益增长,本文将围绕Spire.PDFfor.NET这一工具,详解如何通过C#将PDF转换为JPG、PNG等主流图片... 目录引言一、组件部署二、快速入门:PDF 转图片的核心 C# 代码三、分辨率设置 - 清晰度的决定因

Java中HashMap的用法详细介绍

《Java中HashMap的用法详细介绍》JavaHashMap是一种高效的数据结构,用于存储键值对,它是基于哈希表实现的,提供快速的插入、删除和查找操作,:本文主要介绍Java中HashMap... 目录一.HashMap1.基本概念2.底层数据结构:3.HashCode和equals方法为什么重写Has

Java 正则表达式的使用实战案例

《Java正则表达式的使用实战案例》本文详细介绍了Java正则表达式的使用方法,涵盖语法细节、核心类方法、高级特性及实战案例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录一、正则表达式语法详解1. 基础字符匹配2. 字符类([]定义)3. 量词(控制匹配次数)4. 边

Python Counter 函数使用案例

《PythonCounter函数使用案例》Counter是collections模块中的一个类,专门用于对可迭代对象中的元素进行计数,接下来通过本文给大家介绍PythonCounter函数使用案例... 目录一、Counter函数概述二、基本使用案例(一)列表元素计数(二)字符串字符计数(三)元组计数三、C

Java使用正则提取字符串中的内容的详细步骤

《Java使用正则提取字符串中的内容的详细步骤》:本文主要介绍Java中使用正则表达式提取字符串内容的方法,通过Pattern和Matcher类实现,涵盖编译正则、查找匹配、分组捕获、数字与邮箱提... 目录1. 基础流程2. 关键方法说明3. 常见场景示例场景1:提取所有数字场景2:提取邮箱地址4. 高级