CADD之分子对接二:简单autodockvina对接流程——redocking

article/2025/7/18 9:51:34

1、需要软件:autodocktools,vina,pymol

pymol使用教程(包含安装):基础教程 — PyMOL中文教程 2022.09 文档

autodocktools及vina安装包:

「autodocktools」https://www.aliyundrive.com/s/88pQFmFBNKK 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。

2、需要蛋白质文件及小分子文件

需要文件为蛋白质文件:.pdb(PDB上下载,或直接在pymol上处理:fetch ####)

小分子配体文件:.mol2格式或.pdbqt格式(利用openbabel进行格式转换)

简单介绍一下openbabel:

openbabel是化学信息学中常用的一款格式转换的工具,用openbabel可实现smi,mol2,pdbqt等多种格式之间的相互转换。

Open Babel由C/C++编写,并提供C ++, Perl, Python等的API接口方便开发。

想深入了解openbabel的,请参考下面的文献: 

Open Babel: An open chemical toolbox | Journal of Cheminformatics | Full TextA frequent problem in computational modeling is the interconversion of chemical structures between different formats. While standard interchange formats exist (for example, Chemical Markup Language) and de facto standards have arisen (for example, SMILES format), the need to interconvert formats is a continuing problem due to the multitude of different application areas for chemistry data, differences in the data stored by different formats (0D versus 3D, for example), and competition between software along with a lack of vendor-neutral formats. We discuss, for the first time, Open Babel, an open-source chemical toolbox that speaks the many languages of chemical data. Open Babel version 2.3 interconverts over 110 formats. The need to represent such a wide variety of chemical and molecular data requires a library that implements a wide range of cheminformatics algorithms, from partial charge assignment and aromaticity detection, to bond order perception and canonicalization. We detail the implementation of Open Babel, describe key advances in the 2.3 release, and outline a variety of uses both in terms of software products and scientific research, including applications far beyond simple format interconversion. Open Babel presents a solution to the proliferation of multiple chemical file formats. In addition, it provides a variety of useful utilities from conformer searching and 2D depiction, to filtering, batch conversion, and substructure and similarity searching. For developers, it can be used as a programming library to handle chemical data in areas such as organic chemistry, drug design, materials science, and computational chemistry. It is freely available under an open-source license from http://openbabel.org .https://jcheminf.biomedcentral.com/articles/10.1186/1758-2946-3-33openbabel生成分子3D构象时,对于有机及类药小分子一般采用MMFF94力场(目前公认最精确的小分子力场),对于包含任何元素周期表或复杂几何形状的分子(既不受MMFF94支持的),可以使用UFF(通用力场)力场来代替。GAFF力场也可考虑使用。

下面演示openbabel的安装及简单的使用demo:

# anaconda中openbabel的安装(windows)
conda install openbabel -c conda-forge
# 验证安装成功——显示版本号
obabel -V'''openbabel可用于文件格式转换,过滤(按smarts,标题,描述符值或属性字段), 3D
或2D结构生成,氢从隐式转换显式,并删除小片段或重复结构'''# 最常见使用场景将smiles格式转化为sdf格式
obabel -ismi imatinaib.smi -osdf imatinaib.sdf
# 在转换过程中去掉所有氢
obabel -isdf imatinaib.sdf -osmi iamtinaib.smi -d
# 在转换过程中加上所有氢 ———— 一般不建议在openbabel过程中加氢
obabel -isdf imatinaib.smi -osmi imatinaib.smi -h
# 在转换时添加合适pH=7.4的氢
obabel -isdf imatinaib.sdf -osmi imatinaib.smi -p
# 添加所有氢但不更改文件类型
obabel -isdf imatinaib.sdf -osdf imatinaib.sdf -h
# 一些官能团,例如硝基或砜,可以表示为[N+]([O-])=O或N(=O)=O,以将全部转化为配位键形式
obabel -isdf imatinaib.sdf -osmi imatinaib.smi -b
# 转换分子的子集,可以使用-f和-I定义它们,demo:要转换文件mymols.sdf类型的分子2-4
obabel mymols.sdf -f 2 -l 4 -osdf outputfile.sdf
# 筛选与SMARTS模式匹配的子集,demo:选择出所有含溴苯的分子
obabel mymols.sdf -osdf 'selected.sdf' -s 'c1ccccc1Br'
# 筛选与SMARTS模式不匹配的子集,demo: 选择出不含溴苯的分子
obabel mymols.sdf -osdf 'selected.sdf' -v 'c1ccccc1Br'

产生三维结构的时候顺带通过MMFF94高精度有机小分子力场进行优化,demo: 运行如下命令,得到的pdbqt文件里的结构就都是优化过的了

obabel -ismi imatinaib.smi -opdb imatinaib.pdb --gen3d -m --minimize -ff MMFF94

3、处理大分子蛋白及有机小分子demo

大分子蛋白处理过程:

在处理蛋白前,先做准备工作,在PDB及PDBSum中搜索蛋白结构,下面以有蛋白配体复合物晶体结构的一个样本为例:1SM2与星型孢菌素(STU)结合物

在PDBSum中可以得到一些关于1SM2的信息:

prot-prot中可得到chain A 与chain B是等效的,两条链通过氢键连接到一起,我们在对接时选择其中的一条处理即可。

Ligand中可以得到蛋白与STU作用的方式及位点,可以看到主要相互作用为氢键和疏水作用,STU与Arg(486),Glu(436),Met(438)之间分别有较强的氢键相互作用(键长3埃米以下)。

 首先,处理蛋白质分子,打开pymol

# 打开要处理的蛋白结构
fetch 1SM2 ####(蛋白的四位编码,如:1SM2)
# 除去所有非键合水
remove resn HOH
# 删除所有与对接无关的配体分子,金属离子等
# 1SM2两条链是等效的,我们处理其中一条
create 1SM2A, Chain A
# 方便操作,删掉不需要的对象
delete 1SM2
# 将复合物的配体复制为一份单独的对象
create ligand, RESN STU
# 将复合物的蛋白质复制为一份单独的对象
create protein, 1SM2A and not RESN STU
# 保存蛋白为本地PDB文件
save d:/untitled/protein.pdb protein
# 保存配体为本地PDB文件
save d:/untitled/ligand.pdb ligand

根据对蛋白配体结合物的分析,氢键长度范围在2.5-3.0埃米之间,将配体STU周围5埃米残基定义为结合位点并创建对象

# active是选择的命名,sele要选的对象
select active, byres all within 5 of ligand

这一步可以对结合位点进行更好的渲染,非必须。

在autodocktools中打开protein.pdb以及ligand.pdb两个文件,进行加氢—合并非极性氢—电荷优化等操作(在电荷优化中,autodock工具中默认的一些金属离子,如Mg,Zn等默认带电荷为零,这里需要手动在.pdbqt文件中进行更改电荷参数)。

加氢:Edit—Hydrogens—Add—OK

合并非极性氢:Edit—Hydrogens—Merge Non—Polar

进行电荷优化:Edit—Charges—Computer Gasteiger (Gasteiger是电荷优化计算的一种,轨道电负性部分均衡(PEOE)电荷,这种方法运用了电负性均衡概念,即电负性不同的原子成键时,电负性较小的原子附近电子密度会流向电负性较大的原子。在这个过程中原先电负性小的原子电负性会增大,当所有原子间电负性相等时,电子密度非分布就是平衡状态分布。实际上PEOE电荷并没有达到完全的电负性均衡,而只达到了部分均衡)

处理蛋白后将其保存成pdbqt格式,方面后面使用。

小分子的处理过程:

redocking过程:什么是redocking,如果你的受体蛋白在PDB数据库里有和其它小分子复合的结构,你可以先做这个小分子对接。然后,把对接的结果和原来的真实结构重叠比较看一下这个对接软件在你的受体蛋白上表现怎么样,是不是可以准确预测结合方式。

对于redocking的过程,只需要处理单个小分子,在ZINC或TCMSP官网下载小分子mol2格式,用pymol打开保存为.pdb格式(或者也可以用从PDB蛋白小分子配合物中提取出来的.pdb文件,都是可以的)。

预处理过程:使用autodocktools预处理小分子。首先,读入小分子:file—read molecule(导入小分子pdb文件);加氢:Edit—hydrogens—Add;计算电荷:Edit—charge—compute gasteiger;指定为对接小分子:ligand—input—choose—选中小分子—select molecule for autodock4;Ligand—torsion tree—detect root-torsion tree—choose torsions-done;输出:ligand—output—save as pdbqt。

Vina对接过程:

打开处理好的大分子pdbqt结构:Grid—Macromolecule—open(打开大分子.pdbqt文件)。变成二级结构看起来会比较美观:display—Secondary Structure—display二级结构的形式展示。

打开处理好的小分子配体pdbqt结构:Grid—Set Map Types—open ligand(打开你的小分子.pdbqt文件)。

建立对接盒子:Grid—Grid Box,选择盒子中心:Center—Center on ligand—File close saving current,保存对接盒子的参数:Grid—output—Save GPF

写config文件:建立一个config.txt文件,内容参考如下:

receptor = protein.pdbqt

ligand = molecule.pdbqt

# 注释:center部分的内容填写参考GPF

center_x = 24.273

center_y = -4.659

center_z = 28.987

# 注释:size部分的内容填写也参考GPF

size_x = 40

size_y = 40

size_z = 40

energy_range = 4

out = molecule_out.pdbqt

log = molecule_out.pdbqt

# 注释:exhaustiveness是一个精度相关的参数,数值越大,时间开销越大,精准度也越高

exhaustiveness = 24

命令行操作:

vina --config config.txt --out result.pdbqt

运行后等待查看结果即可。

对于redocking的过程,主要看对接的均方根偏差RMSD(Root Mean Square Deviation)值与单晶结构中的配体接近程度,越接近,对接能量越低则越好。当对接构象与晶体构象间的重原子RMSD值<=2埃米时,认为对接成功,反之则为失败(所有RMSD值可采用Schrodinger程序重的rmsd.py脚本计算)。

下一篇将介绍批量小分子对单一蛋白靶点的对接。


http://chatgpt.dhexx.cn/article/KFSXmVRD.shtml

相关文章

对分子模拟轨迹数据的分析绘图

简介 建立模型进行分子动力学模拟后&#xff0c;对得到的轨迹进行主成分分析&#xff08;PCA&#xff09;&#xff0c;绘制相关性矩阵&#xff08;Correlation Matrix&#xff09;和自由能井图&#xff08;Free Energy Landscape&#xff09;和dssp图&#xff08;Definition …

【学习笔记】ICLR2022-GNNRefine

一、代码Run 1. 运行 python /home/huangjiehui/Project/AIProtein/StructuralReconstruction/RefineGNN/ab_train.py --cdr_type 3 --train_path /home/huangjiehui/Project/AIProtein/StructuralReconstruction/RefineGNN/data/sabdab/hcdr3_cluster/train_data.jsonl --va…

利用pymol批量对PDB文件三维结构比对并输出RMSD值

经验上、文献上大量的蛋白质或者核酸比对工作是从一级序列开始的&#xff0c;这是基于一级序列决定二级结构&#xff0c;二级结构决定三级结构&#xff0c;而且一级序列有30%的相似性&#xff0c;那么两者的结构就具有较高的相似性这样的共识理论而来&#xff0c;这些理论也是基…

AMBER:使用Cpptraj计算RMSD 以及使用中遇到的问题

记录笨比生活又一天 输入文件rms.in设置运行cpptraj遇到的问题1.cpptraj不输出结果2.空格的问题 Tofirst:[空格]1-249&!H firstTofirst[空格]:1-249&!H first 输入文件rms.in设置 parm XXXXX.prmtop #载入拓扑文件 trajin XXXX_prod.nc #载入轨迹文件 rms ToFirst …

分子动力学模拟Amber/Gromacs结合自由能计算 药效团模型构建RMSD、RMSF

文章来源:公众号“科研讨论圈” 以下是使用AMBER、GROMAVCS的教程,希望对开始学习分子动力学的同学有帮助。 分子动力学入门理/论 分子力学简介 分子…

RMSD:通过旋转计算两个分子间的最小rmsd

使用旋转计算两个分子的均方根偏差&#xff08;RMSD&#xff09; 使用Kabsch算法&#xff08;1976&#xff09;或Quaternion算法&#xff08;1991&#xff09;进行旋转&#xff0c;在两个笛卡尔坐标之间.xyz或者.pdb格式中计算均方根偏差&#xff08;RMSD&#xff09;&#xf…

PSP - TMScore(US-align)、RMSD、Sequence 源码

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://blog.csdn.net/caroline_wendy/article/details/129125467 参考文档&#xff1a;Nature Methods | 蛋白、RNA、DNA及其复合物结构的比对算法US-align 官网地址&#xff1a;https://zha…

基于Gromacs的蛋白分子动力学模拟(RMSD、RMSF及蛋白的回旋半径)

一、实验要求 实验对象&#xff1a;目标体系为modeller或其他方法建模的结果中评价最好的模型。 软件&#xff1a; Gromacs-5.1.2 二、实验步骤 加立场 gmx pdb2gmx –h 打开帮助菜单。 选力场的时候选择 Amber99sb…,溶剂类型选Tip3p。 2、加模拟盒子&#xff0c;溶剂层…

RMSD与PMSF 解释与区别

我不需要力量源泉 对我来说 这只是需要完成的一件事&#xff0c;我应该一直全力以赴的做下去 放弃不是我的天性&#xff0c;我甚至不在乎乐观还是悲观。 二者都是对位移的平方和再求平方根&#xff0c;最后求得均值。区别在于&#xff1a;RMSD为在同一帧情况下&#xff0c;对不…

pymol pymol-align两分子或蛋白距离误差计算RMSD;spyrmsd库计算RMSD

参考&#xff1a;https://zhuanlan.zhihu.com/p/347743101 https://www.codenong.com/cs106148400/ RMSD 单位是埃 RMSD,root-mean-square deviation&#xff0c;也就是均方根偏差。 原子位置的均方根偏差是叠加蛋白质的原子&#xff08;通常是骨架原子&#xff09;之间的平均…

RMSD和RMSF

RMSD&#xff0c;Root Mean Square Deviation&#xff0c;均方根偏差&#xff1b;RMSF&#xff0c;Root Mean Square Fluctuation&#xff0c;均方根波动。 在轨迹分析中&#xff0c;最经常用&#xff0c;最简单&#xff0c;也最有用的就是这两巨头&#xff0c;二者都是对位移的…

统计学常用指标

目录 标准差(SD)均方根误差(RMSE/RMSD)均方误差(MSE/MSD)平均绝对误差(MAE)决定系数/拟合优度(R^2)平均偏差(Bias) 标准差(SD) 标准差&#xff08;StandardDeviation&#xff09;&#xff0c;在概率统计中最常使用作为统计分布程度&#xff08;statisticaldispersion&#xff…

Excel如何查找批注

Excel查找的选项&#xff0c;查找范围选择批注就可以了

Excel 打印显示批注(亲自实践)

有时候需要将Excel中的批注,随同正文一起打印出来 方法如下: 1.右键有批注的单元格,选择"显示/隐藏批注" 2.选择"分页预览"模式显示工作表 3.右键任意单元格,选择"页面设置" 4.在"页面设置"窗口中,标签"工作表"的&quo…

excel中深入理解批注

excel中深入理解批注 系统要求一、单个批注二、所有批注三、形状修改四、插入图 系统要求 装有office2010以上版本功能&#xff1a;批注 一、单个批注 右击显示或隐藏批注 显示表示批注不退出&#xff08;鼠标移开时&#xff09; 二、所有批注 审阅显示或隐藏批注 三、…

Excel中批量添加批注图片

excel中想实现这种悬停时显示图片的效果 1、将图片与单元格命名一致&#xff0c;并将图片与excel文件放置在同一目录下 2、选中需要设置的单元格&#xff0c;点击【开发工具】 -查看代码&#xff08;如果没有开发工具往下看&#xff09; 3、在编辑框中输入以下代码并运行 Sub …

Excel技能之批注超链接,你竟然真的不会用

资源整合是新时代职场人的顶配。资源整合&#xff0c;可以快速查找想要的资源。一个目录&#xff0c;如果包含了所有相关的内容&#xff0c;那么&#xff0c;价值是宝贵的。点击目录打开对应的内容&#xff0c;离不开超链接。超链接&#xff0c;改变了互联网&#xff0c;也改变…

Excel表格中重要的数据如何隐藏不显示

Excel表格中重要的数据如何隐藏不显示 目录 Excel表格中重要数据值如何隐藏不显示 1、选中需要隐藏的单元格数值 2、鼠标右键 点击“设置单元格格式” 3、点击“自定义”在“类型”一栏中输入三个“;”号即可&#xff08;输入法切换在英文状态输入分号&#xff09;。 4、想…

关于poi/Npoi创建批注后,EXCEL不能显示,wps能显示的问题(2020-08-25)

一般百度到这个&#xff1a; https://blog.csdn.net/zyr2206328732/article/details/48341191 实测不是作者描述的原因。 我的需求上&#xff1a;在列名&#xff08;一个集合&#xff09;增加注释。 代码如下&#xff1a;Row headRow sheet.createRow(0);XSSFDrawing drawing…

esayExcel自定义注解导出表头批注

注解 package com.baidu.activitidemo.annotation;import com.baidu.activitidemo.handler.ExcelRemarkHandler;import java.lang.annotation.*;/*** 设置表头的批注, 需要配合{link ExcelRemarkHandler}使用** author li* date 2022/09/24*/ Target(ElementType.FIELD) Reten…