Gromacs模拟一:配体-双链蛋白质复合物体系准备

1、蛋白质的准备:

在RCSB网站下载想要的蛋白晶体(教程里是3htb),用notepad等编辑器或是分子可视化软件除去里面的非蛋白分子或离子。

这里采用的是一个经过分子对接后的蛋白质pdb和配体小分子的pdb。

教程里提到的配体是2-丙基苯酚(JZ4),是一个非肽类分子,同时存在于3htb蛋白里。可以用notepad给他抽出为一个单独的pdb。如果是一个短肽类分子,可以利用gromacs自带的蛋白力场为其生成力场参数(应该可以)。

将蛋白质pdb进行处理,生成top文件和gro坐标文件,命令运行后弹出的力场选项中选择第1个CHARMM36力场:

gmx pdb2gmx -f 3HTB_clean.pdb -o 3HTB_processed.gro -ter

之后,选择TIP3P模型作为水分子,选择NH3+和COO-作为蛋白链的末端原子。

2、将配体分子转为需要的mol2格式:

我还是用discovery studio进行加H(添加力场)和输出为mol2文件。

下载相关的charmm36力场charmm36-jul2022.ff.tgz和一个python脚本cenff_charmm2gmx.py,根据实际环境。下载链接http://mackerell.umaryland.edu/charmm_ff.shtml#gromacs

 将下载的tgz文件解压到存放蛋白和配体pdb文件的工作目录下,成为一个子目录。

3、为配体mol2文件生成拓扑文件:

在CGenFF 服务器注册账号,然后使用这个网站完成拓扑数据的生成,但是我注册不了(填好注册信息,点击注册,卡,信息清空..)

下载Sob老师提供的Sobtop程序可以gromacs适合的拓扑文件,同时这个程序非常方便,下载后打开里面的exe文件就能运行(大佬不愧是大佬)。

下载界面的下方有11个例子参考,我根据例子2完成对小分子拓扑文件的生成。

4、建立复合物的gro文件:

用protein.gro拷贝成一个新文件,修改名为complex.gro。将ligand.gro里的原子坐标放到complex里,再在盒子数据上方空一行:

这里推荐使用notepad3进行编辑,win10自带的笔记本确实不行,不能看清楚数据之间的空格情况,容易报错。

这里不用留空行,留了会报错。
主要的问题应该还是空格没有处理好。

 蛋白有4892个原子,配体是33个原子,所以在complex.gro的第2行(表示原子数)修改为4825

配体里的原子数从1又重新排序了,这个应该不伤大雅。

5、建立复合物的拓扑文件:

同目录下有个topol,是一个包含蛋白质拓扑信息的文件(在使用pdb2gmx时生成)。这个蛋白是一个双链蛋白,因为活性口袋在两个蛋白双螺旋之间。同目录下还有两个分开的独立链的top文件。

在topol里,用#include语句导入蛋白的top信息,如果蛋白是单链的话,数据会直接导入到topol中。根据前面导入力场,导入蛋白链拓扑的命令的格式,插入导入配体拓扑的命令:

6、规避报错,关于[atomtypes]:

利用Sob老师生成的小分子itp文件中,有[atomtypes]这个部分,如果不处理,会报错。确实在官方manual里的top文件模板中,不会出现[atomtypes]这一项。

在manual里,top文件的格式如下,是没有[atomtypes]这个部分的。

