首页/文章/ 详情

刘建川・LAMMPS 实战 | 认识坐标文件,从 PDB 到 data 文件

6天前浏览353
大家好,我是刘建川,14 年深耕 GROMACS 分子模拟领域,始终专注分子模拟实战。后续我会不定期更新 LAMMPS 相关的实战干货,覆盖从环境搭建、建模、输入文件编写到后处理分析的全流程,帮大家打通多引擎模拟能力。今天我们从最基础的结构文件讲起,从 PDB 到 data 文件的格式差异与核心作用。

刚接触 LAMMPS 的新手,最先困惑的往往不是模拟参数怎么设,而是「模拟的输入文件到底长什么样」。LAMMPS 的输入体系大致分为两类:一类描述体系本身的结构信息,另一类描述模拟的控制逻辑。我们先从前者说起,也就是坐标与拓扑文件。

一、PDB 文件:通用结构载体

最常见的分子坐标文件是 PDB 格式(后缀 .pdb),它原本是生物大分子的标准存储格式,LAMMPS 也支持读取。

PDB 文件里每一行记录一个原子,包含原子序号、残基名称、残基编号、原子在三维空间中的 x、y、z 坐标,还有两个辅助量——占有率和温度因子。占有率表示这个原子在晶体中占据该位置的比例,温度因子则反映原子因为热运动而在平衡位置附近波动的程度。

PDB结构如下图所示:

二、data 文件的整体结构

data 文件是 LAMMPS 通过 read_data 命令读取的文本格式输入,它包含了模拟所需的所有基本统计信息:原子总数、模拟盒子的尺寸、每个原子的初始坐标、分子拓扑结构(如果存在键、角、二面角的话),还可以包含一部分力场参数。

文件整体分为两大区块:文件头(Header) 和 数据体(Body)

2.1 文件头

位于文件最开头,第一行为标题行(LAMMPS 会忽略,可自由填写说明),后续为若干关键字声明行,比如 atoms 声明原子总数,xlo xhi 定义盒子 x 方向范围,ylo yhizlo zhi 同理,还有 mass 如果写在头里也可以。

关键字行顺序不做强制要求,但必须严格遵循「关键字 + 数值」的格式。典型的文件头示例如下:

有时候文件头后面还有力场参数等信息,类似下图所示:

文件头后也可补充力场参数区块,比如键系数、角系数等。

2.2 数据体

文件头之后为数据体,各个章节以空行分隔,章节标题必须左对齐且首字母大写,如 MassesAtomsBonds

其中 Masses 和 Atoms 是必填章节,键、角、二面角、力场系数等章节按需添加,顺序无强制要求。

和 PDB 相比,data 文件更接近 LAMMPS 的底层逻辑:它直接定义每个原子的编号、类型、坐标与连接关系。无论初始结构来自 PDB 还是第三方建模工具,最终都必须生成规范的 data 文件,才能启动模拟。

三、Atoms 章节与两种常用原子风格

data 文件的数据体里中最核心的是 Atoms 章节,每行对应一个原子,原子顺序可任意排列。每行的具体字段,取决于你在 in 文件中设置的 atom_style 决定。LAMMPS 支持数十种原子风格,新手最常用的是 atomic 和 full 两种。

3.1 atomic 风格

最简单的原子风格,每行包含原子ID、原子类型、x/y/z 坐标共 4 类字段。 它适用于金属等只关心坐标和类型的简单体系,不支持分子ID、电荷这类额外信息。如果你的体系里有多个原子种类,类型就用整数 1、2、3 等表示。atomic 风格如下案例:

3.2 full 风格

full 风格则是功能最全面的格式之一,每行有七个字段:原子ID、分子ID、原子类型、电荷、x、y、z。它适合聚合物、有机分子、生物分子等需要描述键连接和电荷的复杂体系,当然金属体系也可以用 full 风格,只是把电荷设成 0 就行。有了分子ID,LAMMPS 才能区分不同分子,并为后续的键、角、二面角定义提供依据。full风格如下案例:

四、成键拓扑章节说明

如果体系包含分子内键合作用,还需在 Atoms 章节后补充拓扑定义,主要包括:

  • Bonds:每行记录键类型ID与两个成键原子ID
  • Angles:每行记录角类型ID与三个构成原子ID
  • Dihedrals:每行记录二面角类型ID与四个构成原子ID

这些章节不是必须的,只有当你模拟的是有机分子、聚合物或生物大分子时才需要。而对于简单的金属或盐溶液,只有原子坐标就足够了。各个成键项如下图所示:

data 文件就是把你的模拟体系“数字化”:盒子多大、有多少原子、每个原子在哪儿、原子之间怎么连。制作 data 文件的方法很多,可以用第三方工具(如 Packmol、Moltemplate)生成,也可以用编程语言自己写。新手建议先用现成的工具或示例文件,熟悉格式后再尝试自己构建。

完整小分子 data 文件示例

以下是一个完整有机小分子的 data 文件样例,可直观感受整体结构:

LAMMPS Atom File Created by AuToFF

    16 atoms
    16 bonds
    30 angles
    42 dihedrals
     0 impropers

     4 atom types
     4 bond types
     6 angle types
     3 dihedral types
     0 improper types

    -1.83900    18.16100  xlo xhi
    -2.02700    17.97300  ylo yhi
    -1.72600    18.27400  zlo zhi

