GROMACS中文手册:第七章 运行参数和程序

类别:    标签: gmx   阅读次数:   版权: (CC) BY-NC-SA

本手册已过时, 不再更新. 如果需要最新手册, 请加入下方QQ群.

7.1 在线和HTML手册

本章所有的信息都可以在GROMACS数据目录下的HTML文件中找到. 文件的路径取决于文件的安装位置, 默认位置是/usr/local/gromacs/share/gromacs/html/online.html. 如果你使用Linux安装包进行安装, 通常可以在/usr/share/gromacs/html/online.html找到. 你也可以使用GROMACS网站的在线手册, 其网址为http://manual.gromacs.org/current.

此外, 我们为所有程序都安装了标准的UNIX手册页. 如果你用source命令执行了主机上GROMACS二进制目录下的GMXRC脚本, 这些手册页应该已经出现在MANPATH环境变量中了, 而且你应该能够通过键入如man gmx-grompp之类的命令进行查看. 你也可以通过在命令行中使用-h标识(如gmx grompp -h)看到同样的信息, 你还可以使用gmx help grompp之类的命令. 所有程序的列表可从gmx help获得.

7.2 文件类型

表7.1列出了GROMACS使用的文件类型及其简短说明, 你可以在HTML参考手册或其在线版本中找到每类文件更加详细的说明. 如果系统的XDR库中存在配置脚本, GROMACS 1.6或更高版本可在任何架构上读取XDR格式的GROMACS文件, 这些文件应该永远存放于UNIX系统下, 因为它们必须要有NFS的支持.

