计算化学公社

 找回密码 Forget password
 注册 Register
楼主 Author: jackshoulder
打印 Print 上一主题 Last thread 下一主题 Next thread

[其它程序] 基于gmx_MMPBSA程序的结合自由能计算-MMGBSA方法

  [复制链接 Copy URL]

146

帖子

0

威望

1039

eV
积分
1185

Level 4 (黑子)

16#
发表于 Post on 2025-8-15 13:05:05 | 只看该作者 Only view this author
lele123 发表于 2025-8-15 10:37
请问,楼主为什么要消除水和离子,是为了缩短计算时间吗?消除水和离子,会不会对计算结果有影响呢?

我 ...

这不是写了要去除水和离子吗?

25

帖子

0

威望

91

eV
积分
116

Level 2 能力者

17#
发表于 Post on 2025-8-15 13:54:07 | 只看该作者 Only view this author
wbqdssl 发表于 2025-8-15 13:05
这不是写了要去除水和离子吗?

你说的那个是gmx_MMPBSA运行以后的步骤,运行之前准备的轨迹文件好像是不需要去除的(下图是运行前的准备)


不过谢谢你解答了我的问题,这样看的话,运行之前去除轨迹中的水和离子应该是不影响计算结果的。
而且我很久之前就有一个问题,gmx_MMPBSA能不能计算金属离子和其他组分(比如金属蛋白酶)的结合能。如果gmx_MMPBSA运行之后会去除水和离子,那应该是不能的。

202508151351415310..png (136.64 KB, 下载次数 Times of downloads: 71)

202508151351415310..png
想把计算化学公社装到我的脑子里

57

帖子

0

威望

683

eV
积分
740

Level 4 (黑子)

18#
 楼主 Author| 发表于 Post on 2025-8-15 15:46:24 | 只看该作者 Only view this author
lele123 发表于 2025-8-15 10:37
请问,楼主为什么要消除水和离子,是为了缩短计算时间吗?消除水和离子,会不会对计算结果有影响呢?

我 ...

你在看看官网,他们提到了,干净的轨迹,即使不是干净的轨迹,也没有问题,因为在计算的时候,只会与你命令中的两个组有关系,比如,你计算的时17 18之间的结合自由能,就只会算着两个组之间的,与其他分子没有任何关系,所以一般是得到一个“干净的轨迹”(是指只包含有你要计算的两个组的轨迹)。

57

帖子

0

威望

683

eV
积分
740

Level 4 (黑子)

19#
 楼主 Author| 发表于 Post on 2025-8-15 15:51:27 | 只看该作者 Only view this author
