文件介绍三:top和itp力场文件介绍

TOP 和 ITP 文件介绍

在分子动力学模拟(如 GROMACS)中,TOP 文件ITP 文件是描述力场参数和分子拓扑结构的关键文件。它们分别用于定义全局和局部的拓扑信息。


1. TOP 文件

定义

TOP 文件(Topology 文件)描述了整个系统的全局拓扑信息,包括力场参数、分子种类和相互作用。

主要内容

  1. 全局参数
    • 力场类型(如 GROMOS、AMBER、CHARMM 等)。
    • Lennard-Jones 力、Coulomb 力的全局参数设置。
  2. 分子定义
    • 系统中所有分子的拓扑信息,包括原子、键、角、二面角等。当然并不是将所有的信息都写入这个文件,部分信息会写到itp中,甚至一些具体参数也不会呈现,但会运行时,根据top的参数去找到索引到的文件,将上述的内容补充。
  3. 非键相互作用
    • 定义原子间的范德瓦尔斯力和静电相互作用参数。
  4. 分子数量
    • 系统中每种分子的数量。

分子数量这部分要严格和坐标文件对应,分子书写顺序和数量

特点

  • 全局性:包含整个模拟系统的所有分子和参数。
  • 不可复用性:每个系统需要单独生成一个 TOP 文件。
  • 静态性:在模拟过程中不会改变。

示例(GROMACS 格式)

The top file extension stands for topology. It is an ascii file which is read by gmx grompp which processes it and creates a binary topology (.tpb file).
A sample file is included below:
;
;   Example topology file
;
[ defaults ]
; nbfunc        comb-rule       gen-pairs       fudgeLJ fudgeQQ
  1             1               no              1.0     1.0

; The force field files to be included
#include "rt41c5.itp"  

[ moleculetype ]
; name  nrexcl
Urea         3

[ atoms ]
;   nr    type   resnr  residu    atom    cgnr  charge
     1       C       1    UREA      C1       1   0.683  
     2       O       1    UREA      O2       1  -0.683
     3      NT       1    UREA      N3       2  -0.622
     4       H       1    UREA      H4       2   0.346
     5       H       1    UREA      H5       2   0.276
     6      NT       1    UREA      N6       3  -0.622
     7       H       1    UREA      H7       3   0.346
     8       H       1    UREA      H8       3   0.276

[ bonds ]
;  ai    aj funct           c0           c1
    3     4     1 1.000000e-01 3.744680e+05 
    3     5     1 1.000000e-01 3.744680e+05 
    6     7     1 1.000000e-01 3.744680e+05 
    6     8     1 1.000000e-01 3.744680e+05 
    1     2     1 1.230000e-01 5.020800e+05 
    1     3     1 1.330000e-01 3.765600e+05 
    1     6     1 1.330000e-01 3.765600e+05 

[ pairs ]
;  ai    aj funct           c0           c1
    2     4     1 0.000000e+00 0.000000e+00 
    2     5     1 0.000000e+00 0.000000e+00 
    2     7     1 0.000000e+00 0.000000e+00 
    2     8     1 0.000000e+00 0.000000e+00 
    3     7     1 0.000000e+00 0.000000e+00 
    3     8     1 0.000000e+00 0.000000e+00 
    4     6     1 0.000000e+00 0.000000e+00 
    5     6     1 0.000000e+00 0.000000e+00 

[ angles ]
;  ai    aj    ak funct           c0           c1
    1     3     4     1 1.200000e+02 2.928800e+02 
    1     3     5     1 1.200000e+02 2.928800e+02 
    4     3     5     1 1.200000e+02 3.347200e+02 
    1     6     7     1 1.200000e+02 2.928800e+02 
    1     6     8     1 1.200000e+02 2.928800e+02 
    7     6     8     1 1.200000e+02 3.347200e+02 
    2     1     3     1 1.215000e+02 5.020800e+02 
    2     1     6     1 1.215000e+02 5.020800e+02 
    3     1     6     1 1.170000e+02 5.020800e+02 

[ dihedrals ]
;  ai    aj    ak    al funct           c0           c1           c2
    2     1     3     4     1 1.800000e+02 3.347200e+01 2.000000e+00 
    6     1     3     4     1 1.800000e+02 3.347200e+01 2.000000e+00 
    2     1     3     5     1 1.800000e+02 3.347200e+01 2.000000e+00 
    6     1     3     5     1 1.800000e+02 3.347200e+01 2.000000e+00 
    2     1     6     7     1 1.800000e+02 3.347200e+01 2.000000e+00 
    3     1     6     7     1 1.800000e+02 3.347200e+01 2.000000e+00 
    2     1     6     8     1 1.800000e+02 3.347200e+01 2.000000e+00 
    3     1     6     8     1 1.800000e+02 3.347200e+01 2.000000e+00 

