计算化学公社

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

[NAMD] NAMD自由能计算教程—1、用eABF和meta-eABF进行多维自由能计算

  [复制链接 Copy URL]

1149

帖子

6

威望

6635

eV
积分
7904

Level 6 (一方通行)

跳转到指定楼层 Go to specific reply
#
本帖最后由 fhh2626 于 2020-5-28 16:18 编辑

NAMD自由能计算教程—1、用eABF和meta-eABF进行多维自由能计算
fhh2626  Updated in 2020/5/28
本文首发计算化学公社分子模拟板块,禁止转载。
ChangeLog:
2020/5/28
well-tempered-meta-eABF的用法(建议使用这个)
NAMD 2.14b1及后续版本中边界力常数的设置方法
expandBoundaries选项

目前几大MD软件当中,Gromacs的中文资料比较丰富,而其他软件的则较少。尤其是NAMD,在网上很难找到中文教程。因此,作为NAMD的developer之一,我决定开一个坑,向大家介绍一下NAMD的中高级功能,可能包括但不限于TclForce,QM/MM,自由能计算,可极化力场,广义系综等等。希望我的教程能让大家觉得NAMD比别的MD软件要强大:)
这一系列教程假定读者已经具有一定的MD基础,能自己建立输入文件并且跑简单的平衡模拟(对于志在科研的你来说应该做得到吧。。。),由于我比较擅长自由能计算,所以我准备先介绍自由能计算这个主题,暂定有以下几个内容:
1、用eABF和meta-eABF进行多维自由能计算
2、谈谈metadynamics和其estimator
3、umbrella sampling、选择反应坐标和自由能计算当中的tricks
4、Colvars模块的高级应用
5、“炼金术”方法——FEP和TI
6、精确结合自由能计算和BFEE插件
下面进入主题。我把自由能计算方法大致分为两类:基于“炼金术”(alchemistry)的自由能计算方法和基于反应坐标的自由能计算方法。前者主要包括FEP和TI,由于其可以直接消失生长原子而不顾及化学原理,形似“炼金术”而得名。后者则包括ABF、Metadynamics、Umbrella Sampling和SMD四大方法。SMD是非平衡模拟方法,这里不多介绍,这个主题主要介绍其他的自由能计算方法。
如果要使用NAMD的话,则推荐使用ABF类方法,原因是NAMD的作者之一Chris Chipot和NAMD中自由能计算模块Colvars的作者Jérôme Hénin都是ABF阵营的兄弟。所以NAMD对ABF的支持较好。
在这个主题中,我会向大家介绍两种ABF的衍生方法,eABF和meta-eABF方法。其中eABF方法的基本原理是由Tony Lelièvre和Yang Wei首先提出的,由我最先实现在NAMD当中,之后Jerome提出了eABF的两个改进(czar estimator和pABF)。eABF目前是ABF的公认上位方法,即在任何情况下都应该使用eABF和不是传统ABF。meta-eABF是我最近提出的,(私货注意)是目前最快的自由能计算方法之一,(私货注意)我个人认为在任何情况下都可以使用meta-eABF代替eABF和metadynamics。
这里不详细讨论两种方法的原理,我会在第二讲和第三讲中涉及到各个方法的原理。此外,要详细了解原理或者引用参考文献的可以参考这几篇文献:
eABF:
Fu et al. J. Chem. Theory Comput., 2016, 12(8), pp 3506–3513
Lesage et al. J. Phys. Chem. B, 2017, 121(15), pp 3676–3685
meta-eABF:
Fu et al. J. Phys. Chem. Lett., 2018, 9(16), pp 4738–4745
Well-tempered-meta-eABF
Fu et al. Acc. Chem. Res. 2019, 52 (11), 3254–3264
下面以NANMA为例来介绍这两种方法的使用。NANMA又称alanine dipeptide,其构象变化通常可以用两个二面角来描述,这里我们将计算沿着这两个二面角的自由能变化:


