GROMACS Tutorial - TMD with NeqPCA

news2025/1/11 5:51:42

Contents

  • Introduction
  • System Building
    • Generate Topology
    • from Solvation to Equilibration
  • Create trajectories
  • PCA for TMD

Introduction

首先简单介绍一下TMD模拟,类似于SMD模拟(可以参考这篇教程),TMD 通过pull_coord1_type = constraint的设置,使用恒定拉力强制配体与蛋白质发生解结合,最终效果与SMD类似。

本教程基于 Multisecond ligand dissociation dynamics from atomistic simulations 1 第二个模拟体系 benzamidine-trypsin 编写,意在指导读者运行蛋白质-配体的模拟体系,以及 TMD(牵引动力学模拟)和后续 PCA 分析的进行。

[1] Wolf, S., Lickert, B., Bray, S. et al. Multisecond ligand dissociation dynamics from atomistic simulations. Nat Commun 11, 2918 (2020). https://doi.org/10.1038/s41467-020-16655-1

System Building

Generate Topology

首先我们需要获取 benzamidine-trypsin 晶体结构,前往RCSB下载3PTB的结构。随后将 trypsin 蛋白单独储存为 protein.pdb,将配体加氢后单独储存为 ligand.mol2(但是因为3PTB里面给的配体结构比较奇葩,加氢后氢的数量不一定对,因此建议前往PubChem下载3D结构的 .sdf 文件;然后手动对其到原配体位置后转存为 .mol2 文件,这一步可以在 PyMOL 里面完成,主要是为了后续合并文件时方便)。

对于配体文件:你可以通过你喜欢的方式获得它的参数,也可以按照这篇博文的方法完成,本文默认使用 Gaussain+Multiwfn+sobtop 先计算RESP后创建GAFF力场参数的方法创建配体参数。

计算RESP电荷,运行(<path_to_tut>是教程解压后的文件夹):

cd <path_to_tut>/lig_para

chmod +x RESP.sh 
./RESP.sh ligand.mol2 0

单核运行大概需要50分钟,随后就会得到 ligand.chg,随后利用 sobtop 创建力场参数(<path_to_sobtop>是你安装sobtop的文件夹):

cd <path_to_sobtop>
./sobtop

# 启动后输入:
<path_to_tut>/lig_para/ligand.mol2
2
<path_to_tut>/lig_para/ligand.gro
7
10
<path_to_tut>/lig_para/ligand.chg
0
1
2
4
<path_to_tut>/lig_para/ligand.top
<path_to_tut>/lig_para/ligand.itp

本教程使用的是 amber99sb-ildn 力场(当然你可以使用你喜欢而且合理的力场),但是由于我们新生成了配体的参数,需要将 ligand.itp[ atomtypes ] 字段整合到力场的 ffnonbonded.itp 中(你只需要将他们剪切到 ffnonbonded.itp 中就行,但是本教程提供的文件中已经帮你整合好了,所以你只需要删除ligand.itp 中的 [ atomtypes ] 内容)。并且修改 [ moleculetype ] 字段下的名称为 MOL(为了方便后续操作),最终ligand.itp应该长这样:

; Created by Sobtop (http://sobereva.com/soft/sobtop) Version 1.0(dev3.1) on 2023-08-24

[ moleculetype ]
; name          nrexcl
MOL       3

[ atoms ]
;  Index   type   residue  resname   atom        cgnr     charge       mass
     1     nh         1      MOL     N             1   -0.98041913   14.006703
     2     n2         1      MOL     N             2   -0.94207571   14.006703
     3     ca         1      MOL     C             3   -0.00867452   12.010736
     4     ca         1      MOL     C             4   -0.15695061   12.010736
···

对于蛋白文件:进入相应文件夹:

cd <path_to_tut>/md
gmx pdb2gmx -f protein.pdb -ignh -o complex.gro
1  #选择当前文件夹内的那个力场,是我们整合之后的
1  #TIP3P 水模型

cp ../lig_para/ligand.gro ./
cp ../lig_para/ligand.itp ./

随后是整合结构文件:用文本编辑器打开 complex.groligand.gro,将 ligand.gro 中所有记录原子坐标的行复制到 complex.gro 的末尾、盒子参数的上方,并且修改 complex.gro 第二行的总原子数;整合之后的 complex.gro 应该是(修改完之后最好查看一下结构是不是和晶体结构一致):

Gravel Rubs Often Many Awfully Cauterized Sores
 3237
   16ILE      N    1  -0.810   0.960   2.031
   16ILE     H1    2  -0.807   1.055   2.001
   16ILE     H2    3  -0.893   0.943   2.084
···
  245ASN    OC1 3219   1.844   0.488   3.901
  245ASN    OC2 3220   1.733   0.669   3.934
    1MOL      N    1  -0.274   1.409   1.443
    1MOL      N    2  -0.186   1.219   1.547
    1MOL      C    3  -0.180   1.425   1.672
    1MOL      C    4  -0.210   1.561   1.678
    1MOL      C    5  -0.120   1.361   1.780
    1MOL      C    6  -0.179   1.634   1.793
    1MOL      C    7  -0.088   1.434   1.895
    1MOL      C    8  -0.213   1.348   1.552
    1MOL      C    9  -0.118   1.570   1.901
    1MOL      H   10  -0.257   1.615   1.597
    1MOL      H   11  -0.095   1.255   1.779
    1MOL      H   12  -0.202   1.740   1.798
    1MOL      H   13  -0.041   1.385   1.980
    1MOL      H   14  -0.093   1.627   1.991
    1MOL      H   15  -0.296   1.354   1.360
    1MOL      H   16  -0.299   1.507   1.438
    1MOL      H   17  -0.216   1.184   1.456
   5.48900   5.85200   6.76300

接着再修改拓扑文件:打开 topol.top ,在蛋白位置限制引用之后添加配体参数的引用

; Include Position restraint file
#ifdef POSRES
#include "posre.itp"
#endif

#include "ligand.itp"

#ifdef POSRES
#include "posre_ligand.itp"
#endif

; Include water topology
#include "./amber99sb-ildn_with_new_atoms.ff/tip3p.itp"

在末尾的 [ molecules ] 字段处添加 MOL 1

[ molecules ]
; Compound        #mols
Protein_chain_A     1
MOL   1

from Solvation to Equilibration

搭建盒子(这个盒子的尺寸和形状与原文献不同,所以后面加的离子数目也不同)、加水、加0.1M的NaCl:

gmx editconf -f complex.gro -o newbox.gro -center 3 3 3 -box 6.0 7.5 6.0
gmx grompp -f ions.mdp -c solv.gro -p topol.top -o ions.tpr
gmx genion -s ions.tpr -o solv_ions.gro -p topol.top -pname NA -nname CL -neutral -conc 0.1
13 #选 SOL

最小化:

gmx grompp -f em.mdp -c solv_ions.gro -p topol.top -o em.tpr
gmx mdrun -v -deffnm em

生成索引文件和配体的位置限制:

gmx make_ndx -f ligand.gro -o index_lig.ndx
...
 > 0 & ! a H*
 > q

gmx genrestr -f ligand.gro -n index_lig.ndx -o posre_ligand.itp -fc 1000 1000 1000

gmx make_ndx -f em.gro -o index.ndx
...
 > 1 | 13 #蛋白和配体和为一组
 > q

NPT预平衡:

gmx grompp -f npt.mdp -c em.gro -r em.gro -p topol.top -n index.ndx -o npt.tpr
gmx mdrun -v -deffnm npt

Create trajectories

因为我们要进行PCA分析,所以要获得大量的 TMD 轨迹(通常是100个以上),使用如下脚本进行50次重复的TMD模拟,其中的 TMD.mdp 文件的牵引设置如下

; Pull code
pull                    = yes
pull_ncoords            = 1         ; only one reaction coordinate
pull_ngroups            = 2         ; two groups defining one reaction coordinate
pull_group1_name        = MOL
pull_group2_name        = Pull2
pull_group2_pbcatom     = 1708
pull-pbc-ref-prev-step-com = yes
pull_coord1_type        = constraint  ; tmd
pull_coord1_geometry    = distance  ; simple distance increase
pull_coord1_dim         = N Y N
pull_coord1_groups      = 1 2
pull_coord1_start       = yes       ; define initial COM distance > 0
pull_coord1_rate        = 0.001       ; 0.001 nm per ps = 1 nm per ns 
pull_coord1_k           = 100      ; kJ mol^-1 nm^-2

批量TMD运行的脚本tmd.sh内容如下:

mkdir tmd

for i in {000..049}
do
gmx grompp -f TMD.mdp -c npt.gro -p topol.top -r npt.gro -n index.ndx -t npt.cpt -o tmd/tmd_"$i".tpr -maxwarn 1 
gmx mdrun -v -deffnm tmd/tmd_"$i"
done

将所有TMD轨迹文件提取 Protein_MOL 整合进一个 .xtc 文件(为了方便后续计算和分析):

cd tmd/
mkdir PCA

gmx trjcat -f *.xtc -o ./PCA/tmd.xtc -cat -n ../index.ndx

PCA for TMD

随后生成一个只包含 Protein_MOL 的.tpr 文件,这是为了下一步原子数匹配。然后消除轨迹平移和旋转:

cd PCA/
gmx convert-tpr -s ../tmd_0.tpr -n ../index.ndx -o tmd_k100.tpr

gmx trjconv -s tmd.tpr -f tmd.xtc -o tmd_nopbc.xtc -pbc mol
gmx trjconv -s tmd_k100.tpr -f tmd_k100_nopbc.xtc -o tmd_k100_done.xtc -fit rot+trans

接着利用gmx covar对轨迹进行协方差矩阵和本征向量的计算:

gmx covar -s tmd_k100.tpr -f tmd_k100_done.xtc -o tmd_k100_eigenvalues.xvg -v tmd_k100_eigenvectors.trr -xpma tmd_k100_covapic.xpm

gmx anaeig -s tmd_k100.tpr -f tmd_k100_done.xtc -v tmd_k100_eigenvectors.trr -first 1 -last 1 -proj tmd_k100_pc1.xvg  
gmx anaeig -s tmd_k100.tpr -f tmd_k100_done.xtc -v tmd_k100_eigenvectors.trr -first 2 -last 2 -proj tmd_k100_pc2.xvg
gmx anaeig -s tmd_k100.tpr -f tmd_k100_done.xtc -v tmd_k100_eigenvectors.trr -first 1 -last 2 -2d tmd_k100_2d12.xvg

其中eigenvalues.xvg里面记录了各个本征值的占比,eigenvectors.trr储存了投影到本征向量之后的坐标。然后使用gmx anaeig对轨迹进行投影,下面三个命令依次获得 PC1-time, PC2-time, PC1-PC2 的数据

gmx anaeig -s tmd_k100.tpr -f tmd_k100_done.xtc -v tmd_k100_eigenvectors.trr -first 1 -last 1 -proj tmd_k100_pc1.xvg  
gmx anaeig -s tmd_k100.tpr -f tmd_k100_done.xtc -v tmd_k100_eigenvectors.trr -first 2 -last 2 -proj tmd_k100_pc2.xvg
gmx anaeig -s tmd_k100.tpr -f tmd_k100_done.xtc -v tmd_k100_eigenvectors.trr -first 1 -last 2 -2d tmd_k100_2d12.xvg

(GMX 2023 的gmx anaeig似乎有点问题,我这边一用就Segmentation fault,有空再用低版本跑一个(懒了(最终效果图应当是这样的:

[1] Wolf, S., Lickert, B., Bray, S. et al. Multisecond ligand dissociation dynamics from atomistic simulations. Nat Commun 11, 2918 (2020). https://doi.org/10.1038/s41467-020-16655-1
在这里插入图片描述

[2] Yang Z, Zhou N, Jiang X, Wang L. Loop Evolutionary Patterns Shape Catalytic Efficiency of TRI101/201 for Trichothecenes: Insights into Protein-Substrate Interactions. J Chem Inf Model. 2023;63(20):6316-6331. doi:10.1021/acs.jcim.3c00787
在这里插入图片描述

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

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

相关文章

2.Docker基本架构简介与安装实战

1.认识Docker的基本架构 下面这张图是docker官网上的&#xff0c;介绍了整个Docker的基础架构&#xff0c;我们根据这张图来学习一下docker的涉及到的一些相关概念。 1.1 Docker的架构组成 Docker架构是由Client(客户端)、Docker Host(服务端)、Registry(远程仓库)组成。 …

树型表查询的两种方式(inner join 和 mysql递归查询)

方法一: 使用inner join来查询 SELECTone.id one_id,one.label one_label,two.id two_id,two.label two_label FROMcourse_category oneINNER JOIN course_category two ON two.parentid one.id WHEREone.parentid 1 AND one.is_show 1 AND two.is_show 1查询结果 方法…

IDEA远程调试代码

IDEA->RUN->Edit Configurations 端口随便选一个&#xff0c;选择调试模块&#xff0c;然后用IDEA生成的命令调试 java -agentlib:jdwptransportdt_socket,servery,suspendn,address*:8081 -jar backend-1.18.11.jar &

Android Studio创建项目后Gradle(构建)项目很慢问题解决

Android Studio创建项目后Gradle(构建)项目很慢问题解决 在使用Android Studio创建项目时&#xff0c;会自动从网上下载相关依赖。由于是访问国外服务器&#xff0c;会出现构建项目时下载依赖很慢的问题。为了解决该问题&#xff0c;需要在settings.gradle(或者settings.gradl…

2014年亚太杯APMCM数学建模大赛A题无人机创造安全环境求解全过程文档及程序

2014年亚太杯APMCM数学建模大赛 A题 无人机创造安全环境 原题再现 20 国集团&#xff0c;又称 G20&#xff0c;是一个国际经济合作论坛。2016 年第 11 届 20 国集团峰会将在中国召开&#xff0c;这是继 APEC 后中国将举办的另一个大型峰会。此类大型峰会&#xff0c;举办城市…

瓦斯抽采VR应急救援模拟仿真系统筑牢企业安全生产防线

矿工素质对安全生产的影响很大。传统的煤矿安全事故培训出于条件差、经验少加上侥幸心理&#xff0c;导致其在教学内容时过于简单且不切合实际&#xff0c;无法真正发挥培训作用。瓦斯检查作业VR模拟实操培训通过真实还原煤矿作业环境&#xff0c;让受训者身临其境地进入三维仿…

Windows10电脑如何测试宽带网速是多少?

Windows10电脑如何测试宽带网速是多少&#xff1f; 1、Windows10电脑上安装并打开360安全卫士&#xff1b; 2、在360安全卫士搜索框内找到宽带测速器&#xff1b; 3、点击打开360宽带测速器&#xff0c;开始测试本机网速&#xff1b; 4、耐心等待360宽带测速器完成&#xff0c…

【Docker】十分钟完成redis安装,你也可以的!!!

十分钟完成redis安装&#xff0c;你也可以的 前言安装步骤1.创建安装目录2.创建docker-compose.yml3.创建redis.conf文件4.启动容器5.连接redis 总结 前言 本文基于Docker安装redis&#xff0c;首先确保系统安装了docker和docker-compose。 没有使用过docker朋友可以去看看博主…

2023-macOS下安装anaconda,终端自动会出现(base)字样,如何取消

2023-macOS下安装anaconda&#xff0c;终端自动会出现(base)字样&#xff0c;如何取消 安装后&#xff0c;我们再打开终端&#xff0c;就会自动出现了&#xff08;base&#xff09; 就会出现这样子的&#xff0c;让人头大&#xff0c; 所以我们要解决它 具体原因是 安装了anac…

开放式耳机和骨传导耳机区别是什么?哪个更好一点?

开放式耳机和骨传导耳机最大的区别就是传声方式不同&#xff01;如果说推荐的话&#xff0c;骨传导耳机要好一些&#xff01; 其实骨传导耳机也算开放式耳机的一种&#xff0c;另一种则被称作为气传导耳机。 一、气传导耳机和骨传导耳机传声方式有什么区别&#xff1f; 气传导…

dy ios抓包及ios六神

1.抓包&#xff1a; 众所周知&#xff0c;dy协议都是无法直接抓包的。 a.在安卓中&#xff0c;我们可以通过改so及hook降级&#xff08;frida或xposed&#xff09;的方式来抓取数据流。 ~ b.在ios中&#xff0c;则需要手机越狱&#xff0c;来配个frida或者logos插件。 作者这里…

51单片机锅炉监控系统仿真设计( proteus仿真+程序+原理图+报告+讲解视频)

51单片机锅炉监控系统仿真设计( proteus仿真程序原理图报告讲解视频&#xff09; 1.主要功能&#xff1a;讲解视频2.仿真3. 程序代码4. 原理图5. 设计报告6. 设计资料内容清单&&下载链接资料下载链接&#xff08;可点击&#xff09;&#xff1a; 51单片机锅炉监控系统仿…

开发环境配置之Linux安装golang

Linux安装golang 目录 1. 下载Go发行版2. 配置工作空间3. 版本升级 1. 下载Go发行版 从官方地址&#xff1a;https://golang.org/dl/ 上下载合适的 二进制发行版 可以使用wget、curl等工具下载具体的go的发行版。 wget https://go.dev/dl/go1.21.3.linux-amd64.tar.gz接着…

有关资产跟踪的一般问题

1. 哪些行业使用资产跟踪&#xff1f; 如今&#xff0c;您几乎可以在每个行业中找到资产跟踪的实例。一些行业使用自己的术语来描述其跟踪系统&#xff0c;但您可以在零售、运输和物流、运输、制造、仓储、医疗保健、能源、建筑和教育领域找到资产跟踪的清晰示例。 2. 可以追…

VR全景技术在文化展示与传播中有哪些应用?

引言&#xff1a; 随着科技的不断进步&#xff0c;虚拟现实&#xff08;VR&#xff09;全景技术已经成为文化展示与传播领域的一项重要工具。那么VR全景技术是如何改变文化展示与传播方式&#xff0c;VR全景技术又如何推动文化的传承和普及呢&#xff1f; 一&#xff0e;VR技术…

苹果电脑如何录制电脑桌面内容?

我买了台苹果电脑&#xff0c;由于之前没用过&#xff0c;完全不知道如何使用这台苹果电脑进行录制桌面内容。如果你有这方面的困扰&#xff0c;那无需担心&#xff0c;小编今天就详细的为您讲解如何使用苹果电脑录制桌面内容。你可以使用电脑自带录屏工具录制&#xff0c;屏幕…

【ChatGLM2-6B】P-Tuning训练微调

机器配置 阿里云GPU规格ecs.gn6i-c4g1.xlargeNVIDIA T4显卡*1GPU显存16G*1 准备训练数据 进入/ChatGLM-6B/ptuningmkdir AdvertiseGencd AdvertiseGen上传 dev.json 和 train.json内容都是 {"content": "你是谁", "summary": "你好&…

数据绑定—变量

1.数据变量使用方法 使用相对路径&#xff0c;一层层看 2.data算数运算 3.查看页面数据方法 appdata中查看当前页面所有数据

Docker Compose部署Spug:实现内网穿透

文章目录 前言1. Docker安装Spug2 . 本地访问测试3. Linux 安装cpolar4. 配置Spug公网访问地址5. 公网远程访问Spug管理界面6. 固定Spug公网地址 前言 Spug 面向中小型企业设计的轻量级无 Agent 的自动化运维平台&#xff0c;整合了主机管理、主机批量执行、主机在线终端、文件…

复旦微flash高温下加载硬件程序时序异常问题

1、最近在调复旦微的板子&#xff0c;高温60℃上&#xff0c;重新上电&#xff0c;部分逻辑跑起来就出错。 2、通过分析排查问题出现在硬件程序加载时出错&#xff0c;即读取flash数据时出错。 3、解决方法&#xff1a;修改设备数的qspi时钟由50m改为10m&#xff0c;output.bif…