Masses

1      12.0100  # c3
2      14.0100  # n3
3       1.0080  # h1
4       1.0080  # hn

Pair Coeffs  # lj/cut/coul/long

1     0.109400   3.399670
2     0.170000   3.249999
3     0.015700   2.471353
4     0.015700   1.069078

Bond Coeffs  # harmonic

1       392.400096      1.020000
2       325.900096      1.460000
3       330.600143      1.100000
4       300.900096      1.540000

Angle Coeffs  # harmonic

1        49.500000    109.880000
2        39.200048    108.460000
3        66.000000    111.040000
4        46.400096    109.560000
5        47.400096    109.290000
6        63.799952    112.350000

Dihedral Coeffs  # fourier

1      1      0.299952   3    0.0000
2      1      0.155593   3    0.0000
3      2      0.299952   3    0.0000      0.479924   2  180.0000

Atoms
#  atom  mol    type   charge         X           Y           Z

     1     1     1      0.015500     -1.171000     -0.388000     -0.492000
     2     1     1      0.016800     -0.050000     -1.272000      0.088000
     3     1     1      0.017700      1.456000      0.596000      0.023000
     4     1     1      0.019700      0.335000      1.480000     -0.556000
     5     1     2     -0.567000     -0.583000      0.650000     -1.350000
     6     1     3      0.058300     -1.839000     -0.992000     -1.069000
     7     1     3      0.058000      0.489000     -1.734000     -0.713000
     8     1     3      0.057400      2.124000      1.201000      0.600000
     9     1     3      0.057200     -0.204000      1.942000      0.244000
    10     1     2     -0.567000      0.867000     -0.442000      0.881000
    11     1     4      0.301200     -1.310000      1.223000     -1.726000
    12     1     3      0.057200      0.764000      2.235000     -1.181000
    13     1     3      0.057400      1.995000      0.134000     -0.778000
    14     1     3      0.058000     -0.479000     -2.027000      0.712000
    15     1     3      0.058300     -1.710000      0.074000      0.309000
    16     1     4      0.301300      1.595000     -1.015000      1.257000

Bonds
#     NO.    Type  atom_i  atom_j

       1       1      11       5
       2       2       5       4
       3       2       5       1
       4       3      12       4
       5       3       6       1
       6       3      13       3
       7       3       7       2
       8       4       4       3
       9       3       4       9
      10       4       1       2
      11       3       1      15
      12       3       3       8
      13       2       3      10
      14       3       2      14
      15       2       2      10
      16       1      10      16

Angles
#     NO.    Type  atom_i  atom_j  atom_k

       1       1       5       1       6
       2       1       5       1      15
       3       2       6       1      15
       4       3       2       1       5
       5       4       2       1       6
       6       4       2       1      15
       7       2       7       2      14
       8       1       7       2      10
       9       4       1       2       7
      10       4       1       2      14
      11       3       1       2      10
      12       1      10       2      14
      13       4       4       3      13
      14       4       4       3       8
      15       3       4       3      10
      16       2       8       3      13
      17       1       8       3      10
      18       1      10       3      13
      19       1       5       4      12
      20       1       5       4       9
      21       3       3       4       5
      22       4       3       4      12
      23       4       3       4       9
      24       2       9       4      12
      25       5       4       5      11
      26       5       1       5      11
      27       6       1       5       4
      28       5       3      10      16
      29       6       2      10       3
      30       5       2      10      16

Dihedrals
#     NO.    Type  atom_i  atom_j  atom_k  atom_l

       1       1       6       1       5       4
       2       1      15       1       5      11
       3       1      15       1       5       4
       4       2      15       1       2       7
       5       2      15       1       2      14
       6       2      15       1       2      10
       7       2       7       2       1       5
       8       2       7       2       1       6
       9       1       7       2      10       3
      10       2      14       2       1       5
      11       2      14       2       1       6
      12       1      14       2      10       3
      13       2      10       2       1       5
      14       2      10       2       1       6
      15       2      13       3       4       5
      16       2      13       3       4      12
      17       2      13       3       4       9
      18       1      13       3      10       2
      19       3       4       3      10       2
      20       2       8       3       4       5
      21       1       8       3      10       2
      22       2      10       3       4       5
      23       2      10       3       4       9
      24       1      12       4       5      11
      25       1      12       4       5       1
      26       2      12       4       3       8
      27       2      12       4       3      10
      28       3       3       4       5       1
      29       1       9       4       5       1
      30       2       9       4       3       8
      31       1      11       5       4       3
      32       1      11       5       4       9
      33       1      11       5       1       6
      34       1      11       5       1       2
      35       3       4       5       1       2
      36       3       3      10       2       1
      37       1      16      10       3      13
      38       1      16      10       3       4
      39       1      16      10       3       8
      40       1      16      10       2       7
      41       1      16      10       2       1
      42       1      16      10       2      14

搞懂结构文件的底层格式,是排查模拟报错、自定义体系的第一步基本功。

来源:模拟之家
后处理分析通用LAMMPS控制GROMACS
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2026-08-19
最近编辑:6天前
刘建川(刘十三)
博士 分子模拟实战、GROMACS
获赞 223粉丝 243文章 139课程 39
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