;
; Example topology file
;
[ defaults ]
; nbfunc        comb-rule       gen-pairs       fudgeLJ fudgeQQ1             1               no              1.0     1.0; The force field files to be included
#include "rt41c5.itp"[ moleculetype ]
; name  nrexcl
Urea         3[ atoms ]
;   nr    type   resnr  residu    atom    cgnr  charge1       C       1    UREA      C1       1   0.6832       O       1    UREA      O2       1  -0.6833      NT       1    UREA      N3       2  -0.622[ bonds ]
;  ai    aj funct           c0           c13     4     1 1.000000e-01 3.744680e+053     5     1 1.000000e-01 3.744680e+056     7     1 1.000000e-01 3.744680e+05[ pairs ]
;  ai    aj funct           c0           c12     4     1 0.000000e+00 0.000000e+002     5     1 0.000000e+00 0.000000e+002     7     1 0.000000e+00 0.000000e+00[ angles ]
;  ai    aj    ak funct           c0           c11     3     4     1 1.200000e+02 2.928800e+021     3     5     1 1.200000e+02 2.928800e+024     3     5     1 1.200000e+02 3.347200e+02[ dihedrals ]
;  ai    aj    ak    al funct           c0           c1           c22     1     3     4     1 1.800000e+02 3.347200e+01 2.000000e+006     1     3     4     1 1.800000e+02 3.347200e+01 2.000000e+002     1     3     5     1 1.800000e+02 3.347200e+01 2.000000e+00[ dihedrals ]
;  ai    aj    ak    al funct           c0           c13     4     5     1     2 0.000000e+00 1.673600e+02; Include SPC water topology
#include "spc.itp"[ system ]
Urea in Water[ molecules ]
Urea    1
SOL     1000

我的做法是将这些原子添加到力场文件中。

 如图,根据topol里提供的信息,找到gromacs提供的所用力场的文件地址:

(PS:这里图截错了,实际应该是#include "amber99sb-ildn.ff/forcefield.itp"

 打开forcefield.itp文件,会发现其还是用include命令调用了两个itp文件。 将这三个itp文件拷贝到我的工作目录(存放了protein.gro、ligand.gro、topol什么的文件夹)下的子文件夹ff里:

在ffnonbonded.itp文件里有原子类型信息(用笔记本打开查看),可以将配体itp里的atomtype的数据拷贝过去,最后保存。

之后,修改topol里调用forcefield.itp的命令,将其路径改为调用修改后的forcefield.itp文件存放的位置ff文件夹:

 到这里,提示拓扑文件里有[atomtypes]的fatal报错就会消失。

7、定义盒子大小和添加溶剂分子:

定义盒子: 

gmx editconf -f complex.gro -o newbox.gro -bt dodecahedron -d 1.0
#要查看每个参数是什么意识,可以用gmx editconf -h

添加溶剂水: 

gmx solvate -cp newbox.gro -cs spc216.gro -p topol.top -o solv.gro
#没有tip3p.gro
#用spc216的gro代替,不过拓扑信息还是用tip3p的水

我觉得不一定要用tip3p.gro,不会报错就不错了 。

8、规避报错,分子数量的报错:

这里添加了水到复合物的gro文件里,但是topol文件里的[melocules]还是没有更新的状态,所以有下面的报错:

这里提示了坐标文件中原子数和拓扑文件中的原子数不同。Fatal error: number of coordinates in coordinate file (solv.gro, 29510) does not match topology...-CSDN博客

这篇博客中老师的方法给了我提醒。要在topol文件的molecules里添加水的分子数,这里多出75549个原子,就是25183个水分子(除以3)。

这里为什么是SOL, 其实,这个记录在每个分子的itp文件的[moleculetypes]部分里。如下图,在[dir]\gmx\share\gromacs\top\amber99sb-ildn.ff文件夹下的tip3p.itp文件里的[moleculetype]:

所以,这个水的分子名是SOL。 

9、添加离子:

写一个mdp文件,重命名为ions.mdp,真不懂为什么加离子就要用到这种文件。

#生成一个tpr文件:
gmx grompp -f ions.mdp -c solv.gro -p topol.top -o ions.tpr
#添加离子,生成一个新的gro文件:
gmx genion -s ions.tpr -o solv_ions.gro -p topol.top -pname NA -nname CL -neutral# 运行最后一个添加离子的命令后,会出现如下的选项:
Reading file ions.tpr, VERSION 2022.2 (single precision)
......
Group     8 (      SideChain) has  3352 elements
Group     9 (    SideChain-H) has  1174 elements
Group    10 (    Prot-Masses) has  4892 elements
Group    11 (    non-Protein) has 75582 elements
Group    12 (          Other) has    33 elements
Group    13 (            MOL) has    33 elements
Group    14 (          Water) has 75549 elements
Group    15 (            SOL) has 75549 elements
Group    16 (      non-Water) has  4925 elements
Select a group:
#这里输入15

输入15,因为我的topol里的溶剂分子类型写的就是SOL,查看topol文件,添加的离子文件已经更新到文件里:

采用VMD或是Pymol检查配体和蛋白之间是否存在挨太近等不合理的状况:

 参考教程:

Protein-Ligand Complex

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/781909.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java多线程】5——Lock底层原理

5 Lock底层原理 ⭐⭐⭐⭐⭐⭐ Github主页👉https://github.com/A-BigTree 笔记仓库👉https://github.com/A-BigTree/tree-learning-notes 个人主页👉https://www.abigtree.top ⭐⭐⭐⭐⭐⭐ 如果可以,麻烦各位看官顺手点个star~&…

新能源汽车充电桩常见类型及充电桩站场的智能监管方案

随着新能源汽车市场的迅猛发展,充电桩作为支持其运行的基础设施,也呈现出多样化的类型。这些充电桩不仅在外形和功能上存在差异,更在充电速度、充电方式以及使用场景等方面展现出独特的优势。 一、充电桩类型及区别 1、慢充桩(交…

C语言经典例题(14) --- 反斜线形图案、正斜线形图案、X形图案、空心正方形图案、空心三角形图案

1.反斜线形图案 题目描述: KK学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的反斜线形图案。 输入描述: 多组输入,一个整数(2~20),表示输出的行数,也表示组成反…

Go 之 Gin 框架

Gin 是一个 Go (Golang) 编写的轻量级 web 框架,运行速度非常快,擅长 Api 接口的高并发,如果项目的规模不大,业务相对简单,这个时候我们也推荐您使用 Gin,特别适合微服务框架。 简单路由配置 package mai…

Linux查看当前目录并输出到文件

进入想要查看的目录 rootubuntu20:/# ls bin boot cdrom dev etc home lib lib32 lib64 libx32 lostfound media mmkv.default mmkv.default.crc mnt opt path proc root run sbin snap srv swapfile sys tmp usr var执行命令 ls -d */ | tr -d /…

Linux 系统快速安装 nginx (新手版)

1、安装所需依赖 yum -y install pcre pcre-devel gcc openssl openssl-devel zlib zlib-devel (pcre: 包括 perl 兼容的正则表达式库 openssl: 支持安全传输协议https(和财务有关系的请求会走的协议) 创建运行用户、组 useradd -M -…

变分信息瓶颈

变分信息瓶颈和互信息的定义 1 变分信息瓶颈 定义:变分信息瓶颈(Variational Information Bottleneck)是一种用于学习数据表示的方法,它旨在通过最小化输入和表示之间的互信息来实现数据的压缩和表示学习。这种方法通常用于无监…

clickhouse 查询group 分组最大值的一行数据。

按照 sql_finger_md5 分组取query_time_ms 最大的一行数据。 使用any函数可以去匹配到的第一行数据,所以可以先让数据按照query_time_ms 排序,然后再使用group by 和any结合取第一行数据,就是最大值的那一行数据。 selectany (time) as time…

JavaScript学习笔记

本篇文章是本人在学习JS时所记录的笔记&#xff0c;记录的知识点比较基础&#xff0c;但是较为详细。 使用 在html中有两种方式可以使用javascript 1.外引 <script src"...js"></script> 调用js文件时调用的是拷贝体 2.内嵌 <script>......…

【BlossomRPC】服务端与客户端请求Handler

文章目录 客户端Handler服务端Handler RPC项目 配置中心项目 网关项目 客户端Handler 承接上文&#xff0c;客户端的Handler其实就比较简单了&#xff0c;因为客户端作为接收数据的时候&#xff0c;我们只需要从上文提到的Cache中通过reqId的方式拿到Future/Promise对象&…

接口自动化框架搭建(一):框架介绍

1&#xff0c;背景目的 最近在搭建接口自动化框架&#xff0c;打算写个专栏&#xff0c;方便自己查找和他人学习。有不正确的地方&#xff0c;欢迎指正。 2&#xff0c;技术框架 pythonpytestalllurejenkins多进程钉钉消息通知 3&#xff0c;版本 推荐方法&#xff1a;创建…

【数据结构与算法】排序

概述 最容易想到的排序&#xff0c;从旧数组中找到一个最小的&#xff0c;不断放入新的数组中。&#xff08;不使用数组的slice等方法是因为会使效率变得更慢&#xff09; let arr [3, 5, 6, 7, 1, 2, 4, 9, 8]function getMin(arr) {if (arr null || arr.length 0) retur…

Oracle VM(虚拟机)性能监控工具

Oracle VM是一个独立的虚拟化环境&#xff0c;由 Oracle 提供支持和设计&#xff0c;旨在为运行虚拟机提供轻量级、安全的基于服务器的平台。Oracle VM 能够在受支持的虚拟化环境中部署操作系统和应用软件&#xff0c;Oracle VM 将用户和管理员与底层虚拟化技术隔离开来&#x…

cmake编译faiss源码记录

文章目录 简介下载源码安装环境编译 简介 Faiss&#xff08;Facebook AI Similarity Search&#xff09;是一个由Facebook AI研发并开源的&#xff0c;用于大规模向量检索的库。其核心算法采用了聚类、压缩和量化等技术&#xff0c;以优化最近邻搜索的效率和准确性。Faiss提供…

ctfshow xxe web373-378

web373 libxml_disable_entity_loader(false)&#xff1a;这行代码用于启用实体加载器&#xff0c;允许加载外部实体。 $xmlfile file_get_contents(php://input)&#xff1a;从输入流中读取XML数据并存储在 $xmlfile 变量中。 $dom->loadXML($xmlfile, LIBXML_NOENT |…

异常信息泄露 应用程序错误泄露 原理以及修复方法

漏洞名称&#xff1a;未自定义统一错误页面导致信息泄露&#xff0c;抛出异常信息泄露&#xff0c;错误详情信息泄漏&#xff0c;AWVS漏洞名称如下&#xff1a; Application error message Error message on page ASP.NET error message 漏洞描述&#xff1a;攻击者可通过构造…

FebHost:意大利.IT域名一张意大利网络名片

.IT域名是意大利的国家顶级域名&#xff0c;对于意大利企业和个人而言,拥有一个属于自己的”.IT”域名无疑是件令人自豪的事。这个被誉为意大利互联网标志性代表的域名,不仅隐含着浓厚的意大利文化特色,还为使用者在当地市场的推广铺平了道路。 对于那些希望在意大利市场建立强…

微信开发者工具接入短剧播放器插件

接入短剧播放插线 申请添加插件基础接入app.jsonapp.jsplayerManager.js数据加密跳转到播放器页面运行出错示例小程序页面页面使用的方法小程序输入框绑定申请添加插件 添加插件:登录微信开发者平台 ——> 设置 ——> 第三方设置 ——> 插件管理 ——> 搜索“短剧…

基于SpringBoot + Vue实现的养老院管理系统设计与实现+毕业论文(12000字)+搭建视频

介绍 养老院管理系统是一款运用软件开发技术设计实现的应用系统&#xff0c;在信息处理上可以达到快速的目的&#xff0c;不管是针对数据添加&#xff0c;数据维护和统计&#xff0c;以及数据查询等处理要求&#xff0c;养老院管理系统都可以轻松应对。 系统包含登录、注册、…

蓝桥杯每日不知道多少题之更小的数

题目链接&#xff1a;更小的数 - 洛谷 P9232 - Virtual Judge (vjudge.net) 解题思路&#xff1a;这个题看数据量是可以过n方的算法的&#xff0c;首先考虑dp&#xff0c;那么则是两层for循环&#xff0c;即枚举所有情况&#xff0c;那么怎么进行状态转移呢&#xff0c;当 s[i…