Gromacs笔记 文件类型

前言:前几个月受openFoam折磨一番后,这两周继续回来学习Gromacs. 这两个开源软件都体现了Linux系统“一切皆文件”思想,参数条件是文件,中间数据是文件,指令是文件等等;而且把不同的功能(前者的网格生成,后者的定义晶胞)分配给单一目标的小程序。

搞清楚文件的组成就懂了一半。不同之处是前者各种文件是以.c文件组织的,注释和表达式当然都是C的格式,为了让用户方便区分(我猜的),设置了层层叠叠的文件夹;而后者基本都在一个目录下运行,起了一大堆后缀名来互相区分,本质上其实都是txt文件。

一个Gmx模拟至少需要三个文件:拓扑.top、结构.gro、参数.mdp

拓扑文件:.top/.itp

topology文件包含除了结构文件以外关于模拟体系的信息;如果用pdb2gmx这种程序生成,就相当于把生成过程中对各种力场的选择都记录下来,算是整合目录+log性质的文件;它需要包含三个层次的拓扑:参数级别、分子级别、体系级别

参数级别,定义一些力场

分子级别,包含键、对、角、二面角等形状

这两部分往往“折叠”成几个itp文件以备复用:

#include xxx.itp 包括Gromacs软件包里自带的文件也包括用户给出的文件

力场的itp文件包含[default]段,分子的itp文件包含[atoms][bonds]…[dihedrals]段

接下来的段给出限制条件,如

[position_restraints]相对于最初位置的限制


体系级别

[system]

系统名称,给出一组字符串描述这个系统,如:XXX in water

[molecules]

给出分子名称和分子数,如:SOL 400000

结构文件:

.pdb protein data bank文件可以很复杂,但不是各种记录都要有

一行开头用一个词标记这行提供的信息类型,如ATOM

ATOM 1 CA LEU A 2 x y z 1.00 1.00 

后面依次表示[1号原子] [α碳] [属于亮氨酸] [在A链上] [残基编号2] [x坐标] [y坐标] [z坐标] [占有率1.0] [温度因子1.0]

.gro

[分子编号] [原子类型][原子标号][x坐标][y坐标][z坐标][x速度] [y速度] [z速度]

最后以盒子形状结尾x y z

处理这个文件的时候,发现原子类型和原子标号间竟然是固定位置,也就是说原子标号达到10000以上会把空格吞掉合并成一个字符串,处理起来产生了一些意外。由于规模太大没有看10万以上到底是个什么情况,会不会继续往前占位;也许是一个漏洞?

参数文件:

.mdp 给出MD模拟的参数和方法

Run parameters:积分算法;计算步数和时间步长

Output:轨迹文件和保存频率

Bond parameters:键的约束,SHAKE/LINCS

Neighborsearching:包括一系列截断距离,如

    rvdw = 1.4 ;1.4nm处截断范德华力

Electrostatics:库伦力的计算方式,如Particle Mewh Ewald法,其中傅里叶变换的格点间距等

Temerature/Pressure coupling:温度压力耦合;按照之前的理解,是将系统里原子的动能按照环境温度/压力给予限制

周期性边界条件,如三维直角坐标 : pbc = xyz

色散校正,如:DispCorr = EnerPres

速度生成:随机给予的初速度大小和seed


之后的内容与这个md的细分目的有关

如COM motion

如Pull code


参考内容:

Gromacs tutorial/Gromacs manual

你可能感兴趣的:(Gromacs笔记 文件类型)