这里假定读者具有能自己生成大部分输入文件的基础,生成好的pdb,psf和namd文件已经提供在附件当中。
namd文件中有以下几句话:
colvars                on
这句话表示激活NAMD当中的Colvars模块
colvarsConfig          colvarsA.in
这句话表示Colvars模块的输入文件名为colvarsA.in
然后打开colvarsA.in文件
colvarsTrajFrequency    20000
colvarsRestartFrequency 1000000
上面两句分别定义了colvars文件记录数据的频率和输出的频率
colvar {
name phi
这里定义了一个叫phi的几何变量
width 5.0
该几何变量记录数据的精度
lowerboundary -180
upperboundary 180
记录的上下界
extendedlagrangian   on
extendedFluctuation  5.0
extendedTimeConstant   200
定义体系中的扩展自由度,即eABF中的“e”,这里不用深究含义,对于任何体系均可设置extendedFluctuation=width和extendedTimeConstant=200
dihedral {
   group1 {
     atomnumbers 13
    }
   group2 {
     atomnumbers 15
    }
   group3 {
     atomnumbers 17
    }
   group4 {
     atomnumbers 1
    }
  }
  对于dihedral,即二面角colvar,需要定义4个原子(团),这里定义了13-15-17-1的二面角。定义原子(团)可以直接指定pdb当中的原子序号,也可以通过给一个reference pdb,在里边将某一列由0改为1实现,后面那种方法通常用于定义大原子团
}

colvar {
name psi

width 5.0
lowerboundary -180
upperboundary 180

extendedlagrangian   on
extendedFluctuation  5.0
extendedTimeConstant   200


dihedral {
   group1 {
     atomnumbers 3
    }
   group2 {
     atomnumbers 1
    }
   group3 {
     atomnumbers 17
    }
   group4 {
     atomnumbers 15
    }
  }
}

NAMD 2.14及之后的版本修改了边界力常数的定义方式,现在需要额外定义一个harmonicWalls block
#harmonicWalls {
#  name mywalls
#  colvars phi psi
#  lowerWalls -180 -180
#  upperWalls 180 180
#  forceConstant 1.0
#}
分别定义phi psi的边界墙,力常数为1.0,注意单位是对应变量的width值,也就是说力常数会随着反应坐标种类/width不同而自动scale。1.0的力常数适用于大多数情况,在这里由于二面角是周期性的,所以无需定义边界力常数

abf {
定义跑的作业为ABF,因为之前设了扩展自由度,因此跑的是eABF
colvars phi psi
表示针对上面定义的phi和psi colvars进行自由能能计算
fullSamples 500
在每一个width区间内的平衡步数,500-2000适用于绝大多数情况
historyfreq  1000000
写history文件的频率
writeCZARwindowFile
使用czar estimator时产生一些中间文件
}
提交作业,跑50 ns以后(至少有一台工作站吧!),对eabf.czar.pmf作图。

接下来尝试一下meta-eABF,meta-eABF是eABF和metadynamics的结合,打开colvarsA.in可以看到,配置文件绝大部分都跟eABF一样,多出了以下几句话,
subtractAppliedForce   on
expandboundaries    on
这是处理metadynamics高斯峰的一个选项,不写这个也不会影响计算结果,但是计算效率比较低

这是计算eABF偏置力的一个内部选项,使用meta-eABF时必须打开
metadynamics {
colvars phi psi
这里同时向定义的两个几何变量的扩展自由度上施加metadynamics偏置力,即meta-eABF
hillwidth  5
metadynamics的峰宽(单位为width),在meta-eABF中均可使用5
hillweight  0.1
metadynamics的峰高(kcal/mol),在meta-eABF中均可使用0.1
welltempered   on
biastemperature  4000
最早的meta-eABF并没有引入well-tempered算法,因为当时我觉得没啥用。后来在复杂体系计算中发现加上well-tempered算法会是的计算收敛性更好,因为eABF本身是渐近收敛的,well-tempered-MtD也是,但是单纯的metadynamics并不是渐近收敛的。
Biastemperature定义了MtD渐近收敛的速率,4000对大多数情况适用

}
提交作业,运行10 ns,对metaeabf.abf1.czar.pmf作图。


001_eABF_metaeABF.7z

147.28 KB, 下载次数 Times of downloads: 475

评分 Rate

参与人数
Participants 24
威望 +1 eV +86 收起 理由
Reason
MUMBER + 5 谢谢
gwh1206 + 2 谢谢
goodname + 5 好物!
Elden、Lord + 1 好物!
国小药 + 2 好物!
HZW + 2 好物!
guchen + 1 牛!
王维韬 + 3
mengzi + 5 好物!
bobosiji + 3 牛!
Yaqi + 5 好物!谢谢!
kaiwanxiao + 4 谢谢
cadz + 5 赞!
千张 + 2 精品内容
xcandy + 4 谢谢
yjmaxpayne + 5 好物!
Novice + 3 好物!
晴天 + 5 精品内容
kunkun + 5 精品内容
meatball1982 + 5 这是真的好东西。