lele123 发表于 2025-8-15 13:54
你说的那个是gmx_MMPBSA运行以后的步骤,运行之前准备的轨迹文件好像是不需要去除的(下图是运行前的准备 ...

金属蛋白酶这一类的结合自由能,这个程序不太好处理,但你可以尝试将蛋白和你的金属编为一个组,这样你在保存轨迹的时候,就只保存这几个组含有的轨迹。在创建组的时候,先将你要计算的金属原子编为一个组,然后你要计算的另一个编为一个组,然后将这两个组合并为一个“complex”组,这样在保存轨迹的时候,你就只保存这个complex就行了

25

帖子

0

威望

91

eV
积分
116

Level 2 能力者

20#
发表于 Post on 2025-8-15 18:14:07 | 只看该作者 Only view this author
本帖最后由 lele123 于 2025-8-15 18:19 编辑
jackshoulder 发表于 2025-8-15 15:51
金属蛋白酶这一类的结合自由能,这个程序不太好处理,但你可以尝试将蛋白和你的金属编为一个组,这样你在 ...

谢谢楼主,楼上帮我解答了关于轨迹的疑问。

关于金属离子与其他组分的结合能,按照gmx_MMPBSA运行的步骤来看(在生成拓扑文件时,会删除水和离子),应该是不能计算离子与其他组分的结合能。
不知道这样理解对不对,还是说如果把离子作为受体或者配体时,会有例外(不被删除)

202508151818519092..png (348.06 KB, 下载次数 Times of downloads: 93)

202508151818519092..png
想把计算化学公社装到我的脑子里

1

帖子

0

威望

5

eV
积分
6

Level 1 能力者

21#
发表于 Post on 2025-9-3 20:09:52 | 只看该作者 Only view this author
请问楼主,index.ndx怎么得到的,是gmx make_ndx -f md_0_1.tpr -o index.ndx吗

57

帖子

0

威望

683

eV
积分
740

Level 4 (黑子)

22#
 楼主 Author| 发表于 Post on 2025-9-4 11:34:19 | 只看该作者 Only view this author
徐永红 发表于 2025-9-3 20:09
请问楼主,index.ndx怎么得到的,是gmx make_ndx -f md_0_1.tpr -o index.ndx吗

就是在gromacs中建立索引,gmx make_ndx -f em.gro -o index.ndx     这里em.gro也可以是nvt的,也可以是npt的,或者md产生的gro

10

帖子

0

威望

113

eV
积分
123

Level 2 能力者

23#
发表于 Post on 2025-9-18 16:07:14 | 只看该作者 Only view this author
首先,感谢楼主的分享,写得真好,很详细,帮助很大。
鄙人下载了楼主总结的蛋白质-小分子的mmpbsa.in参数文件,发现其中  print_res  = "within 1000"     # Which residues to print decomposition data for
处的1000似乎设置得不合理,官网默认值是6,查了一下资料,这个参数给出的是距离5埃米范围内的残基对,刚好覆盖了结合界面,1000是不是太大了点。

18

帖子

0

威望

974

eV
积分
992

Level 4 (黑子)

24#
发表于 Post on 2025-9-18 16:41:10 | 只看该作者 Only view this author
Soulmate 发表于 2025-9-18 16:07
首先,感谢楼主的分享,写得真好,很详细,帮助很大。
鄙人下载了楼主总结的蛋白质-小分子的mmpbsa.in参数 ...

print_res的大小对计算耗时影响非常小,我记得也有默认的-0.5 Kcal/mol可作为相互作用的筛选阈值。他这主要考虑的是相对于参考结构中原本不在print_res范围内的残基在轨迹后期进入该范围内的情况。这是有可能发生的。

57

帖子

0

威望

683

eV
积分
740

Level 4 (黑子)

25#
 楼主 Author| 发表于 Post on 2025-9-18 20:20:52 | 只看该作者 Only view this author
Soulmate 发表于 2025-9-18 16:07
首先,感谢楼主的分享,写得真好,很详细,帮助很大。
鄙人下载了楼主总结的蛋白质-小分子的mmpbsa.in参数 ...

这是防止你给的初始构象的在经过100ns或者更多ns的模拟,结合位点发生了漂移,相较于初始构象发生了很大的变化。这种情况,在有些结合位点不牢固的情况下,很常见。这是一个以防万一的做法,并且这个不管写多大,是不会影响计算速度的。

39

帖子

0

威望

219

eV
积分
258

Level 3 能力者

26#
发表于 Post on 2025-10-16 21:10:10 | 只看该作者 Only view this author
楼主您好,我尝试了许多不同的安装方法,都出现了各种各样的报错,想试试您的方法,所以想把我之前安装的一些东西完全删掉,请问您有什么好的方案嘛

39

帖子

0

威望

219

eV
积分
258

Level 3 能力者

27#
发表于 Post on 2025-10-18 12:08:05 | 只看该作者 Only view this author
  1. [INFO   ] Building Normal Complex Amber topology...
  2.   File "/home/wsy/miniconda3/envs/gmxMMPBSA/bin/gmx_MMPBSA", line 7, in <module>
  3.     sys.exit(gmxmmpbsa())
  4.   File "/home/wsy/miniconda3/envs/gmxMMPBSA/lib/python3.10/site-packages/GMXMMPBSA/app.py", line 98, in gmxmmpbsa
  5.     app.make_prmtops()
  6.   File "/home/wsy/miniconda3/envs/gmxMMPBSA/lib/python3.10/site-packages/GMXMMPBSA/main.py", line 681, in make_prmtops
  7.     self.FILES.mutant_receptor_prmtop, self.FILES.mutant_ligand_prmtop) = maketop.buildTopology()
  8.   File "/home/wsy/miniconda3/envs/gmxMMPBSA/lib/python3.10/site-packages/GMXMMPBSA/make_top.py", line 125, in buildTopology
  9.     tops = self.gmxtop2prmtop()
  10.   File "/home/wsy/miniconda3/envs/gmxMMPBSA/lib/python3.10/site-packages/GMXMMPBSA/make_top.py", line 566, in gmxtop2prmtop
  11.     com_top = self.cleantop(self.FILES.complex_top, self.indexes['COM']['COM'])
  12.   File "/home/wsy/miniconda3/envs/gmxMMPBSA/lib/python3.10/site-packages/GMXMMPBSA/make_top.py", line 853, in cleantop
  13.     rtemp_top = parmed.gromacs.GromacsTopologyFile(temp_top.name)
  14.   File "/home/wsy/miniconda3/envs/gmxMMPBSA/lib/python3.10/site-packages/parmed/gromacs/gromacstop.py", line 346, in __init__
  15.     self.read(fname, defines, parametrize)
  16.   File "/home/wsy/miniconda3/envs/gmxMMPBSA/lib/python3.10/site-packages/parmed/gromacs/gromacstop.py", line 383, in read
  17.     for line in f:
  18.   File "/home/wsy/miniconda3/envs/gmxMMPBSA/lib/python3.10/site-packages/parmed/gromacs/_gromacsfile.py", line 42, in __iter__
  19.     for line in self._handle:
  20.   File "/home/wsy/miniconda3/envs/gmxMMPBSA/lib/python3.10/site-packages/parmed/gromacs/_cpp.py", line 174, in __iter__
  21.     self._ppcmdmap[cmd](self, args)
  22.   File "/home/wsy/miniconda3/envs/gmxMMPBSA/lib/python3.10/site-packages/parmed/gromacs/_cpp.py", line 29, in wrapper
  23.     return func(self, args)
  24.   File "/home/wsy/miniconda3/envs/gmxMMPBSA/lib/python3.10/site-packages/parmed/gromacs/_cpp.py", line 283, in _pp_include
  25.     raise PreProcessorError(f'Could not find {includefile}')
  26. PreProcessorError: Could not find amber14sb_parmbsc1.ff/forcefield.itp
  27. Error occurred on rank 0.
  28. Exiting. All files have been retained.
  29. --------------------------------------------------------------------------
  30. MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD
  31. with errorcode 1.

  32. NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
  33. You may or may not see output from other processes, depending on
  34. exactly when Open MPI kills them.