[ dihedrals ]
;  ai    aj    ak    al funct           c0           c1
    3     4     5     1     2 0.000000e+00 1.673600e+02 
    6     7     8     1     2 0.000000e+00 1.673600e+02 
    1     3     6     2     2 0.000000e+00 1.673600e+02 

; Include SPC water topology
#include "spc.itp"

[ system ]
Urea in Water

[ molecules ]
Urea    1
SOL 1000



具体介绍如下:

1. [ defaults ]

; nbfunc        comb-rule       gen-pairs       fudgeLJ fudgeQQ
  1             1               no              1.0     1.0
  • nbfunc:非键相互作用的类型。1 表示使用 Lennard-Jones 力。
  • comb-rule:组合规则,决定如何组合不同原子类型的参数。1 表示使用简单加法法则。
  • gen-pairs:是否生成配对参数。no 表示不生成配对参数。
  • fudgeLJ:Lennard-Jones 力常数的修正因子。1.0 表示不进行修正。
  • fudgeQQ:静电力常数的修正因子。1.0 表示不进行修正。

这个部分定义这个力场的计算规则,不同的的计算规则,会导致下面的输入参数发生改变

2. [ moleculetype ]

[ moleculetype ]
; name  nrexcl
Urea         3
  • name:分子的名称。此处为 Urea(尿素)。
  • nrexcl:分子拓扑中用于排除相互作用的最大原子数。3 表示分子拓扑中最多可以排除3个原子之间的相互作用。

注:这部分开始定义分子,分子名称和下面的各分数目对应上。同时,如果其他的itp(含有分子力场的,从[ moleculetype ]开始定义的。)文件要在这部分中索引,不然会报错。

3. [ atoms ]

[ atoms ]
;   nr    type   resnr  residu    atom    cgnr  charge
     1       C       1    UREA      C1       1   0.683  
     2       O       1    UREA      O2       1  -0.683
     3      NT       1    UREA      N3       2  -0.622
     4       H       1    UREA      H4       2   0.346
     5       H       1    UREA      H5       2   0.276
     6      NT       1    UREA      N6       3  -0.622
     7       H       1    UREA      H7       3   0.346
     8       H       1    UREA      H8       3   0.276
  • nr:原子的编号。
  • type:原子的类型。例如,C 表示碳原子,O 表示氧原子,NT 表示氮原子(带有电荷的氮)。
  • resnr:残基编号。
  • residu:分子名称(如 UREA)。
  • atom:原子名称。
  • cgnr:原子的电荷组编号。
  • charge:原子电荷。

注:这部分开始定义分子中的原子。注意原子顺序和坐标文件原子顺序相对应,原子名称独一无二用于区分每个原子。这部分内容会将原子名称对应的各个原子,通过残基,找到相应的原子类型,导入相应原子类型的参数。

4. [ bonds ]

[ bonds ]
;  ai    aj funct           c0           c1
    3     4     1 1.000000e-01 3.744680e+05 
    3     5     1 1.000000e-01 3.744680e+05 
    6     7     1 1.000000e-01 3.744680e+05 
    6     8     1 1.000000e-01 3.744680e+05 
    1     2     1 1.230000e-01 5.020800e+05 
    1     3     1 1.330000e-01 3.765600e+05 
    1     6     1 1.330000e-01 3.765600e+05
  • ai, aj:连接的两个原子的编号。
  • funct:功能类型。1 表示使用简单的哈里斯弹性常数模型来描述键合力,也就是计算规则。
  • c0, c1:键的常数(常见为弹性常数和长度)。

注:这部分开始定义两种原子相连接的键的参数,此处数字规定的是[ atoms ]上的原子编号。软件会通过原子名称,找到原子类型,再找到对应的两种原子类型连接时的键的参数。

5. [ pairs ]

[ pairs ]
;  ai    aj funct           c0           c1
    2     4     1 0.000000e+00 0.000000e+00 
    2     5     1 0.000000e+00 0.000000e+00 
    2     7     1 0.000000e+00 0.000000e+00 
    2     8     1 0.000000e+00 0.000000e+00 
    3     7     1 0.000000e+00 0.000000e+00 
    3     8     1 0.000000e+00 0.000000e+00 
    4     6     1 0.000000e+00 0.000000e+00 
    5     6     1 0.000000e+00 0.000000e+00
  • ai, aj:参与非键相互作用的两个原子的编号。
  • funct:功能类型。1 表示使用简单的Lennard-Jones力。
  • c0, c1:常数(通常为零,表示没有实际的非键相互作用)。

注:这部分开始定义非键相互作用对,分子内原子不仅受到键相互作用,非键连接的分子,之间也会有相互作用,有些分子通是没有的。

6. [ angles ]