查看全部评分 View all ratings

8

帖子

0

威望

363

eV
积分
371

Level 3 能力者

315#
发表于 Post on 2025-8-4 12:31:59 | 只看该作者 Only view this author
本帖最后由 Peng14 于 2025-8-4 17:14 编辑

已解决,感谢各位老师的帮助

1149

帖子

6

威望

6635

eV
积分
7904

Level 6 (一方通行)

314#
 楼主 Author| 发表于 Post on 2025-7-22 13:39:56 | 只看该作者 Only view this author
thor 发表于 2025-7-18 15:20
是这样的,左右两边收敛的地方不一样高

这个好像问题不大,只是没有收敛,再跑跑应该能平

134

帖子

0

威望

1664

eV
积分
1798

Level 5 (御坂)

313#
发表于 Post on 2025-7-18 15:20:41 | 只看该作者 Only view this author

是这样的,左右两边收敛的地方不一样高

1149

帖子

6

威望

6635

eV
积分
7904

Level 6 (一方通行)

312#
 楼主 Author| 发表于 Post on 2025-7-18 15:17:06 | 只看该作者 Only view this author
吹梦到西洲 发表于 2025-5-21 10:20
Fu老师您好,您的教程写的很棒,但是我目前碰到了一个问题想请教一下。
目前的工作是用gmx自带的colvar研 ...

你的colvars文件里面好像没有设置lowerboundary和upperboundary,也没有设置reflectingboundary。另外要画.czar.pmf文件,不是.pmf文件。

看你的轨迹,你这个虚原子被拉走了,真实CV并没有变(建议width为0.1、extendedFluctuation也为0.1)

1149

帖子

6

威望

6635

eV
积分
7904

Level 6 (一方通行)

311#
 楼主 Author| 发表于 Post on 2025-7-18 15:14:06 | 只看该作者 Only view this author
thor 发表于 2025-7-18 11:52
付博好,想请教您一个问题。我用meta-eabf(colvar+gromacs)做单个气体粒子通过二维材料覆盖一层离子液体 ...

没看到图

134

帖子

0

威望

1664

eV
积分
1798

Level 5 (御坂)

310#
发表于 Post on 2025-7-18 11:52:52 | 只看该作者 Only view this author
fhh2626 发表于 2025-1-28 00:16
是的
用distanceXY作为CV施加约束。但是修改axis选择YZ平面

付博好,想请教您一个问题。我用meta-eabf(colvar+gromacs)做单个气体粒子通过二维材料覆盖一层离子液体的膜(左侧为离子液体),发现出来的pmf收敛的两端不一样高,这是因为我的膜不对称造成的(如下图)?如果是的话,怎么解决这个问题?

5

帖子

0

威望

249

eV
积分
254

Level 3 能力者

309#
发表于 Post on 2025-5-22 12:45:54 | 只看该作者 Only view this author
kaiyuan 发表于 2025-5-17 17:20
请问你有找到解决办法吗,我关掉MtD只用eABF会出现段错误

不好意思,回复较晚。暂时没有找到好的解决方法。

69

帖子

0

威望

875

eV
积分
944

Level 4 (黑子)

308#
发表于 Post on 2025-5-21 10:20:38 | 只看该作者 Only view this author
Fu老师您好,您的教程写的很棒,但是我目前碰到了一个问题想请教一下。
目前的工作是用gmx自带的colvar研究蛋白LAP和配体TFG的解离。colvar的配置文件我放在最后。
1/从自由能曲线上看似乎很正常(图1),但是我在动力学轨迹上看到蛋白和配体的位置并没有什么变化?(图2是gmx pairdist的数据)
2/自由能曲线上横坐标即距离的第一帧,和我对动力学轨迹第一帧的坐标不同。
3/Fullsample × dt的值就是每一步模拟的时长吗?
图3是md.colvars.trj文件的内容。

以下是colvar配置文件的内容
colvarsTrajFrequency    20000
colvarsRestartFrequency 1000000