表7.1: GROMACS的文件类型
默认名称.扩展名 类型 默认选项 说明
atomtp.atp Asc pdb2gm使用的原子类型文件
eiwit.brk Asc -f Brookhaven资料库文件
state.cpt xdr 检查点文件
nnnice.dat Asc 通用数据文件
user.dlg Asc ngmx对话框数据
sam.edi Asc ED抽样输入
sam.edo Asc ED抽样输出
ener.edr 通用能量: edr ene
ener.edr xdr 便携xdr格式的能量文件
ener.ene Bin 能量文件
eiwit.ent Asc -f 蛋白质数据库条目
plot.eps Asc EPS(tm)文件
conf.esp Asc -c ESPResSo格式的坐标文件
conf.g96 Asc -c Gromos-96格式的坐标文件
conf.gro Asc -c Gromos-87格式的坐标文件
conf.gro -c 结构: gro g96 pdb esp tpr tpb tpa
out.gro -o 结构: gro g96 pdb esp`
polar.hdb Asc 氢数据库
topinc.itp Asc 拓扑结构头文件
run.log Asc -l 日志文件
ps.m2p Asc mat2ps输入文件
ss.map Asc 矩阵数据到颜色的映射文件
ss.mat Asc 矩阵数据文件
grompp.mdp Asc -f 含MD参数的grompp输入文件
hessian.mtx Bin -m Hessian矩阵
index.ndx Asc -n 索引文件
hello.out Asc -o 通用输出文件
eiwit.pdb Asc -f 蛋白质数据库文件
residue.rtp Asc pdb2gmx使用的残基类型文件
doc.tex Asc -o LaTex文件
topol.top Asc -p 拓扑结构文件
topol.tpb Bin -s 二进制运行的输入文件
topol.tpr -s 通用运行输入文件: tpr tpb tpa
topol.tpr -s 结构+质量(db): tpr tpb tpa gro g96 pdb
topol.tpr xdr -s 便携式xdr运行输入文件
traj.trj Bin 轨迹文件(特定机器架构下的)
traj.trr 全精度轨迹: trr trj cpt
traj.trr xdr 便携xdr格式的轨迹
root.xpm Asc X PixMap兼容的矩阵文件
traj.xtc -f 轨迹, 输入: xtc trr trj cpt gro g96 pdb
traj.xtc -f 轨迹, 输出: xtc trr trj gro g96 pdb
traj.xtc xdr 压缩的轨迹(便携xdr格式)
graph.xvg Asc -o xvgr/xmgr文件

7.3 运行参数

7.3.1 通用参数

参数的默认值在括号中给出. 列表中的第一个选项始终是默认选项. 单位在方括号中给出, 破折号和下划线没有区别. 有一份示例的.mdp文件, 可用于开始一个正常的模拟. 你也可以编辑它以满足特定需求.

7.3.2 预处理

include:
在你的拓扑信息中包含特定的目录.
格式: -I/home/john/mylib -I../otherlib

define:
传递给预处理器的预定义, 默认不存在预定义. 你可以在自己定制的拓扑文件中使用任何定义来控制选项. 有以下默认可用的选项:

7.3.3 运行控制

integerator: (尽管名字的意思是积分方法, 但此参数包括了实际上不属于积分的算法. steep及其下的所有条目都属于此类)

tinit: (0) [ps]
运行的起始时间(只对md, sdbd积分方法有意义)

dt: (0.001) [ps]
积分时间步长(只对md, sdbd积分器有意义)

nsteps: (0)
积分或最小化的最大步数, –1意味着不限制步数

init-step(0)
起始步. 第i步的运行时间的计算公式为: t = tinit + dt * (init-step + i). 自由能计算中lambda的计算公式为: lambda=init-lambda + delta-lambda * (init-step+i). 非平衡态MD的参数也依赖于步数. 因此, 为了准确的重新启动或重做部分模拟, 可能需要将init-step设置为重启帧的步数. gmx convert-tpr可自动执行此操作.

comm-mode

nstcomm: (100) [步]
去除质心运行的频率

comm-grps:
需要去除质心运动的组, 默认是整个体系

7.3.4 Langevin动力学

bd-fric: (0) [amu ps-1]
Brown动力学摩擦系数. 当bd-fric=0时, 每个粒子的摩擦系数为其质量与tau-t的比值.

ld-seed: (–1) [整数]
用于初始化随机和Brown动力学的热噪声随机数发生器. 当ld-seed设置为–1时, 将使用伪随机种子. 当在多个处理器上运行BD或SD时, 每个处理器使用的种子等于ld-seed加上处理器的编号.

7.3.5 能量最小化

emtol: (10.0) [kJ mol-1 nm-1]
当最大的力比这个值小时就认为最小化收敛

emstep: (0.01) [nm]
初始步长大小

nstcgsteep: (1000) [步]
用共轭梯度进行能量最小化时执行一步最速下降的频率

nbfgscorr: (10)
L-BFGS最小化的校正步数. 数值越高(至少理论上)越准确, 但速度更慢.

7.3.6 壳层分子动力学

当体系中存在壳层或柔性约束时, 会在每个时间步对壳层的的位置和柔性约束的长度进行优化, 直到在壳层和约束上的力的RMS值小于emtol, 或达到迭代的最大次数(niter)

emtol: (10.0) [kJ mol-1 nm-1]
当最大的力比这个值小时就认为最小化收敛. 对壳层MD这个值最大是1.0, 但由于此变量也用于能量最小化, 所以其默认值为10.0.

niter: (20)
优化壳层位置和柔性约束的最大迭代次数.

fcstep: (0) [ps2]
优化柔性约束的步长. 应设置为mu/(d2V/dq2), 其中mu为柔性约束中两粒子的约化质量, d2V/dq2是势能在约束方向上的二阶导数. 这个数字对不同的柔性约束不要相差太大, 因为迭代次数进而运行时间对fcstep非常敏感. 多尝试几个值!

7.3.7 测试粒子插入

rtpi: (0.05) [nm]
测试粒子插入半径, 请参考积分方法tpitpic

7.3.8 输出控制

nstxout: (0) [步]
将坐标写入输出轨迹文件的间隔步数, 最后一步的坐标始终会写入

nstvout: (0) [步]
将速度写入输出轨迹文件的间隔步数, 最后一步的速度始终会写入

nstfout: (0) [步]
将力写入输出轨迹文件的间隔步数

nstlog: (1000) [步]
将能量写入log文件的间隔步数, 最后一步的能量始终会写入

nstcalcenergy: (100)
两次能量计算之间的间隔步数, 0表示从不计算. 此选项仅与动力学有关. 使用双程截断时nstcalcenergy应等于nstlist或其倍数. 此选项会影响并行模拟的性能, 因为计算能量需要所有进程之间的全局通讯, 在高度并行的情况下, 这可能会成为计算瓶颈.

nstenergy: (1000) [步]
将能量写入能量文件的间隔步数, 最后一步的能量始终会写入, 应是nstcalcenergy的倍数. 注意, 对所有MD步数与nstcalcenergy的模, 精确的能量总和及其涨落都存储在能量文件中, 所以当nstenergy>1时, g_energy仍可以给出精确的能量平均值及其涨落

nstxout-compressed: (0) [步]
利用有损压缩输出位置坐标的间隔步数

compressed-x-precision: (1000) [实数]
压缩轨迹文件的精度

compressed-x-grps:
写入到压缩轨迹文件的组, 默认写入整个体系(如果nstxout-compressed>0)

energygrps:
写入能量文件的组

7.3.9 邻区搜索

cutoff-scheme:

nstlist: (10) [步]

nstcalclr: (–1) [步]
使用组截断方案时, 控制远程力的计算周期.

ns-type:

pbc:

periodic-molecules:

verlet-buffer-tolerance: (0.005) [kJ/mol/ps]
只对cutoff-scheme=Verlet有用. 此选项设置由Verlet缓冲引起的每个粒子配对相互作用的最大允许误差, 间接设置了rlist. 若nstlist和Verlet缓冲大小都固定(出于性能原因), 不在配对列表中的粒子对在nstlist–1步内能够不时地进入截断距离内. 这将导致非常小的能量跳跃. 对等温系综, 对于给定的截断和rlist可估算出这些非常小的能量跳跃. 估算时假定均相的粒子分布, 因此对多相体系可能会略微低估误差. 对于较长的配对列表寿命(nstlist–1)*dt, 缓冲会被高估, 因为忽略了粒子之间的相互作用.
由于误差抵消, 总能量的实际漂移幅度通常小一到两个数量级. 注意, 与基于简单粒子配对的列表相比, GROMACS的配对列表设置导致漂移降低为原来的1/10, 生成的缓冲大小考虑了这一点影响. 不使用动力学(能量最小化等)时, 缓冲为截断的5%. 对NVE模拟, 会使用初始温度, 除非初始温度为零, 此时使用10%的缓冲. 对NVE模拟通常需要降低容差以便在纳秒的时间尺度达到适当能量守恒. 要覆盖自动缓冲设置, 可使用verlet-buffer-tolerance=-1, 并手动设置rlist.

rlist: (1) [nm]
短程邻区列表的截断距离. 使用cutoff-scheme=Verlet时, 默认由verlet-buffer-tolerance选项设置, 并忽略rlist值.

rlistlong: (–1) [nm]
长程邻区列表的截断距离. 此参数仅适用于切换势的双程截断设置. 在这种情况下, 需要一个缓冲区域以考虑电荷组的大小. 在所有其他情况下, 该参数自动设置为最长的截断距离.

7.3.10 静电

coulombtype:

coulomb-modifier

rcoulomb-switch: (0) [nm]
从何处开始切换库仑势, 只适用于应用力或势能的切换时.

rcoulomb: (1) [nm]
库伦截断距离

epsilon-r: (1)
相对介电常数. 为0时意味着无穷大.

epsilon-rf: (0)
反应场的相对介电常数, 仅与反应场静电方法一起使用. 为0时意味着无穷大.

7.3.11 VdW

vdwtype:

vdw-modifier:

rvdw-switch: (0) [nm]
从何处开始切换LJ力或势能, 只适用于应用力或势能的切换时.

rvdw: (1) [nm]
LJ或Buckingham的截断距离.

DispCorr:

7.3.12 表格

table-extension:: (1) [nm]
非键势能函数查询表超出最大截断距离后的延伸长度. 该值应足够大以考虑电荷组大小及更新邻区列表时扩散的影响. 不使用用户定义势能时, 对1–4相互作用的查询表会使用相同的表格长度, 此长度与非键相互作用的表格无关. table-extension的值决不可能影响rlist, rcoulombrvdw的值.

energygrp-table:
当对静电和/或VdW使用用户表格时, 可以在这里列出能量组之间的配对, 这些配对可以使用单独的用户表格. 两个能量组的名称将被追加到表格的文件名中, 追加时按照它们在energygrps中定义的顺序, 彼此之间以下划线隔开. 例如, 如果energygrps = Na Cl Sol, energygrp-table = Na Na Na Cl, 除常规的table.xvg外, mdrun还会读取table_Na_Na.xvgtable_Na_Cl.xvg, table.xvg将被用于所有其它能量组配对.

7.3.13 Ewald

fourierspacing: (0.12) [nm]
对普通的Ewald方法, 盒子尺寸和间距的比值决定了在每个(含符号)方向上使用的波矢数目的下限. 对PME和P3M, 该比率决定了沿每个轴使用的Fourier空间格点数目的下限. 在所有情况下, 每个方向上的数目都可通过非零的fourier_n[xyz]重新进行设置. 为优化粒子-粒子相互作用计算和PME网格计算之间的相对负载, 知道下面的事实可能对你会有帮助, 当对库仑截断和PME格点间距使用相同的因子进行缩放时, 静电计算的精确度几乎保持不变.

fourier-nx (0) ; fourier-ny (0) ; fourier-nz: (0)
使用Ewald方法时, 倒易空间波矢的最高振幅. 使用PME或P3M时, 格点的大小. 这些值会覆盖每个方向的fourierspacing设置. 最佳的数值为2, 3, 5和7的幂, 避免使用大的素数.

pme-order (4)
PME内插的阶数. 4对应于立方内插. 当并行运行时, 你可以尝试6/8/10, 并同时减少格点尺寸.

ewald-rtol (1e–5)
Ewald移位的实空间势能在rcoulomb处的相对强度由ewald-rtol给出. 降低此值会得到更精确的实空间加和, 但计算倒易空间加和时需要更多的波矢.

ewald-rtol-lj (1e–3)
当使用PME计算VdW相互作用时, ewald-rtol-lj用于控制rvdw处色散能的相对强度, 与ewald-rtol控制静电能的方式类似.

lj-pme-comb-rule (Geometric)
LJ-PME倒易部分VdW参数的组合规则. 几何规则比Lorentz-Berthelot规则快得多, 因此通常建议优先选择几何规则, 即便力场的其余部分使用了Lorentz-Berthelot规则.

ewald-geometry: (3d)

epsilon-surface: (0)
此选项控制3D Ewald加和的偶极校正. 默认值零意味着不进行校正. 将此值设置为围绕无穷大体系的假想表面的相对介电常数值, 即可进行校正. 小心, 如果你的体系含有自由移动的电荷, 你就不应该使用此选项. 这个值不影响长程校正的板状3DC方法.

7.3.14 温度耦合

tcoupl:

nsttcouple: (-1)
与温度耦合的频率. 默认值–1表示nsttcouplenstlist相等, 除非nstlist≤0, 此时会使用10. 对速度Verlet积分方法, nsttcouple被设置为1.

nh-chain-length (10)
速度Verlet积分方法中Nose-Hoover恒温链的数目, 蛙跳式md积分方法只支持1. Nose-Hoover链变量的数据不会输出到.edr, 但可使用环境变量GMX_NOSEHOOVER_CHAINS设置输出.

tc-grps:
独立地耦合到温度浴的组

tau-t: [ps]
耦合的时间常数(tc-grps中的每组一个值), –1意味着没有温度耦合

ref-t: [K]
耦合的参考温度(tc-grps中的每组一个值)

7.3.15 压力耦合

pcoupl:

pcoupltype:

nstpcouple: (–1)
压力耦合的频率. 默认值为–1, 表示nstpcouple等于nstlist, 除非nstlist≤0, 此时使用10. 对速度Verlet积分方法, nstpcouple被设置为1.

tau-p(1): [ps]
耦合的时间常数

compressibility: [bar-1]
压缩系数(注意: 现在真的是以bar-1为单位了), 处于1个标准大气压, 300 K下的水其压缩系数为4.5e–5 [bar-1].

ref-p: [bar]
耦合的参考压力

refcoord-scaling:

7.3.16 模拟退火

在GROMACS中, 对每个温度组的模拟退火是分开控制的. 参考温度是一个分段线性函数, 对每个组可以使用任意数目的点, 并选择单一序列或周期性退火类型. 实际退火是通过动态地改变参考温度进行的, 由于选择的温控算法也使用该温度, 所以要记住, 体系通常不会瞬间达到参考温度!

annealing:
每个温度组的退火类型

annealing-npoints:
退火参考/控制点数目的列表, 用于每个温度组. 对不退火的组使用0. 此项的数目应等于温度组的数目.

annealing-time:
退火参考/控制点的时间列表, 用于每个温度组.如果你正使用周期性退火类型, 时间将与最终值取模, 即, 如果时间为0, 5, 10和15, 耦合将会在15 ps, 30 ps, 45 ps等时间点后以0 ps时值重新启动. 此项的数目应该等于annealing-npoints给出的数字的总和.

annealing-temp:
退火参考/控制点的温度列表, 用于每个温度组. 此项的数目应该等于annealing-npoints给出的数字的总和.

很迷惑? 好吧, 让我们举个例子. 假设你有两个温度组, 组的选择设置为annealing = single periodic, 组的点数设置为annealing-npoints = 3 4, 退火时间设置为annealing-time = 0 3 6 0 2 4 6, 温度设置为annealing-temp = 298 280 270 298 320 320 298. 在0 ps第一组将被耦合到298 K, 但参考温度在3 ps内将线性下降到280 K, 然后在3 ps到6 ps这段时间内, 温度将从280 K线性变化到270 K. 在这之后温度保持270 K不变. 0 ps时第二组被耦合到298 K, 在2 ps内温度线性增加到320 K, 并保持不变直到4 ps. 在4 ps和6 ps之间温度降低到298 K, 然后将以同样的方式重新开始, 即在6 ps和8 ps之间从298 K线性上升到320 K. 如果你不确定, 请检查grompp给出的汇总信息!

7.3.17 速度产生

gen-vel:

gen-temp: (300) [K]
麦克斯韦分布的温度

gen-seed: (–1) [整数]
用于初始化产生随机速度的随机数发生器, 当gen-seed设置为–1时, 将使用伪随机种子.

7.3.18 键约束

constraints:

constraint-algorithm:

continuation:
此选项以前的名字为unconstrained-start.

shake-tol: (0.0001)
SHAKE相对容差

lincs-order: (4)
约束耦合矩阵展开的最高阶数. 当约束形成三角形时, 在这些三角形约束的正常展开之上会施加一个相同阶的展开. 对“正常”的MD模拟通常4阶就足够了; 对含有虚拟位点或BD并使用大时间步长的模拟, 需要使用6阶; 对精确的能量最小化, 可能需要使用8或更高的阶数. 与区域分解联用时, 原胞的大小由lincs-order+1个约束张成的距离决定. 如果想进行超过此限制的缩放, 可以降低lincs-order, 增加lincs-iter, 因为当(1+lincs-iter)*lincs-order保持不变时, 精度不会变差.

lincs-iter: (1)
LINCS中用于校正旋转增长的迭代次数. 对于正常的运行一步就足够了. 但对于NVE模拟, 如果需要精确的能量守恒或精确的能量最小化, 你可能需要将其增加到2.

lincs-warnangle: (30) [度]
LINCS失效前键能够旋转的最大角度.

morse:

7.3.19 能量组排除

energygrp-excl:
所有非键相互作用被排除在外的能量组对. 例如: 如果你有两个能量组ProteinSOL, 指定
energygrp-excl = Protein Protein SOL SOL
只会给出蛋白质和溶剂之间的非键相互作用. 对于加快mdrun -rerun的能量计算, 排除冻结组之间的相互作用, 此选项特别有用.

7.3.20 墙

nwall: 0
当设置为1时, 在z=0处存在一面墙; 当设置为2时, 还存在一面位于z=z-box处的墙. 墙只能用于pbc=xy. 当设置为2时, 可以使用压力耦合与Ewald加和(通常最好是使用半各向同性的压力耦合, 并将x/y的压缩率设置为0, 否则表面积会发生变化). 墙会与体系的其余部分进行相互作用, 其atomtype是可选的. 会自动增加能量组wall0wall1(nwall=2时)以监测能量组与每面墙之间的相互作用. Z方向的质心运动移除将被关闭.

wall-atomtype:
每面墙在力场中的原子类型名称. 通过(例如)在拓扑文件中定义一个特殊的墙原子类型及其组合规则, 可以独立地调整每个原子类型和墙的相互作用.

wall-type:

wall-r-linpot: –1 [nm]
与墙的距离在此值以下时, 势能线性连续, 因此力为常数. 当一些原子超过墙时, 将此选项设置为正值对平衡尤其有用. 当此值 \(\le 0\) (对wall-type=table则是<0)时, 原子超过墙后会产生致命错误.

wall-density: [nm-3/nm-2]
每面墙的原子数密度, 适用于类型为9–3和10–4的墙

wall-ewald-zfac: 3
第三个盒矢量的缩放因子, 仅用于Ewald加和, 最小值为2. Ewald加和只能与nwall=2联用, 并需要使用ewald-geometry=3dc. 盒子中真空层的作用是降低周期性映象之间不合实际的库仑相互作用.

7.3.21 质心牵引

pull:

pull-geometry:

pull-dim: (Y Y Y)
与牵引几何设置distance联用的距离分量, 也会设置打印到输出文件的分量.

pull-r1: (1) [nm]
牵引几何cylinder的圆柱内径

pull-r0: (1) [nm]
牵引几何cylinder的圆柱外径

pull-constr-tol: (1e–6)
约束牵引的相对约束容差

pull-start:

pull-print-reference: (10)

pull-nstxout: (10)
所有牵引组质心的输出频率

pull-nstfout: (1)
所有牵引组受力的输出频率

pull-ngroups: (1)
牵引组的数量, 使用时不包括绝对参考组. 牵引组可以在多个牵引坐标中重复使用. 下面只给出了第1组的牵引选项, 对其他组的选项, 只需简单地增加组编号即可.

pull-ncoords: (1)
牵引坐标的数目. 下面只给出了坐标1的牵引选项, 对其他其他坐标的选项, 只需简单地增加组编号即可.

pull-group1-name:
牵引组的名称, 在索引文件或默认组中查找, 以获得涉及的原子.

pull-group1-weights:
可选的相对权重, 原子质量乘以此值给出质心的总权重. 此值应为0, 意味着所有原子的相对权重为1, 或牵引组中原子的数目.

pull-group1-pbcatom: (0)
处理组内周期性边界条件的参考原子(不影响组间PBC的处理). 此选项仅当牵引组的直径超过最短盒矢量长度的一半时才重要. 为了确定质心, 组中所有原子被置于其最接近pull-group1-pbcatom的周期性映象. 此值为0时意味着使用中间原子(编号顺序). 此参数不能用于牵引几何cylinder. 此值为–1时启用余弦加权, 这对周期性的体系中的一组分子有用, 例如, 水的平板(参考 Engin et al. J. Chem. Phys. B 2010).

pull-coord1-groups:
给出牵引坐标作用的两个组的编号. 第一个编号可以是0, 在这种情况下使用pull-coord1-origin的绝对参考. 使用绝对参考时体系不再具有平移不变性, 你应该考虑如何处理质心的运动.

pull-coord1-origin: (0.0 0.0 0.0)
使用绝对参考时牵引的参考位置.

pull-coord1-vec: (0.0 0.0 0.0)
牵引方向. grompp会对此矢量进行归一化.

pull-coord1-init:: (0.0) [nm]
t=0时刻的基准距离.

pull-coord1-rate: (0) [nm/ps]
基准位置的变化速率.

pull-coord1-k: (0) [kJ mol-1 nm-2 / kJ mol-1 nm-1]
力常数. 对于伞势牵引, 此值为简谐力常数[kJ mol-1 nm-2]. 对于恒力牵引, 此值为线性势的力常数, 因而为力常数[kJ mol-1 nm-1]的负值(!).

pull-coord1-kB: (pull-k1) [kJ mol-1 nm-2 / kJ mol-1 nm-1]
pull-coord1-k类似, 但用于状态B. 仅当启用free-energy时才使用. 力常数为 (1-lambda)pull-coord1-k+lambdapull-coord1-kB.

7.3.22 NMR精修

disre:

disre-weighting:

disre-mixed

disre-fc: (1000) [kJ mol-1 nm-2]
距离约束的力常数, 对每个约束乘以一个(可能)不同的因子, 约束在拓扑文件中相互作用的fac列给出.

disre-tau: (0) [ps]
进行距离约束平均的时间常数. 零值关闭时间平均.

nstdisreout: (100) [步]
进行时间平均的间隔步数, 也是约束中涉及的所有原子对之间的瞬时距离写入到能量文件的间隔步数(会使能量文件变得非常大)

orire:

orire-fc: (0) [kJ mol]
取向约束的力常数, 对每个约束乘以一个(可能)不同的权重因子. 可设置为零以获得自由模拟的取向.

orire-tau: (0) [ps]
对取向约束进行时间平均的时间常数. 零值关闭时间平均.

orire-fitgrp:
取向约束的叠合组. 此原子组用于确定体系相对于参考取向的旋转矩阵R. 参考取向为第一个子体系的初始构型. 对蛋白质, 主链是合理的选择.

nstorireout: (100) [步]
进行时间平均的间隔步数, 也是所有约束的瞬时取向和分子序张量写入到能量文件的间隔步数(会使能量文件变得非常大)

7.3.23 自由能计算

free-energy:

init-lambda: (–1) [浮点数]
lambda的起始值. 通常, 只能用于慢增长方法(即delta-lambda非零). 在其他情况下, 应指定init-lambda-state来代替. 必须大于或等于0.

delta-lambda: (0)
每个时间步lambda的增量

init-lambda-state: (–1) [整数]
lambda状态的起始值. 指定应使用lambda向量(coul-lambdas, vdw-lambdas, bonded-lambdas, restraint-lambdas, mass-lambdas, temperature-lambdas, fep-lambdas)哪一列. 这是一个从零开始的索引: init-lambda-state 0表示第一列, 依此类推.

fep-lambdas: ()
零, 一个或更多lambda值, 会计算与其相应的哈密顿差值, 并每隔nstdhdl步写入到dhdl.xvg文件. 值必须处于0和1之间. 不同lambda值之间的自由能差值可以利用g_bar进行计算. fep-lambdas不同于其他-lambdas关键词, 因为所有未指定的lambda向量的分量都将使用fep-lambdas(包括约束的lambdas, 因而也包括牵引代码约束).

coul-lambdas: ()
零, 一个或更多lambda值, 会计算与其相应的哈密顿差值, 并每隔nstdhdl步写入到dhdl.xvg文件. 值必须处于0和1之间. 只有静电相互作用由此lambda向量的分量控制(并且仅当lambda=0和lambda=1的状态具有不同的静电相互作用时).

vdw-lambdas: ()
零, 一个或更多lambda值, 会计算与其相应的哈密顿差值, 并每隔nstdhdl步写入到dhdl.xvg文件. 值必须处于0和1之间. 只有van der Waals相互作用由此lambda向量的分量控制.

bonded-lambdas: ()
零, 一个或更多lambda值, 会计算与其相应的哈密顿差值, 并每隔nstdhdl步写入到dhdl.xvg文件. 值必须处于0和1之间. 只有键合相互作用由此lambda向量的分量控制.

restraint-lambdas: ()
零, 一个或更多lambda值, 会计算与其相应的哈密顿差值, 并每隔nstdhdl步写入到dhdl.xvg文件. 值必须处于0和1之间. 只有约束相互作用: 二面角约束和牵引代码约束由此lambda向量的分量控制.

mass-lambdas: ()
零, 一个或更多lambda值, 会计算与其相应的哈密顿差值, 并每隔nstdhdl步写入到dhdl.xvg文件. 值必须处于0和1之间. 只有粒子质量由此lambda向量的分量控制.

temperature-lambdas: ()
零, 一个或更多lambda值, 会计算与其相应的哈密顿差值, 并每隔nstdhdl步写入到dhdl.xvg文件. 值必须处于0和1之间. 只有温度由此lambda向量的分量控制. 注意这些lambda不能用于副本交换, 只能用于模拟回火.

calc-lambda-neighbors (1)
如果设置了init-lambda-state, 此选项控制lambda值的数目, 会计算相应的哈密顿差值并输出. 正值将lambda点的数目限制为只计算到init-lambda-state的第n个邻居. 例如, 若init-lambda-state为5, 此参数值为2, 会计算lambda点3–7的能量并输出. 此值为–1意味着会输出所有lambda. 对正常的BAR如g_bar, 此值取1就足够了, 而对于MBAR应该使用–1.

sc-alpha: (0)
软核势的α参数, 为0时对LJ和库仑相互作用进行线性内插

sc-r-power: (6)
软核势方程中径向项的次数. 可能的值为6和48. 6更标准一些, 为默认值. 当使用48时, sc-alpha一般应更小一些(0.001至0.003).

sc-coul: (no)
是否对分子的库仑相互作用使用软核自由能相互作用变换. 默认是不使用, 因为在禁用van der Waals相互作用前线性地禁用库仑相互作用通常更有效.

sc-power: (0)
软核函数中lambda的次数, 只支持1和2

sc-sigma: (0.3) [nm]
软核势的sigma值, 用于那些C6或C12参数为零, 或sigma小于sc-sigma的粒子

couple-moltype:
这里可以设置计算溶剂化或耦合自由能的分子类型(在拓扑中定义). 特殊选项system用于耦合体系中的所有分子类型, 这对于平衡由(几乎)随机坐标开始的体系有用. 必须启用free-energy选项. 此分子类型的Van der Waals相互作用和/或电荷在lambda=0和lambda=1之间可以启用或关闭, 取决于couple-lambda0couple-lambda1的设置. 如果想对分子多个副本中的一个去耦合, 你需要在拓扑中复制并重命名分子的定义.

couple-lambda0:

couple-lambda1:
类似于couple-lambda1, 但用于lambda=1

couple-intramol:

nstdhdl: (100)
输出dH/dlambda和可能的哈密顿差值到dhdl.xvg文件的频率, 0表示不输出, 此值应为nstcalcenergy的倍数.

dhdl-derivatives: (yes)
如果为yes(默认值), 每nstdhdl步会输出哈密顿对lambda的导数. 使用g_bar(尽管使用正确的foreign-lambda设置也可以做到, 但可能不够灵活)或热力学积分对线性能量差值进行内插时需要这些导数值.

dhdl-print-energy: (no)
在dhdl文件中包含总能量会势能. 可用选项有’no’, ‘potential’或’total’. 如果感兴趣的状态处于不同的温度, 后面进行自由能分析时需要这些信息. 如果所有状态的温度都相同, 不需要这些信息. 当使用mdrun -rerun产生dhdl.xvg文件时, ’potential’选项非常有用. 当从已有轨迹重新运行时, 动能经常是不正确的, 因此必须单独使用势能来计算残余的自由能, 并解析地计算动能分量.

separate-dhdl-file: (yes)

dh-hist-size: (0)
如果为非零值, 指定分格哈密顿差值(foreign-lambda指定)或导数dH/dl值的直方图的大小, 并写入ener.edr. 当计算自由能差值时, 这样做可以节省磁盘空间. 每个foreign lambda输出一个直方图, 每个dH/dl输出两个直方图, 每nstenergy步一次. 记住, 不正确的直方图设置(尺寸过小或分格太宽)可引入错误. 不要使用直方图, 除非你确定自己需要它.

dh-hist-spacing: (0.1)
指定直方图的分格宽度, 以能量为单位. 与dh-hist-size结合使用. 此大小限制了自由能计算的精度. 不要使用直方图, 除非你确定自己需要它.

7.3.24 扩展系综计算

nstexpanded
在扩展系综模拟中, 尝试移动之间的积分步数, 移动时会改变体系的哈密顿量. 必须为nstcalcenergy的倍数, 但可以大于或小于nstdhdl.

lmc-stats::

lmc-mc-move:

lmc-seed: (–1)
在状态空间进行Monte Carlo移动时使用的随机数种子. 当lmc-seed设置为–1时, 将使用伪随机数种子.

mc-temperature:
用于接受/拒绝Monte Carlo移动的温度. 如果未指定, 会使用在第一组ref_t中指定的模拟温度.

wl-ratio: (0.8)
要重置的状态占据数直方图的截断值, 自由能增量重置为delta->delta*wl-scale. 如果我们定义Nratio = (每个直方区间的采样数)/(每个直方区间的平均采样数), wl-ratio的值为0.8意味着, 只有当所有Nratio>0.8 并且 同时所有1/Nratio>0.8时. 直方图才被认为时平坦的.

wl-scale: (0.8)
每当直方图被认为很平时, 自由能Wang-Landau增量的当前值会乘以wl-scale. 此值必须介于0和1之间.

init-wl-delta: (1.0)
Wang-Landau增量的初始值, 以kT为单位. 接近1 kT的值通常最有效, 尽管有时2–3 kT的值更好, 如果自由能差值较大的话.

wl-oneovert: (no)
在大量采样极限情况下, 设置Wang-Landau增量的缩放为模拟时间的倒数. 有确切证据表明, 这里使用的状态空间中标准的Wang-Landau算法可导致自由能’燃烧’到不正确的值, 且依赖于初始状态. 当wl-oneovert为yes时, 若增量小于1/N, 其中N为收集的样本数(因此正比于数据收集时间, ‘1/t’), 则将Wang-Lambda增量设设置为1/N, 每步降低. 一旦发生这种情况, 将忽略wl-ratio, 但当达到lmc-weights-equil设置的平衡判据后, 权重仍将停止更新.

lmc-repeats: (1)
控制每次迭代中执行每个Monte Carlo交换类型的次数. 在大量Monte Carlo重复的极限情况下, 所有方法都收敛到Gibbs采样方法. 此值通常不需要不同于1.

lmc-gibbsdelta: (–1)
限制Gibbs采样到选定的相邻状态数. 对于Gibbs采样方法, 对所有定义的状态都进行采样有时效率比较低. lmc-gibbsdelta取正值意味着只有加或减lmc-gibbsdelta的状态才能进行上下交换. 值为–1意味着所有状态都可交换. 当状态数少于100时, 包括所有的状态可能并没有那么耗时.

lmc-forced-nstart: (0)
强制在初始状态空间进行采样以产生权重. 为得到合理的初始权重, 此设置允许模拟从开始到最后的lambda状态进行驱动, 在每个状态, 移动到下一lambda状态前进行lmc-forced-nstart步. 如果lmc-forced-nstart足够长(几千步, 也许), 权重就会接近正确值. 然而, 在大多数情况下, 简单地使用标准的权重平衡算法可能更好.

nst-transition-matrix: (–1)
输出扩展系综转移矩阵的频率. 负值表示只在模拟的最后输出.

symmetrized-transition-matrix: (no)
是否对称化经验转移矩阵. 在极限情况下, 矩阵将是对称的, 但在短的时间尺度内由于统计噪声会变得不对称. 通过使用矩阵T_sym = 1/2 (T + transpose(T))强制对称化, 可以避免一些问题, 如(振幅很小的)负本征值.

mininum-var-min: (100)
如果选择了min-variance策略(lmc-stats的选项仅适用于大量采样, 如果在每个状态使用的样本太少会被卡住.) mininum-var-min为每个状态在min-variance策略被激活之前允许的最小采样数.

init-lambda-weights:
用于扩展系综状态的初始权重(自由能). 默认为零权重向量. 格式类似于fep-lambda设置的lambda向量, 但权重可以为任意浮点数. 单位为kT. 长度必须匹配lambda向量的长度.

lmc-weights-equil: (no)

simulated-tempering: (no)
启用或关闭模拟回火. 模拟回火是通过扩展系综采样实现的, 实现时使用不同的温度代替了不同的哈密顿.

sim-temp-low: (300)
模拟回火的低温值.

sim-temp-high: (300)
模拟回火的高温值.

simulated-tempering-scaling: (linear)
控制从lambd向量的temperature-lambda部分计算中间lambda对应温度的方式.

7.3.25 非平衡MD

acc-grps:
具有恒定加速度的组(如Protein Sol), ProteinSol组中的所有原子都将具有恒定的加速度, 加速度的值在accelerate行中指定.

accelerate: (0) [nm ps-2]
acc-grps的加速度, 对每个组有x, y和z三个分量(例如, 0.1 0.0 0.0 -0.1 0.0 0.0意味着, 第一组在X方向具有恒定的加速度0.1 nm ps-2, 第二组的加速度与第一组相反).

freezegrps:
群组将被冻结(即其X, Y, 和/或Z位置不会被更新;如 脂质SOL).freezedim指定哪个维度的冻结申请.为了避免 虚假contibrutions的维里和压力, 由于之间完全大部队 冷冻原子, 你需要使用能源集团排除, 这也节省了计算时间. 需要注意的是冷冻原子的坐标不被压耦合算法缩放.

freezedim:
尺寸为这组freezegrps应该被冻结, 指定Y或N为X, Y 与Z和为每个组(例如YYNNNN意味着, 在第一组中的粒子可以 仅在Z方向移动.在第二组中的粒子可以以任何方向移动).

cos-acceleration: (0) [nm ps-2]
所述加速度曲线的振幅来计算粘度.加速度为 在X方向和大小是COS-加速度COS(2π的z / boxheight).两 术语被添加到能量的文件: 速度分布和第1 /粘度的振幅.

deform: (0 0 0 0 0 0) [nm ps-1]
变形对框要素的速度: A(X)B(y)的C(Z)B(X)C(X)C(Y).每一步 为其变形的框元件是非零的计算公式为: 箱(TS)+(叔TS)*变形, 非对角元素被用于校正周期性.的坐标变换与符合 多地.冷冻自由度都(故意)也改变.时间Ts设定为t时 第一步, 在步骤在其中x和v被写入轨迹保证精确重新启动. 变形可以与semiisotropic或各向异性压力耦合时, 可以使用 适当的可压缩被设置为零.对角元素可以用来对应变 固体.非对角元素可用于剪切固体或液体.

7.3.26 电场

E-x; E-y; E-z:
如果你想在某个方向上使用电场, 在适当的E-*后输入3个数字. 第一个数字: 余弦的数目, 只实现了单个余弦项(频率为0), 所以输入1; 第二个数字: 电场强度, 以V/nm为单位; 第三个数字: 余弦的相位, 你可以在这里输入任何数字, 因为频率为零的余弦没有相位.

E-xt; E-yt; E-zt:
尚未实现

混合量子/经典分子动力学

QMMM:

QMMM-grps::
QM水平的组

QMMMscheme:

QMmethod: (RHF)
用于计算QM原子的能量和梯度的方法. 可用的方法包括AM1, PM3, RHF, UHF, DFT, B3LYP, MP2, CASSCF和MMVB. 对CASSCF, 电子数和活化空间的轨道数分别由CASelectronsCASorbitals指定.

QMbasis: (STO–3G)
用于展开电子波函数的基组. 目前只可使用高斯基组, 即STO–3G, 3–21G, 3–21G, 3–21+G, 6–21G, 6–31G, 6–31G, 6–31+G和6–311G.

QMcharge: (0) [整数]
QMMM-grps的总电荷数, 以e为单位. 在有一个以上QMMM-grps的情况下, 需要单独指定每个ONIOM层的总电荷.

QMmult: (1) [整数]
QMMM-grps的多重度. 在有一个以上QMMM-grps的情况下, 需要单独指定每个ONIOM层的多重度.

CASorbitals: (0) [整数]
进行CASSCF计算时包含在活化空间中的轨道数.

CASelectrons: (0) [整数]
进行CASSCF计算时包含在活化空间中的电子数.

SH:

7.3.27 隐式溶剂

implicit-solvent:

gb-algorithm:

nstgbradii: (1) [步] </br> (重新)计算Born半径的频率. 对于大多数实际模拟, 设置大于1的值会破坏能量守恒并导致轨迹不稳定.

rgbradii: (1.0) [nm]
计算Born半径的截断值. 目前必须与rlist相等

gb-epsilon-solvent: (80)
隐式溶剂的介电常数

gb-saltconc: (0) [M]
隐式溶剂模型的盐浓度, 目前并未使用

gb-obc-alpha (1); gb-obc-beta (0.8); gb-obc-gamma (4.85);
OBC模型的缩放因子. 默认值为OBC(II)的值. OBC(I)的值分别为0.8, 0和2.91.

gb-dielectric-offset: (0.009) [nm]
计算Born半径时介电偏移的距离, 它是每个原子的中心与相应原子极化能量中心之间的偏移

sa-algorithm

sa-surface-tension: (-1) [kJ mol-1 nm-2]
SA算法中表面张力的默认值. 默认值为–1. 注意, 如果不改变此默认值, grompp将会使用与选择的半径算法相应的值覆盖默认值(Still: 0.0049 kcal/mol/Å2, HCT/OBC: 0.0054 kcal/mol/Å2). 将此值设置为0, 并使用SA算法意味着不计算非极性部分.

7.3.28 自适应分辨率模拟

adress: (no)
是否开启AdResS功能.

adress-type: (off)

adress-const-wf: (1)
常权重模拟的权重(adress-type=Constant)

adress-ex-width: (0)
显式区域的宽度, 从adress-reference-coords开始测量.

adress-hy-width: (0)
混合区域的宽度.

adress-reference-coords: (0,0,0)
显式区域的中心位置. 测量与它的距离时会使用周期性边界条件.

adress-cg-grp-names:
粗粒能量组的名称. 所有其他能量组都被认为是显式的, 它们之间的相互作用会被自动从粗粒组中排除.

adress-site: (COM)
用于计算权重的映射点.

权重由每个单独的原子的位置来计算.

adress-interface-correction: (off)

adress-tf-grp-names
若启用adress-interface-correction时, 施加thermoforce校正的能量组的名称. 如果没有给出组, 会应用到默认的表.

adress-ex-forcecap: (0)
在混合区域对力进行平齐, 对大分子有用. 0禁用力平齐.

7.3.29 用户自定义项

user1-grps; user2-grps:

userint1 (0); userint2 (0); userint3 (0); userint4 (0)

userreal1 (0); userreal2 (0); userreal3 (0); userreal4 (0)
如果修改了源代码你就可以使用这些. 你可以传递整数和实数到你的子程序. 检查src/include/types/inputrec.h中inputrec的定义.

◆本文地址: , 转载请注明◆
◆评论问题: https://jerkwin.herokuapp.com/category/3/博客, 欢迎留言◆


前一篇: 
后一篇: 

访问人次(2015年7月 9日起): | 最后更新: 2024-04-16 06:38:20 UTC | 版权所有 © 2008 - 2024 Jerkwin