[ angles ]
;  ai    aj    ak funct           c0           c1
    1     3     4     1 1.200000e+02 2.928800e+02 
    1     3     5     1 1.200000e+02 2.928800e+02 
    4     3     5     1 1.200000e+02 3.347200e+02 
    1     6     7     1 1.200000e+02 2.928800e+02 
    1     6     8     1 1.200000e+02 2.928800e+02 
    7     6     8     1 1.200000e+02 3.347200e+02 
    2     1     3     1 1.215000e+02 5.020800e+02 
    2     1     6     1 1.215000e+02 5.020800e+02 
    3     1     6     1 1.170000e+02 5.020800e+02
  • ai, aj, ak:参与角度形成的三个原子编号。
  • funct:功能类型。1 表示使用简单的弹簧常数模型来描述角度力。
  • c0, c1:角度的常数(通常为弹性常数和角度本征值)。

注:这部分开始定义键,分子内原子不仅受到键相互作用,非键连接的分子,之间也会有相互作用,有些分子是没有的。

7. [ dihedrals ]

[ dihedrals ]
;  ai    aj    ak    al funct           c0           c1           c2
    2     1     3     4     1 1.800000e+02 3.347200e+01 2.000000e+00 
    6     1     3     4     1 1.800000e+02 3.347200e+01 2.000000e+00 
    2     1     3     5     1 1.800000e+02 3.347200e+01 2.000000e+00 
    6     1     3     5     1 1.800000e+02 3.347200e+01 2.000000e+00 
    2     1     6     7     1 1.800000e+02 3.347200e+01 2.000000e+00 
    3     1     6     7     1 1.800000e+02 3.347200e+01 2.000000e+00 
    2     1     6     8     1 1.800000e+02 3.347200e+01 2.000000e+00 
    3     1     6     8     1 1.800000e+02 3.347200e+01 2.000000e+00
  • ai, aj, ak, al:参与二面角的四个原子编号。
  • funct:功能类型。1 表示使用简单的二面角力也就是计算规则。
  • c0, c1, c2:二面角力常数和角度的相应常数。

注:这部分定义二面角,从[moleculetype] 到这部分为止,是一个完整的分子力参数的文件,这部分是一个整体,这一部分可以单独整理到一个itp文件中,include到top文件中。

8. 文件中其他包含的拓扑

; Include SPC water topology
#include "spc.itp"
  • spc.itp:包含SPC(Simple Point Charge)水分子模型的拓扑文件,用于定义水分子的结构和力场参数。

9. [ system ]

[ system ]
Urea in Water
  • system:整个模拟系统的名称,此处定义为 Urea in Water,表示尿素在水中的体系。

注:这部分定义这个模拟体系中的结构组成,这部分给体系一个名字

10. [ molecules ]

[ molecules ]
Urea    1
SOL 1000
  • molecules:定义系统中各分子的类型及其数量。
    • Urea 1:包含一个尿素分子。
    • SOL 1000:包含1000个SPC水分子。

注:这部分定义这个模拟体系中的又多少个分子,这个顺序要和坐标对应起来,就是这边先写的尿素,然后是水分子,在坐标文件中必须是一个尿素分子的坐标,然后才是1000水分坐标,同时分子内的原子顺序也要对应起来。解释力场中规定的原子的顺序要和坐标中每个分子的顺序对应起来


总结

  • 此拓扑文件为尿素分子及其溶液体系的模拟准备了完整的力场参数,包括原子定义、键、角度、二面角等力学描述。
  • 文件通过 #include 加载了水分子的拓扑,以便在模拟中正确描述尿素和水的相互作用。
- 这种拓扑文件广泛用于 GROMACS 分子动力学模拟软件,可为后续的模拟任务(如能量最小化、动力学模拟等)提供关键参数支持。

2. itp 文件

这里不做额外的解释,内容被包含在top文件中。只含有[moleculetype]到二面角度的之这一部分内容。比较好理解,就是单个分子的力场参数描述。

3. TOP 和 ITP 文件的对比

属性 TOP 文件 ITP 文件
用途 描述整个系统的全局拓扑信息 描述单个分子或分子组的拓扑信息
内容范围 包含所有分子的定义及相互作用参数 仅包含单一分子的定义和参数
文件大小 较大,包含完整系统信息 较小,仅描述部分分子
复用性 不易复用 可以在多个模拟中复用,直接复制,然后include
引入方式 直接作为主拓扑文件 通过 #include 引入到 TOP 文件

4. 使用场景

  1. TOP 文件
    • 用于描述整个模拟系统,适合单一分子或小型系统的模拟。
  2. ITP 文件
    • 用于定义模块化分子,适合复杂的生物分子模拟(如蛋白质、脂质双层、复合物等)。

总结

  • TOP 文件是全局性的,描述整个系统的所有拓扑信息,适用于简单系统。
  • ITP 文件模块化,灵活性高,适合大型复杂系统,通过 #include 引入主 TOP 文件。
  • 在实际工作中,通常使用 TOP 文件结合多个 ITP 文件以构建完整的系统。
© 版权声明

相关文章

暂无评论

暂无评论...