colvar {
  name dist_protein_mol
  width 1.0
  
  extendedlagrangian   on
  extendedFluctuation  1.0
  extendedTimeConstant   200

  subtractAppliedForce   on
  expandboundaries    on
  
  distance {
    group1 {
      indexGroup TGF
    }
    group2 {
      indexGroup LAP
    }
  }
}

abf {
  colvars dist_protein_mol
  fullSamples        500
  historyfreq  1000000
  writeCZARwindowFile
}

metadynamics {
  name eABFMetaDynamic
  colvars dist_protein_mol
  hillwidth  5
  hillweight  0.1
  welltempered   on
  biastemperature  4000
}

indexFile index.ndx
smp on

202505211015416938..png (53.49 KB, 下载次数 Times of downloads: 113)

FEP

FEP

202505211016287119..png (216.46 KB, 下载次数 Times of downloads: 109)

pairdist

pairdist

202505211019473881..png (808 KB, 下载次数 Times of downloads: 107)

md.colvars.trj

md.colvars.trj

236

帖子

0

威望

1229

eV
积分
1465

Level 4 (黑子)

实验组内的DFT计算、第一性原理、MD模拟爱好者

307#
发表于 Post on 2025-5-19 01:01:06 | 只看该作者 Only view this author
付老师,关于metadynamics中的Biastemperature设置,4000k,一般是能探索到无反应的过程(构型翻转等物理变化)的FES的高能垒部分,逼近收敛。这个值,如果放在化学反应过程中,能垒30kacl/mol左右,4000K这个值够吗,虽然也是能起到促进收敛作用,但不一定能探索到高能垒部分?我瞎猜的
目前专攻:
基于DFT、MD模拟的自由能计算
基于过渡态理论的自由能垒和反应速率常数计算
基于MD模拟的交联聚合物计算

14

帖子

0

威望

232

eV
积分
246

Level 3 能力者

306#
发表于 Post on 2025-5-17 17:20:29 | 只看该作者 Only view this author
Lecly 发表于 2025-5-16 23:08
+1,本人也时常遇到相同问题。

请问你有找到解决办法吗,我关掉MtD只用eABF会出现段错误

5

帖子

0

威望

249

eV
积分
254

Level 3 能力者

305#
发表于 Post on 2025-5-16 23:08:56 | 只看该作者 Only view this author
kaiyuan 发表于 2025-5-15 13:34
付老师你好,我在尝试用gromacs 2025.1+colvars计算两个疏水分子(石墨烯纳米带加侧链)的二聚化自由能,CV ...

+1,本人也时常遇到相同问题。

1149

帖子

6

威望

6635

eV
积分
7904

Level 6 (一方通行)

304#
 楼主 Author| 发表于 Post on 2025-5-16 15:52:29 | 只看该作者 Only view this author
kaiyuan 发表于 2025-5-15 17:46
感觉也没有明显的奇怪的构象出现,纳米带平面在某些帧会更扭曲一点点

下面是单个分子unbiased模拟过程 ...

那也许就是没什么问题,续跑就可以了

14

帖子

0

威望

232

eV
积分
246

Level 3 能力者

303#
发表于 Post on 2025-5-15 17:46:46 | 只看该作者 Only view this author
fhh2626 发表于 2025-5-15 17:08
我的意思是看看结构的轨迹,分子有没有发生一些预期之外的现象

感觉也没有明显的奇怪的构象出现,纳米带平面在某些帧会更扭曲一点点

下面是单个分子unbiased模拟过程中构象:



1149

帖子

6

威望

6635

eV
积分
7904

Level 6 (一方通行)

302#
 楼主 Author| 发表于 Post on 2025-5-15 17:08:21 | 只看该作者 Only view this author
kaiyuan 发表于 2025-5-15 15:45
看轨迹感觉是没什么问题,能够描述预期的运动,两个分子靠近和远离的过程
下面是其中一次模拟的CV轨迹

我的意思是看看结构的轨迹,分子有没有发生一些预期之外的现象

14

帖子

0

威望

232

eV
积分
246

Level 3 能力者

301#
发表于 Post on 2025-5-15 15:45:38 | 只看该作者 Only view this author
fhh2626 发表于 2025-5-15 15:27
看看你的轨迹,CVs是否能描述你预期的运动

看轨迹感觉是没什么问题,能够描述预期的运动,两个分子靠近和远离的过程
下面是其中一次模拟的CV轨迹

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

GMT+8, 2025-8-16 21:02 , Processed in 0.522585 second(s), 24 queries , Gzip On.

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