复制代码


出现了这样的报错,请问有什么解决方案呢?

57

帖子

0

威望

683

eV
积分
740

Level 4 (黑子)

28#
 楼主 Author| 发表于 Post on 2025-10-18 18:36:06 | 只看该作者 Only view this author
wang011127 发表于 2025-10-18 12:08
出现了这样的报错,请问有什么解决方案呢?

第26行,提示你没有amber14sb_parmbsc1.ff/forcefield.itp力场,这个力场是根据你安装gromacs时,gromacs安装的文件夹中的力场文件决定的。根据这个提示报错,我认为你应该是没有正确将这个力场添加到gromacs的力场库中。力场安装库一般是在“share→gromacs→top”中。这是其一,其二是,还有一种可能是你动力学根本就没有用到这个力场进行动力学模拟,如果你没有用这个力场进行动力学模拟,却要用这个力场进行结合自由能计算,先抛开结果可靠性不谈,你这其实已经是前后力场不一致了,计算不规范。最终建议:先核对你动力学模拟是用的什么力场,然后再在计算结合自由能时改成相应力场,前后保持一致。

57

帖子

0

威望

683

eV
积分
740

Level 4 (黑子)

29#
 楼主 Author| 发表于 Post on 2025-10-18 18:37:49 | 只看该作者 Only view this author
wang011127 发表于 2025-10-18 12:08
出现了这样的报错,请问有什么解决方案呢?

主要原因是因为你的动力学文件中的topol中引用了amber14sb_parmbsc1.ff/forcefield.itp相关的参数,而你算结合自由能时又要用到这个topol,所以导致报错。

57

帖子

0

威望

683

eV
积分
740

Level 4 (黑子)

30#
 楼主 Author| 发表于 Post on 2025-10-18 18:40:02 | 只看该作者 Only view this author
wang011127 发表于 2025-10-16 21:10
楼主您好,我尝试了许多不同的安装方法,都出现了各种各样的报错,想试试您的方法,所以想把我之前安装的一 ...

你如果是借助conda创建的env的独立环境,你直接利用conda删除现有环境就行了。然后重新安装,重新创建新的env环境即可了。

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2026-1-23 11:34 , Processed in 1.282495 second(s), 23 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list