计算化学公社

 找回密码 Forget password
 注册 Register
Views: 950|回复 Reply: 6
打印 Print 上一主题 Last thread 下一主题 Next thread

[GROMACS] 如何实现平衡相模拟中位置限制力常数随时间逐渐降低至零?

[复制链接 Copy URL]

3

帖子

0

威望

89

eV
积分
92

Level 2 能力者

各位大神老师好,作为一个MD菜鸟,学习中偶然看到有文章在做限制性动力学时,设置对重原子的位置约束力随时间逐渐降低至0(不知道是不是我理解的这样,附上原文描述如图)。我的问题是:1、与传统做法相比,这种限制策略是否更能保证蛋白质在升温升压后快速达到平衡而又不造成振荡?2、如何在Gromacs中实现这一限制力常数的动态设定?拜请各位老师不吝赐教,非常感谢!

202312311155027402..png (173.1 KB, 下载次数 Times of downloads: 17)

202312311155027402..png

216

帖子

4

威望

1486

eV
积分
1782

Level 5 (御坂)

2#
发表于 Post on 2023-12-31 14:56:42 | 只看该作者 Only view this author
不行 转amber去吧,amber可以,这种自然会更合理一点,不过你npt的时候限制把系综跑好了,md的时候直接彻底放开感觉也没有问题。md本来就是一个混沌系统,直接放和慢慢放感觉差异不大,前提是你系综已经合理了

1171

帖子

7

威望

6858

eV
积分
8169

Level 6 (一方通行)

3#
发表于 Post on 2023-12-31 18:00:10 | 只看该作者 Only view this author
你多做几个配置文件,把力常数逐渐减小就行了

3

帖子

0

威望

89

eV
积分
92

Level 2 能力者

4#
 楼主 Author| 发表于 Post on 2024-1-1 11:00:04 | 只看该作者 Only view this author
Huschein 发表于 2023-12-31 14:56
不行 转amber去吧,amber可以,这种自然会更合理一点,不过你npt的时候限制把系综跑好了,md的时候直接彻底 ...

谢谢老师解答,据我了解Gromacs速度快,用户群体多,更符合我运算资源有限且是新手的情况,因此选择学习Gromacs。就像您说的,md是一个混沌系统,只要系综合理,直接放和慢慢放对最终平衡态的影响不大。但如果在计算资源有限的情况下,通过渐变限制能更快使体系达到平衡相,就能节省出更多时间去做产生相模拟。当然这些只是我的粗浅理解,不知道对不对。

3

帖子

0

威望

89

eV
积分
92

Level 2 能力者

5#
 楼主 Author| 发表于 Post on 2024-1-1 11:02:40 | 只看该作者 Only view this author
fhh2626 发表于 2023-12-31 18:00
你多做几个配置文件,把力常数逐渐减小就行了

谢谢老师解答,这的确是一个解决方案,就是麻烦些,我尝试一下,看看效果!

216

帖子

4

威望

1486

eV
积分
1782

Level 5 (御坂)

6#
发表于 Post on 2024-1-1 13:43:37 | 只看该作者 Only view this author
lmhytr 发表于 2024-1-1 11:00
谢谢老师解答,据我了解Gromacs速度快,用户群体多,更符合我运算资源有限且是新手的情况,因此选择学习G ...

你相平不平衡和限制势有什么关系,几万几十万的体系,限制的原子最多占10%,限制势只是让你在相平衡的过程中保证分子别乱跑而已,改10ns平衡还是10ns,并不会因为这种衰减式的限制而让平衡时间变短

82

帖子

2

威望

793

eV
积分
915

Level 4 (黑子)

分子模拟晶戈

7#
发表于 Post on 2024-1-2 12:19:23 | 只看该作者 Only view this author
本帖最后由 对抗路达摩 于 2024-1-2 12:21 编辑

复制代码




import subprocess as sp
import os

genRestr = 'gmx genrestr -f em.gro -n index.ndx -o posre.itp -fc {}'
pwd = os.getcwd()
sp.run(genRestr.format(1000), cwd = pwd, shell=True)
sp.run('gmx grompp -f pr.mdp -c em.gro -p topol.top -o pr0.tpr -r em.gro', cwd = pwd, shell=True)
sp.run('gmx mdrun -v -deffnm pr0', cwd = pwd, shell=True)
sp.run(genRestr.format(100), cwd = pwd, shell=True)
sp.run('gmx grompp -f pr.mdp -c pr0.gro -t pr0.cpt -p topol.top -o pr1.tpr -r pr0.gro', cwd = pwd, shell=True)
sp.run('gmx mdrun -v -deffnm pr1', cwd = pwd, shell=True)
sp.run(genRestr.format(10), cwd = pwd, shell=True)
sp.run('gmx grompp -f pr.mdp -c pr1.gro -t pr1.cpt -p topol.top -o pr2.tpr -r pr1.gro', cwd = pwd, shell=True)
sp.run('gmx mdrun -v -deffnm pr2', cwd = pwd, shell=True)



准备好一个运行1ns的预平衡文件,和一个只包含protein的index.ndx文件,用这段python代码可以管理你的模拟。
另一个常见的python内管理的包是gromacsWrapper,那个更好用一点。

本版积分规则 Credits rule

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

GMT+8, 2026-2-20 18:50 , Processed in 0.171210 second(s), 23 queries , Gzip On.

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