AmberTools Prepin文件格式完全解析:以SSU残基为例

AmberTools Prepin文件格式完全解析:以SSU残基为例

目录


一、引言:为什么需要理解Prepin格式

在使用AmberTools进行分子动力学模拟时,我们经常会遇到非标准氨基酸修饰残基特殊配体。这些分子无法直接从Amber的标准残基库中获取参数。此时,我们需要:

  1. 定义残基的拓扑结构(哪些原子,如何连接)
  2. 指定力场参数(键长、键角、二面角、电荷)
  3. 确保与蛋白质主链的正确连接(肽键形成)

Prepin文件 (或其前身Prep文件)正是Amber体系中用于定义残基拓扑结构的标准格式。它使用内坐标 (键长、键角、二面角)而非笛卡尔坐标来描述原子位置,并通过树形结构来组织原子间的连接关系。

本文将以一个真实案例 ------含有复杂侧链和多个环的非标准残基SSU------为例,深入剖析Prepin文件的每一个细节。


二、案例背景:SSU残基是什么

2.1 SSU的化学结构

SSU是一个修饰的丝氨酸(Serine)残基,其侧链连接了一个复杂的糖类衍生物。完整的化学式为:C₁₅H₁₇NO₆

复制代码
        O
        ‖
  ...―N―C―C―...     主链部分(标准氨基酸骨架)
       |   ‖
       H   O
       |
      Cα―H
       |
      Cβ―O―糖类侧链(含多个环状结构)

2.2 SSU的详细结构拆解

为了更清楚地理解,我们将SSU分为三个部分:

Part 1: 主链(Backbone) - 与标准氨基酸一致
复制代码
      H
      |
  ―N―Cα―C―
     |    ‖
     H    O
  • N: 主链酰胺氮(连接前一个残基)
  • (CA): α碳
  • C: 羰基碳(连接后一个残基)
  • O: 羰基氧
Part 2: β碳与醚键连接
复制代码
    Cα
    |
   Cβ―O―
    | |
   H2 醚键连接到侧链
  • (CB): 侧链的第一个碳
  • O (OG): 醚键氧,连接到糖类部分
Part 3: 复杂的糖类侧链

这是SSU最复杂的部分,包含:

  • 一个六元环(C1-C2-C3-C4-C5-C6)

  • 多个取代基(羟基、甲基)

  • 一个内酯环(C4-C8-C9-O4-C10)

    复制代码
                      CH₃(C11)
                       |
       HO   CH₃(C7)   C9―O4
        |    |         |    \

    C10―O―C1―C2―C3―C4―C8―C12(CH₃)
    ‖ \ / | | |
    O3 C6 C5 H7 H(×3)
    | |
    OH(O1) 主环部分

    环闭合:C6-C5 (LOOP)
    内酯环:C10-OG 连接到 Cβ

2.3 原子清单

原子名 元素 类型 功能 所属部分
N N 蛋白质 主链氮 主链
H H 蛋白质 酰胺氢 主链
CA C 蛋白质 α碳 主链
HA H 蛋白质 α氢 主链
C C 蛋白质 羰基碳 主链
O O 蛋白质 羰基氧 主链
CB C GAFF β碳 侧链
OG O GAFF 醚键氧 侧链
C1-C12 C GAFF 糖环碳 侧链
O1-O4 O GAFF 侧链氧 侧链
H1-H13 H GAFF 侧链氢 侧链

关键特征

  • 总共42个原子
  • 主链使用ff19SB力场类型(N, CX, C, O, H, H1)
  • 侧链使用GAFF2力场类型(c3, os, o, oh, hc, h1)
  • 包含1个LOOP(环闭合:C6-C5)
  • 包含10个IMPROPER定义(维持平面性和手性)

三、Prepin文件格式详解

在深入分析SSU.prepin之前,我们需要理解Prepin文件的整体结构和每个字段的含义。

3.1 文件整体结构

复制代码
Line 1:    IDBGEN  IREST  ITYPF          # 数据库生成控制
Line 2:    (空行或数据库名)
Line 3:    标题/备注行
Line 4:    输出文件名
Line 5:    NAMRES  INTX  KFORM           # 残基名称和坐标类型
Line 6:    IFIXC  IOMIT  ISYMDU  IPOS    # 控制标志
Line 7:    CUT                            # 环闭合距离阈值
Line 8+:   原子定义(每行一个原子)
...        
           (空行)
           LOOP                           # 可选:显式环闭合
           原子1  原子2
           原子3  原子4
           ...
           (空行)
           IMPROPER                       # 可选:非正常二面角
           原子J  原子K  原子I  原子L
           ...
           (空行)
           DONE                           # 必需:结束标记
           STOP                           # 必需:程序退出

3.2 头部信息详解

Line 1: 数据库生成控制
复制代码
IDBGEN  IREST  ITYPF
0       0      2
参数 名称 含义 常用值
IDBGEN Database Generation 是否生成数据库 0 : 生成独立文件(常用) 1: 添加到现有数据库
IREST Restart 数据库操作模式 0 : 新数据库 1: 追加到现有数据库
ITYPF Type Flag 力场类型代码 2 : 全原子力场(推荐) 1: 联合原子力场 100/200: N端特殊处理 101/201: C端特殊处理

实战建议 :对于普通残基,始终使用 0 0 2

Line 5: 残基基本信息(最重要!)
复制代码
NAMRES  INTX  KFORM
SSU     INT   3
参数 含义
NAMRES SSU 残基名称(最多4字符),这个名称会出现在PDB文件中
INTX INT INT : 使用内坐标(键长、键角、二面角) XYZ: 使用笛卡尔坐标
KFORM 3 连接点数量(关键!) 0 : 无连接(独立小分子) 1 : 只有head(N端残基,如NME) 2 : 只有tail(C端残基,如ACE) 3: 双向连接(普通氨基酸,内部残基)

KFORM设置指南

残基类型 KFORM 说明 示例
链中氨基酸 3 可从N端和C端连接 ALA, GLY, SSU
N端修饰 2 只有C端可连接 ACE(乙酰基)
C端修饰 1 只有N端可连接 NME(N-甲基酰胺)
独立小分子 0 不连接到肽链 溶剂、离子、配体
Line 6: 控制标志
复制代码
IFIXC  IOMIT  ISYMDU  IPOS
CORRECT  OMIT  DU     BEG
参数 常用值 含义
IFIXC CORRECT CORRECT : 内坐标,树结构顺序正确 CHANGE: 笛卡尔坐标或需要修正
IOMIT OMIT OMIT : 删除虚拟原子(非首残基) NOMIT: 保留虚拟原子(首残基)
ISYMDU DU 虚拟原子的符号(通常用DU)
IPOS BEG BEG : 只删除开头的虚拟原子 ALL: 删除所有虚拟原子
Line 7: 环闭合阈值
复制代码
CUT
0.0000
  • 推荐值 : 0.0
  • 含义: 自动检测环闭合的距离阈值(Å)
  • 设为0.0表示禁用自动检测,必须在LOOP部分显式定义所有环

3.3 原子定义格式(核心部分)

从第8行开始,每一行定义一个原子:

复制代码
I  IGRAPH  ISYMBL  ITREE  NA  NB  NC  R(I)    THETA   PHI      CHG
4  N       N       M      3   2   1   1.540   111.208 -180.000 -0.415700
字段详解表
字段 名称 类型 说明 示例
I Index 整数 原子序号(从1开始) 4
IGRAPH Atom Name 字符串(4) PDB格式原子名 N, CA, CB
ISYMBL Atom Type 字符串(4) 力场原子类型 N, CX, c3, os
ITREE Tree Type 字符(1-2) 拓扑类型(见下表) M, E, S, B, 3
NA Parent Atom 整数 连接到哪个原子(父原子序号) 3
NB Angle Atom 整数 用于定义键角的第三个原子 2
NC Dihedral Atom 整数 用于定义二面角的第四个原子 1
R(I) Bond Length 浮点 键长(Å),或X坐标 1.540
THETA Bond Angle 浮点 键角(度),或Y坐标 111.208
PHI Dihedral 浮点 二面角(度),或Z坐标 -180.000
CHG Charge 浮点 部分原子电荷(电子电荷单位) -0.415700
拓扑类型(ITREE)详解

这是理解Prepin文件的核心概念

符号 名称 连接数 含义 使用场景
M Main 2 主链原子,构成从connect0到connect1的路径 主链N, CA, C
E End 1 末端原子,只连接一个其他原子 H, O, 末端甲基的H
S Side 2 侧链原子,连接两个其他原子 侧链中间的C或O
B Branch 3 分支点,连接三个其他原子 分支的碳原子
3 3-way 4 三分支点,连接四个其他原子 高度分支的碳
4-6 Multi-branch 5-7 更多连接(罕见) 极度复杂的分支

关键理解

  • M原子形成一条主干路径 :这条路径定义了残基的"脊梁",对于氨基酸来说就是 N → CA → C
  • 其他原子从主干上"生长"出来 :像树枝一样,每个原子通过NA字段连接到已经存在的原子上。
内坐标定义原理

对于原子I,其在三维空间中的位置由以下四个参数唯一确定:

复制代码
NC(原子) ← PHI二面角 → NB(原子) ← THETA键角 → NA(原子) ← R键长 → I(当前原子)

几何关系

  1. NA : 当前原子与NA号原子成键,键长为R
  2. NB : 原子I, NA, NB形成一个键角,大小为THETA
  3. NC : 原子I, NA, NB, NC形成一个二面角,大小为PHI

示例(原子6:CA):

复制代码
6  CA  CX  M  4  3  2  1.467  147.639  103.629  0.014000
  • CA与N(4)成键,键长1.467Å
  • CA-N(4)-DUMM(3)键角147.639°
  • CA-N(4)-DUMM(3)-DUMM(2)二面角103.629°

四、逐行解析SSU.prepin文件

现在,让我们逐行分析你提供的SSU.prepin文件。

4.1 头部(Lines 1-7)

prepin 复制代码
    0    0    2
                          ← 空行
This is a remark line
molecule.res
SSU   INT  0              ← ⚠️ 应改为 3
CORRECT     OMIT DU   BEG
  0.0000
行号 内容 解释
1 0 0 2 生成独立文件,使用全原子力场
2 空行 数据库名占位
3 This is a remark line 备注(可以写任何内容)
4 molecule.res 输出文件名前缀
5 SSU INT 0 ⚠️ KFORM应该是3(可双向连接)
6 CORRECT OMIT DU BEG 标准设置
7 0.0000 禁用自动环检测

重要修正 :第5行应改为 SSU INT 3,以允许SSU作为肽链内部残基。

4.2 虚拟原子(Lines 8-10)

prepin 复制代码
   1  DUMM  DU    M    0  -1  -2     0.000      .0        .0      .00000
   2  DUMM  DU    M    1   0  -1     1.449      .0        .0      .00000
   3  DUMM  DU    M    2   1   0     1.523   111.21       .0      .00000

虚拟原子的作用

  1. 建立坐标系:前三个原子定义了一个初始的坐标框架
  2. 锚定第一个真实原子:真实原子从DUMM(3)开始连接
  3. 被LEaP自动删除:在最终系统中不存在(IOMIT=OMIT)

几何含义

  • DUMM(1)在原点
  • DUMM(2)距DUMM(1) 1.449Å
  • DUMM(3)与DUMM(1-2)形成一个四面体角度(111.21°)

4.3 主链原子(真正的connect0和connect1)

原子4:N(主链起点,connect0)
prepin 复制代码
   4  N     N     M    3   2   1     1.540   111.208  -180.000 -0.415700
字段 含义
序号 4 第4个原子
原子名 N 主链氮
类型 N ff19SB蛋白质类型(不是GAFF的n2或n8)
ITREE M 主链原子
NA 3 连接到DUMM(3)
R 1.540 N-DUMM(3)距离1.540Å
THETA 111.208 N-DUMM(3)-DUMM(2)角度
PHI -180.000 N-DUMM(3)-DUMM(2)-DUMM(1)二面角
电荷 -0.4157 标准ff19SB中N的电荷

这个原子是肽链的连接点(head),前一个残基的C会连接到这个N。

原子5:H(酰胺氢)
prepin 复制代码
   5  H     H     E    4   3   2     1.013    83.540   -23.968  0.271900
  • ITREE = E:末端原子,只连接到N
  • 类型 = H:ff19SB中的酰胺氢类型(不是GAFF的hn)
原子6:CA(α碳)
prepin 复制代码
   6  CA    CX    M    4   3   2     1.467   147.639   103.629  0.014000
关键点 说明
类型 = CX ff19SB中sp3杂化的α碳类型(不是GAFF的c3)
ITREE = M 主链原子,主链路径继续
NA = 4 连接到N(4),N-CA键
R = 1.467 N-CA键长1.467Å

主链路径进展N(4) → CA(6)

4.4 侧链的开始:CB和醚键

原子7:CB(侧链根节点)
prepin 复制代码
   7  CB    c3    3    6   4   3     1.526   110.061   -10.165 -0.009200
关键点 说明
类型 = c3 GAFF类型,侧链开始使用GAFF力场
ITREE = 3 四连接点(CA, OG, HB2, HB3)
NA = 6 连接到CA
R = 1.526 CA-CB键长(标准C-C单键)

力场分界点:从CB开始,所有原子使用GAFF2力场类型。

原子8:OG(醚键氧)
prepin 复制代码
   8  OG    os    S    7   6   4     1.714   149.447  -160.251 -0.260000
  • 类型 = os:GAFF中的醚键氧类型
  • ITREE = S:侧链中的两连接原子(CB和C10)
  • NA = 7:连接到CB

4.5 复杂侧链的树形展开

从OG开始,侧链像一棵真正的树一样展开。让我们追踪关键的分支点:

原子9:C10(羰基碳,内酯)
prepin 复制代码
   9  C10   c     B    8   7   6     1.803   145.090  -147.285  0.370000
  • 类型 = c:GAFF中的sp2羰基碳
  • ITREE = B:三连接点(OG, O3, C5)
  • 这是内酯环的一部分(C10=O3)
原子10:O3(羰基氧)
prepin 复制代码
  10  O3    o     E    9   8   7     1.102    84.554    41.563 -0.352000
  • 类型 = o:GAFF中的羰基氧(双键)
  • ITREE = E:末端,C10=O3双键的末端
原子11:C5(糖环的一部分)
prepin 复制代码
  11  C5    c3    S    9   8   7     1.821   147.830   -67.807 -0.166000
  • NA = 9:连接到C10
  • ITREE = S:C5连接C10和C4

从这里开始,树继续生长,构建出复杂的糖环结构。

4.6 主链的结束:C和O

跳到文件末尾:

原子40:HA
prepin 复制代码
  40  HA    H1    E    6   4   3     1.089   106.298  -126.880  0.104700
  • 类型 = H1:ff19SB中连接到α碳的氢
  • NA = 6:连接到CA
原子41:C(羰基碳,connect1)
prepin 复制代码
  41  C     C     M    6   4   3     1.540   110.624   117.790  0.597300
关键点 说明
类型 = C ff19SB中的羰基碳(不是GAFF的c或c2)
ITREE = M 主链原子,这是主链的终点
NA = 6 连接到CA(6),CA-C键
R = 1.540 CA-C键长

主链路径完整N(4) → CA(6) → C(41)

这个C是肽链的连接点(tail),会连接到下一个残基的N。

原子42:O(羰基氧)
prepin 复制代码
  42  O     O     E   41   6   4     1.229   119.071    56.137 -0.567900
关键点 说明
类型 = O ff19SB中的羰基氧
ITREE = E 末端原子,不是主链
NA = 41 连接到C(41),C=O双键
R = 1.229 C=O双键键长

重要 :虽然O也使用ff19SB类型,但它不是主链的一部分(ITREE=E),主链在C(41)就结束了。

4.7 完整的原子树(简化视图)

复制代码
DUMM(1)
  └─ DUMM(2)
      └─ DUMM(3)
          └─ N(4) [M, connect0]
              ├─ H(5) [E]
              └─ CA(6) [M]
                  ├─ CB(7) [3]
                  │   ├─ OG(8) [S]
                  │   │   └─ C10(9) [B]
                  │   │       ├─ O3(10) [E]
                  │   │       └─ C5(11) [S]
                  │   │           └─ C4(12) [B]
                  │   │               ├─ C3(13) [B]
                  │   │               │   ├─ C2(14) [B]
                  │   │               │   │   ├─ C1(15) [B]
                  │   │               │   │   │   ├─ C6(16) [S] ─┐
                  │   │               │   │   │   │   └─ O1(17)  │
                  │   │               │   │   │   └─ H1(19)      │
                  │   │               │   │   └─ O2(20)          │
                  │   │               │   └─ C7(22) [3]          │
                  │   │               └─ C8(26) [3]              │
                  │   │                   ├─ C9(27) [B]          │
                  │   │                   │   ├─ O4(28) ─┐       │
                  │   │                   │   └─ C11(29) │       │
                  │   │                   └─ C12(33)     │       │
                  │   ├─ HB2(38) [E]                     │       │
                  │   └─ HB3(39) [E]                     │       │
                  ├─ HA(40) [E]                          │       │
                  └─ C(41) [M, connect1]                 │       │
                      └─ O(42) [E]                       │       │
                                                          │       │
LOOP闭合:C5(11) ←──────────────────────────────────────┴───────┘
内酯环:O4(28) ←─────────────── C10(9)

五、树形结构的完整拆解

5.1 主链路径详解

主链是整个树结构的"脊柱",由所有ITREE=M的原子组成。

复制代码
路径:DUMM(1) → DUMM(2) → DUMM(3) → N(4) → CA(6) → C(41)
                                      ↑                 ↑
                                  connect0          connect1

每一步的几何关系

步骤 键长(Å) 键角(°) 二面角(°)
1 DUMM(1) DUMM(2) 1.449 - -
2 DUMM(2) DUMM(3) 1.523 111.21 -
3 DUMM(3) N(4) 1.540 111.208 -180.0
4 N(4) CA(6) 1.467 147.639 103.629
5 CA(6) C(41) 1.540 110.624 117.790

LEaP的理解

  • KFORM=3时,LEaP会识别:
    • connect0 = 第一个类型为M的真实原子(非DUMM) = N(4)
    • connect1 = 最后一个类型为M的真实原子 = C(41)
  • 在构建肽链时:
    • 前一个残基的connect1(C)会与SSU的connect0(N)形成肽键
    • SSU的connect1(C)会与后一个残基的connect0(N)形成肽键

5.2 侧链树的层级拆解

Level 1: 从CA分支出CB
复制代码
CA(6) [主链]
  └─ CB(7) [侧链根,4连接]

CB是侧链的"地基",它有4个连接:

  1. 连到CA(主链)
  2. 连到OG(侧链继续)
  3. 连到HB2(氢)
  4. 连到HB3(氢)
Level 2: 从CB分支出醚键和氢
复制代码
CA(6)
  └─ CB(7)
      ├─ OG(8) [醚键]
      ├─ HB2(38)
      └─ HB3(39)
Level 3: 从OG生长出内酯环
复制代码
CB(7)
  └─ OG(8)
      └─ C10(9) [羰基碳,3连接]
          ├─ O3(10) [C=O双键]
          └─ C5(11) [连到主环]

C10是一个关键的分支点:

  • 通过双键连到O3(内酯的羰基)
  • 通过单键连到C5(进入主环)
  • 通过醚键连回OG(形成内酯环)
Level 4-7: 主环和取代基的展开

从C5开始,树继续生长构建六元环:

复制代码
C5(11)
  └─ C4(12)
      ├─ C3(13)
      │   ├─ C2(14)
      │   │   ├─ C1(15)
      │   │   │   └─ C6(16) ─→ [LOOP回到C5]
      │   │   └─ O2(20) [羟基]
      │   └─ C7(22) [甲基,3个H]
      └─ C8(26)
          ├─ C9(27)
          │   ├─ O4(28) ─→ [连回C10,内酯环]
          │   └─ C11(29) [甲基]
          └─ C12(33) [甲基]

5.3 原子序号与NA的依赖关系检查

为了确保树结构的正确性,我们需要验证:任何原子的NA值必须小于它自己的序号。

让我们检查几个关键原子:

原子序号 原子名 NA NA指向 检查结果
4 N 3 DUMM(3) ✓ 3 < 4
6 CA 4 N ✓ 4 < 6
7 CB 6 CA ✓ 6 < 7
8 OG 7 CB ✓ 7 < 8
11 C5 9 C10 ✓ 9 < 11
16 C6 15 C1 ✓ 15 < 16
41 C 6 CA ✓ 6 < 41
42 O 41 C ✓ 41 < 42

全部通过,这意味着树结构定义正确,没有"前向引用"错误。

5.4 拓扑类型与连接数验证

让我们验证几个关键原子的ITREE类型是否与其实际连接数匹配:

CB (原子7) - ITREE=3(四连接)
复制代码
CB连接到:
1. CA (主链,CB的NA=6)
2. OG (侧链,OG的NA=7)
3. HB2 (氢,HB2的NA=7)
4. HB3 (氢,HB3的NA=7)
总计:4个连接 ✓ 符合ITREE=3
C10 (原子9) - ITREE=B(三连接)
复制代码
C10连接到:
1. OG (醚键,C10的NA=8)
2. O3 (羰基,O3的NA=9)
3. C5 (侧链,C5的NA=9)
总计:3个连接 ✓ 符合ITREE=B
C4 (原子12) - ITREE=B(三连接)
复制代码
C4连接到:
1. C5 (环,C4的NA=11)
2. C3 (环,C3的NA=12)
3. C8 (取代基,C8的NA=12)
总计:3个连接 ✓ 符合ITREE=B

六、LOOP与IMPROPER的深入理解

6.1 LOOP:闭合六元环

prepin 复制代码
LOOP
   C6   C5
为什么需要LOOP?

在树结构中,我们定义了:

复制代码
C5(11) → C4(12) → C3(13) → C2(14) → C1(15) → C6(16)

这是一个"开放"的链,但SSU的化学结构中C6和C5之间有键!

复制代码
        C1
       /  \
     C2    C6
    /        \
   C3         (需要闭合到C5)
    \
     C4
      \
       C5

树结构无法表示这个环,因为每个原子只能有一个"父"(NA)。LOOP部分告诉LEaP:在树构建完成后,额外添加C6-C5键。

LOOP的语法
复制代码
LOOP
原子名1  原子名2
原子名3  原子名4
...
(空行)
  • 每行两个原子名(不是序号)
  • 在这两个原子之间建立额外的键
  • 可以定义多个LOOP
设置CUT=0.0的原因

如果CUT > 0,LEaP会自动搜索距离小于CUT的原子对并建立键。但这可能导致:

  1. 误闭合(不该连的连上了)
  2. 漏闭合(该连的没连上)

最佳实践 :设置CUT=0.0,在LOOP部分显式列出所有需要闭合的环。

6.2 IMPROPER:维持几何构型

prepin 复制代码
IMPROPER
   -M   CA    N    H
   C5   O3  C10   OG
   C4   C6   C5  C10
   C5   C3   C4   C8
   C4   C2   C3   C7
   C3   C1   C2   O2
   C2   C6   C1   H1
   C5   C1   C6   O1
   C8  C11   C9   O4
   CA   +M    C    O
IMPROPER的几何意义

IMPROPER(非正常二面角)用于维持特定的几何形状,而不是表示连接关系。

标准格式

复制代码
原子J  原子K  原子I  原子L

中心原子在第三位(原子I):

复制代码
      J
      |
      K
     / \
    I   L

这个定义强制四个原子保持在一个平面附近,或维持特定的手性。

肽键平面(前两行最重要)

行1 : -M CA N H

复制代码
         前残基的C(-M)
              |
              CA
             / \
            N   H
  • -M:特殊符号,代表前一个残基的connect1(通常是C)
  • 这个IMPROPER强制了前肽键的平面性
  • 在构建肽链时,LEaP会自动找到前一个残基的C,并与SSU的CA、N、H形成平面

行10 : CA +M C O

复制代码
          CA
           |
       下一个残基的N(+M)
          / \
         C   O
  • +M:特殊符号,代表后一个残基的connect0(通常是N)
  • 这个IMPROPER强制了后肽键的平面性
  • 在构建肽链时,LEaP会自动找到后一个残基的N,并与SSU的CA、C、O形成平面

这两个IMPROPER是确保SSU能正确整合到肽链中的关键!

侧链的IMPROPER(行2-9)

这些定义用于:

  1. 维持手性中心:如C1、C4等不对称碳的立体构型
  2. 维持平面性:如C10羰基的平面性

例子C5 O3 C10 OG

复制代码
          C5
           |
           O3
          / \
        C10  OG

这强制了内酯羰基的平面性,确保C10=O3双键保持sp2杂化。


七、从零开始构建非标准残基的完整流程

基于SSU的成功案例,这里总结一个通用的工作流程。

7.1 准备初始结构

步骤1:获取或绘制3D结构

bash 复制代码
# 方法A:从PDB文件中提取(如果蛋白质已包含该残基)
grep "SSU" protein.pdb > ssu_initial.pdb

# 方法B:使用分子编辑软件绘制
# - Avogadro
# - GaussView
# - ChemDraw 3D
# - PyMOL builder

# 方法C:使用SMILES字符串
obabel -:"SMILES_STRING" -O ssu.pdb --gen3d

7.2 使用Antechamber处理

步骤2:生成mol2文件和初步电荷

bash 复制代码
# 使用AM1-BCC电荷(快速)
antechamber -i ssu_initial.pdb -fi pdb \
            -o ssu.mol2 -fo mol2 \
            -c bcc -s 2 -nc 0 -rn SSU

# 或使用RESP电荷(更准确,需要量子化学计算)
# 1. 先用Gaussian/GAMESS等计算ESP
# 2. 再用antechamber拟合RESP电荷

7.3 关键步骤:修改主链原子类型

步骤3:编辑mol2文件,修改主链原子类型

bash 复制代码
# 备份
cp ssu.mol2 ssu_original.mol2

# 编辑ssu.mol2的@<TRIPOS>ATOM部分
# 将主链原子的类型改为ff19SB类型

修改前(GAFF类型)

复制代码
@<TRIPOS>ATOM
1  N    ...  n2    ...  # 改为N
2  H    ...  hn    ...  # 改为H
3  CA   ...  c3    ...  # 改为CX
4  HA   ...  h1    ...  # 改为H1
5  C    ...  c2    ...  # 改为C
6  O    ...  o     ...  # 改为O
7  CB   ...  c3    ...  # 保持c3(侧链)
...

修改后(混合类型)

复制代码
@<TRIPOS>ATOM
1  N    ...  N     ...  # ff19SB类型
2  H    ...  H     ...  # ff19SB类型
3  CA   ...  CX    ...  # ff19SB类型
4  HA   ...  H1    ...  # ff19SB类型
5  C    ...  C     ...  # ff19SB类型
6  O    ...  O     ...  # ff19SB类型
7  CB   ...  c3    ...  # GAFF类型(侧链保持)
...

自动化脚本

bash 复制代码
cat > fix_backbone_types.sh << 'EOF'
#!/bin/bash

INPUT="ssu.mol2"
OUTPUT="ssu_fixed.mol2"

# 使用sed替换主链原子类型
sed -E '
/@<TRIPOS>ATOM/,/@<TRIPOS>BOND/ {
    s/(\s+N\s+[0-9\.\-]+\s+)n2(\s+)/\1N\2/
    s/(\s+H\s+[0-9\.\-]+\s+)hn(\s+)/\1H\2/
    s/(\s+CA\s+[0-9\.\-]+\s+)c3(\s+)/\1CX\2/
    s/(\s+HA\s+[0-9\.\-]+\s+)h1(\s+)/\1H1\2/
    s/(\s+C\s+[0-9\.\-]+\s+)c2(\s+)/\1C\2/
    s/(\s+C\s+[0-9\.\-]+\s+)c\s(\s+)/\1C\2/
    s/(\s+O\s+[0-9\.\-]+\s+)o\s(\s+)/\1O\2/
}
' "$INPUT" > "$OUTPUT"

echo "Fixed mol2 saved to $OUTPUT"
EOF

chmod +x fix_backbone_types.sh
./fix_backbone_types.sh

或者修改.ac文件(Antechamber的内部格式):

bash 复制代码
# 生成ac文件
antechamber -i ssu.mol2 -fi mol2 -o ssu.ac -fo ac

# 编辑ssu.ac,修改主链原子类型(在ATOM部分)
# 然后用ac文件生成prepin

7.4 生成prepin和frcmod

步骤4:创建mc文件(Main Chain定义)

bash 复制代码
cat > ssu.mc << 'EOF'
HEAD_NAME N
TAIL_NAME C
MAIN_CHAIN N CA C
OMIT_NAME H
PRE_HEAD_TYPE C
POST_TAIL_TYPE N
CHARGE 0.0
EOF
参数 含义
HEAD_NAME N connect0的原子名
TAIL_NAME C connect1的原子名
MAIN_CHAIN N CA C 主链原子列表
OMIT_NAME H N端的H(在肽链中会被删除)
PRE_HEAD_TYPE C 前一个残基的类型(connect1)
POST_TAIL_TYPE N 后一个残基的类型(connect0)
CHARGE 0.0 残基总电荷

步骤5:运行prepgen

bash 复制代码
prepgen -i ssu_fixed.mol2 -o SSU.prepin \
        -f mol2 -m ssu.mc -rn SSU

# 或者用ac文件
prepgen -i ssu_fixed.ac -o SSU.prepin \
        -f ac -m ssu.mc -rn SSU

步骤6:手动修正prepin文件

bash 复制代码
# 1. 检查第5行的KFORM
#    如果是内部残基,改为3
sed -i '5s/SSU\s\+INT\s\+0/SSU  INT  3/' SSU.prepin

# 2. 检查主链原子的顺序和类型
#    确保:N(M) → CA(M) → C(M)
#    确保:O是E类型,不是M

# 3. 检查IMPROPER部分
#    必须包含:
#    -M CA N H
#    CA +M C O

步骤7:生成frcmod文件

bash 复制代码
# 使用parmchk2检查缺失的参数
parmchk2 -i ssu_fixed.mol2 -f mol2 -o SSU.frcmod -a Y

# 或
parmchk2 -i ssu_fixed.ac -f ac -o SSU.frcmod -a Y

步骤8:补充混合类型参数

如果侧链使用GAFF,主链使用ff19SB,需要在frcmod中添加交叉类型参数:

bash 复制代码
cat >> SSU.frcmod << 'EOF'

BOND
CX-c3  310.0    1.526    # ff19SB CA - GAFF c3

ANGLE
c3-CX-H1   50.0    109.50   # GAFF c3 - ff19SB CA - ff19SB H1
c3-CX-C    63.0    110.53   # GAFF c3 - ff19SB CA - ff19SB C
c3-CX-N    80.0    111.20   # GAFF c3 - ff19SB CA - ff19SB N
CX-c3-os   50.0    109.50   # ff19SB CA - GAFF c3 - GAFF os
CX-c3-h1   50.0    109.50   # ff19SB CA - GAFF c3 - GAFF h1
N-CX-c3    80.0    111.20   # ff19SB N - ff19SB CA - GAFF c3

DIHE
h1-c3-CX-H1   1    0.156       0.0    3.0
h1-c3-CX-C    1    0.156       0.0    3.0
os-c3-CX-H1   1    0.156       0.0    3.0
os-c3-CX-C    1    0.156       0.0    3.0
N-CX-c3-os    1    0.156       0.0    3.0
N-CX-c3-h1    1    0.156       0.0    3.0
X -CX-c3-X    1    0.156       0.0    3.0

EOF

7.5 测试和验证

步骤9:用LEaP测试

bash 复制代码
cat > test_ssu.in << 'EOF'
source leaprc.protein.ff19SB
source leaprc.gaff2

# 加载SSU残基
loadamberprep SSU.prepin
loadamberparams SSU.frcmod

# 检查SSU定义
desc SSU
list SSU

# 测试1:单个SSU
ssu_alone = loadpdb ssu.pdb
check ssu_alone
savepdb ssu_alone ssu_test.pdb

# 测试2:三肽ALA-SSU-ALA
tripeptide = sequence { ALA SSU ALA }
check tripeptide
savepdb tripeptide tripeptide_test.pdb

quit
EOF

tleap -f test_ssu.in > test.log 2>&1

# 检查日志
grep -i "error" test.log
grep -i "warning" test.log

步骤10:检查连接性

bash 复制代码
# 检查1:有没有多余的TER
grep "TER" tripeptide_test.pdb

# 应该只有:
# ... ALA 1 ...
# ... SSU 2 ...
# ... ALA 3 ...
# TER               (只在最后)

# 检查2:肽键距离
# ALA(1):C - SSU(2):N 应该约1.33Å
# SSU(2):C - ALA(3):N 应该约1.33Å

grep "C\s" tripeptide_test.pdb | grep "ALA.*1"
grep "N\s" tripeptide_test.pdb | grep "SSU.*2"
# 手动计算距离或用VMD

步骤11:真实蛋白质测试

bash 复制代码
cat > build_protein.in << 'EOF'
source leaprc.protein.ff19SB
source leaprc.gaff2
source leaprc.water.tip3p

loadamberprep SSU.prepin
loadamberparams SSU.frcmod

# 加载蛋白质(PDB中SSU残基已标记为SSU)
protein = loadpdb protein_with_ssu.pdb

check protein
charge protein

# 溶剂化和加离子
solvatebox protein TIP3PBOX 12.0
addions protein Na+ 0
addions protein Cl- 0

# 保存
savepdb protein system.pdb
saveamberparm protein system.prmtop system.inpcrd

quit
EOF

tleap -f build_protein.in > build.log 2>&1

八、常见问题与调试技巧

8.1 错误诊断表

错误信息 可能原因 解决方案
missing connect0 N不在主链路径上 检查N的ITREE是否为M
missing connect1 C不在主链路径上 检查C的ITREE是否为M
Added OXT KFORM设置错误 KFORM应为3(内部残基)
Could not find bond parameter: CX-c3 缺少混合类型参数 在frcmod中添加CX-c3参数
improper error ITREE类型与连接数不符 检查分支原子的ITREE(B/3)
bond length error 内坐标R值不合理 检查键长,C-C应约1.5Å
atom X NA references non-existent atom 前向引用 确保NA < 当前原子序号
unperturbed charge not zero 电荷总和不为0 调整部分原子电荷或使用RESP
Loop closure failed LOOP定义的原子太远 检查初始结构,确保环接近闭合

8.2 调试技巧

技巧1:逐步构建测试
bash 复制代码
# 不要一次性构建整个系统
# 而是逐步测试:

# 1. 只加载SSU
loadamberprep SSU.prepin
check SSU

# 2. 测试单体
ssu = loadpdb ssu.pdb
check ssu

# 3. 测试三肽
pep = sequence { ALA SSU ALA }
check pep

# 4. 测试蛋白质
protein = loadpdb protein.pdb
check protein
技巧2:可视化检查
bash 复制代码
# 在VMD中检查
vmd tripeptide_test.pdb

# 在PyMOL中检查
pymol tripeptide_test.pdb

# 检查项目:
# 1. SSU是否在肽链中(无TER分隔)
# 2. 肽键长度是否正常(~1.33Å)
# 3. 肽键角度是否平面(Cα-C-N-Cα二面角约180°)
# 4. 侧链几何是否合理
# 5. 环是否闭合
技巧3:检查电荷平衡
bash 复制代码
# 在tleap中
charge SSU
# 应该接近整数(±0.01)

# 如果电荷不平衡
# 方法1:微调部分原子电荷
# 方法2:重新计算RESP电荷
# 方法3:使用antechamber的-nc参数指定净电荷
技巧4:对比标准氨基酸
bash 复制代码
# 提取标准残基的prepin作为模板
# 例如丝氨酸(SER)

cd $AMBERHOME/dat/leap/prep/
cat amino19.in | grep -A 50 "SER" > ser.prepin

# 对比你的SSU.prepin:
# 1. 头部格式是否一致
# 2. 主链部分(N, CA, C, O)的定义是否相似
# 3. IMPROPER部分是否包含-M和+M

8.3 高级技巧:批量处理多个非标准残基

如果你有多个非标准残基(如SSU、修饰的TYR、磷酸化SER等):

bash 复制代码
# 1. 为每个残基创建独立的目录
mkdir SSU TYP SEP
cd SSU && prepare_ssu.sh && cd ..
cd TYP && prepare_typ.sh && cd ..
cd SEP && prepare_sep.sh && cd ..

# 2. 创建统一的库文件
cat > custom_residues.cmd << 'EOF'
loadamberprep SSU/SSU.prepin
loadamberparams SSU/SSU.frcmod
loadamberprep TYP/TYP.prepin
loadamberparams TYP/TYP.frcmod
loadamberprep SEP/SEP.prepin
loadamberparams SEP/SEP.frcmod
EOF

# 3. 在tleap中统一加载
tleap -f - << 'EOF'
source leaprc.protein.ff19SB
source leaprc.gaff2
source custom_residues.cmd

protein = loadpdb complex_protein.pdb
...
EOF

九、总结与最佳实践

9.1 高级应用场景

场景1:多个串联的非标准残基

如果有连续的非标准残基(如SSU-CLEU-NSER):

bash 复制代码
tleap -f - << 'EOF'
source leaprc.protein.ff19SB
source leaprc.gaff2

# 加载所有非标准残基
loadamberprep residues/SSU/SSU.prepin
loadamberparams residues/SSU/SSU.frcmod
loadamberprep residues/CLEU/CLEU.prepin
loadamberparams residues/CLEU/CLEU.frcmod
loadamberprep residues/NSER/NSER.prepin
loadamberparams residues/NSER/NSER.frcmod

# 构建序列
peptide = sequence { ALA SSU CLEU NSER GLY }

# 关键检查:连接处的键长和角度
check peptide
bond peptide.1.C peptide.2.N    # ALA-SSU连接
bond peptide.2.C peptide.3.N    # SSU-CLEU连接
bond peptide.3.C peptide.4.N    # CLEU-NSER连接
bond peptide.4.C peptide.5.N    # NSER-GLY连接

savepdb peptide test_multi.pdb
quit
EOF
场景2:二硫键涉及非标准残基

如果非标准残基需要形成二硫键:

bash 复制代码
# 在prepin中定义半胱氨酸样的侧链
# 然后在tleap中:

tleap -f - << 'EOF'
source leaprc.protein.ff19SB
loadamberprep CYX_MODIFIED.prepin  # 修饰的半胱氨酸
loadamberparams CYX_MODIFIED.frcmod

protein = loadpdb protein.pdb

# 形成二硫键
bond protein.10.SG protein.CYX_MODIFIED_25.SG

savepdb protein disulfide.pdb
saveamberparm protein protein.prmtop protein.inpcrd
quit
EOF
场景3:金属配位涉及非标准残基
bash 复制代码
tleap -f - << 'EOF'
source leaprc.protein.ff19SB
source leaprc.gaff2
loadamberprep HIS_ZN.prepin  # 可配位Zn的His

protein = loadpdb protein_with_zn.pdb

# 定义Zn配位键
bond protein.HIS_ZN_120.NE2 protein.ZN.ZN
bond protein.HIS_ZN_145.NE2 protein.ZN.ZN
bond protein.CYS_150.SG protein.ZN.ZN

saveamberparm protein complex.prmtop complex.inpcrd
quit
EOF

9.2 常见非标准残基模板

为了方便使用,这里提供几个常见非标准残基的mc文件模板:

模板1:磷酸化丝氨酸(SEP)
bash 复制代码
cat > residues/SEP/sep.mc << 'EOF'
HEAD_NAME N
TAIL_NAME C
MAIN_CHAIN N CA C
OMIT_NAME H
PRE_HEAD_TYPE C
POST_TAIL_TYPE N
CHARGE -2.0
EOF

注意:磷酸化残基带-2电荷(磷酸根-2)。

模板2:N-甲基化赖氨酸(MLZ)
bash 复制代码
cat > residues/MLZ/mlz.mc << 'EOF'
HEAD_NAME N
TAIL_NAME C
MAIN_CHAIN N CA C
OMIT_NAME H
PRE_HEAD_TYPE C
POST_TAIL_TYPE N
CHARGE 1.0
EOF

注意:带正电的侧链,总电荷+1。

模板3:N端乙酰化(ACE)
bash 复制代码
cat > residues/ACE/ace.mc << 'EOF'
HEAD_NAME C
TAIL_NAME C
MAIN_CHAIN C
OMIT_NAME NONE
PRE_HEAD_TYPE NONE
POST_TAIL_TYPE N
CHARGE 0.0
EOF

对应的prepin第5行:

复制代码
ACE  INT  2    # KFORM=2,只有tail
模板4:C端酰胺化(NME)
bash 复制代码
cat > residues/NME/nme.mc << 'EOF'
HEAD_NAME N
TAIL_NAME N
MAIN_CHAIN N
OMIT_NAME H
PRE_HEAD_TYPE C
POST_TAIL_TYPE NONE
CHARGE 0.0
EOF

对应的prepin第5行:

复制代码
NME  INT  1    # KFORM=1,只有head

9.3 故障排除流程图

复制代码
遇到错误
    ↓
是否有"missing connect"警告?
    ├─ 是 → 检查KFORM设置
    │        ├─ KFORM=0?→ 改为1/2/3
    │        ├─ KFORM=3但仍报错?
    │        │   └→ 检查主链M原子路径
    │        │       └→ 是否有N(M)→CA(M)→C(M)?
    │        └─ O是否标记为M?→ 改为E
    └─ 否 ↓
是否有"bond parameter not found"?
    ├─ 是 → 检查frcmod文件
    │        ├─ 是否有混合类型参数?
    │        │   └→ 添加CX-c3等参数
    │        └─ 是否运行了parmchk2?
    └─ 否 ↓
是否有"improper error"?
    ├─ 是 → 检查ITREE类型
    │        └→ 统计每个原子的连接数
    │            └→ 修正ITREE(E/S/B/3)
    └─ 否 ↓
是否有"charge not zero"警告?
    ├─ 是 → 检查电荷总和
    │        ├─ 应为整数±0.01
    │        ├─ 手动调整部分原子电荷
    │        └─ 或重新计算RESP电荷
    └─ 否 ↓
肽键距离异常?
    ├─ 是 → 可视化检查
    │        ├─ 是否有TER分隔?
    │        │   └→ 说明未连接成功
    │        └─ 主链几何是否合理?
    └─ 否 ↓
其他错误
    └→ 查看完整的leap.log
        └→ 搜索ERROR和WARNING
            └→ Google搜索具体错误信息

9.4 进阶阅读资源

官方文档
  1. AmberTools手册

  2. LEaP用户指南

  3. Antechamber教程

推荐教程
  1. Amber Tutorial B1:非标准残基参数化

  2. GAFF力场论文

    • Wang et al., J. Comput. Chem. 25: 1157-1174 (2004)
    • 理解GAFF原子类型分类
  3. 混合力场策略

    • Homeyer, N., & Gohlke, H. Mol. Inf. 31: 114-123 (2012)
    • QM/MM和混合力场的理论基础
社区资源
  1. Amber邮件列表存档

  2. CCL邮件列表

  3. ResearchGate/StackExchange

    • 搜索具体错误信息
    • 查看类似案例的解决方案

附录A:SSU.prepin完整文件(带注释版)

prepin 复制代码
    0    0    2                      # 生成独立文件,全原子力场

This is a remark line                 # 备注
molecule.res                          # 输出文件名
SSU   INT  3                          # ⚠️ 应改为3(可双向连接)
CORRECT     OMIT DU   BEG             # 内坐标,删除虚拟原子
  0.0000                              # 禁用自动环检测

# === 虚拟原子(建立坐标系)===
   1  DUMM  DU    M    0  -1  -2     0.000      .0        .0      .00000
   2  DUMM  DU    M    1   0  -1     1.449      .0        .0      .00000
   3  DUMM  DU    M    2   1   0     1.523   111.21       .0      .00000

# === 主链原子(ff19SB类型)===
   4  N     N     M    3   2   1     1.540   111.208  -180.000 -0.415700  # connect0
   5  H     H     E    4   3   2     1.013    83.540   -23.968  0.271900  # N-H
   6  CA    CX    M    4   3   2     1.467   147.639   103.629  0.014000  # α碳

# === 侧链开始(GAFF类型)===
   7  CB    c3    3    6   4   3     1.526   110.061   -10.165 -0.009200  # β碳(4连接)
   8  OG    os    S    7   6   4     1.714   149.447  -160.251 -0.260000  # 醚键氧

# === 内酯环部分 ===
   9  C10   c     B    8   7   6     1.803   145.090  -147.285  0.370000  # 羰基碳(3连接)
  10  O3    o     E    9   8   7     1.102    84.554    41.563 -0.352000  # C=O双键氧

# === 主环部分 ===
  11  C5    c3    S    9   8   7     1.821   147.830   -67.807 -0.166000  # 环上C5
  12  C4    c3    B   11   9   8     1.430   109.420     6.018  0.058000  # 环上C4(分支点)
  13  C3    c3    B   12  11   9     1.431   115.682  -170.589 -0.176000  # 环上C3(分支点)
  14  C2    c3    B   13  12  11     1.417   122.116     5.219  0.143000  # 环上C2(分支点)
  15  C1    c3    B   14  13  12     1.389   119.590   -11.836 -0.252000  # 环上C1(分支点)
  16  C6    c3    S   15  14  13     1.392   119.271     6.458  0.155000  # 环上C6(将闭合到C5)
  17  O1    oh    S   16  15  14     1.356   117.011  -174.396 -0.246000  # C6上的羟基
  18  H2    ho    E   17  16  15     0.945   113.202    -3.151  0.231000  # 羟基氢
  19  H1    hc    E   15  14  13     1.078   120.126  -171.834  0.161000  # C1上的氢
  20  O2    oh    S   14  13  12     1.368   123.173   172.842 -0.247000  # C2上的羟基
  21  H3    ho    E   20  14  13     0.946   115.811   -12.559  0.231000  # 羟基氢

# === 取代基:甲基C7 ===
  22  C7    c3    3   13  12  11     1.494   121.463  -166.298 -0.194000  # C3上的甲基
  23  H4    hc    E   22  13  12     1.087   111.872    41.761  0.095000
  24  H5    hc    E   22  13  12     1.066   110.710   -80.336  0.095000
  25  H6    hc    E   22  13  12     1.086   111.749   160.831  0.095000

# === 取代基:季碳C8 ===
  26  C8    c3    3   12  11   9     1.570   121.461     1.656 -0.135000  # C4上的季碳
  27  C9    c3    B   26  12  11     1.560   121.911   114.713  0.239000  # C9(3连接)
  28  O4    os    E   27  26  12     1.214   124.763    -2.189 -0.296000  # 内酯环的醚氧(连回C10)
  29  C11   c3    3   27  26  12     1.518   120.167   177.858 -0.278000  # C9上的甲基
  30  H8    hc    E   29  27  26     1.089   110.686   -57.409  0.114000
  31  H9    hc    E   29  27  26     1.090   108.960  -174.661  0.114000
  32  H10   hc    E   29  27  26     1.085   111.708    66.453  0.114000
  33  C12   c3    3   26  12  11     1.524   109.099  -118.517 -0.204000  # C8上的另一个甲基
  34  H11   hc    E   33  26  12     1.083   107.380   -86.241  0.089000
  35  H12   hc    E   33  26  12     1.091   112.485   155.601  0.089000
  36  H13   hc    E   33  26  12     1.089   111.931    32.969  0.089000
  37  H7    hc    E   26  12  11     1.082   107.687    -3.047  0.127000  # C8上的氢

# === β碳上的氢 ===
  38  HB2   h1    E    7   6   4     1.090   109.514   -89.979  0.087700
  39  HB3   h1    E    7   6   4     1.090   109.493    30.020  0.087700

# === 主链结束(ff19SB类型)===
  40  HA    H1    E    6   4   3     1.089   106.298  -126.880  0.104700  # α氢
  41  C     C     M    6   4   3     1.540   110.624   117.790  0.597300  # connect1(羰基碳)
  42  O     O     E   41   6   4     1.229   119.071    56.137 -0.567900  # C=O双键氧


LOOP
   C6   C5        # 闭合六元环

IMPROPER
   -M   CA    N    H      # 前肽键平面
   C5   O3  C10   OG     # 内酯羰基平面
   C4   C6   C5  C10     # C5手性
   C5   C3   C4   C8     # C4手性
   C4   C2   C3   C7     # C3手性
   C3   C1   C2   O2     # C2手性
   C2   C6   C1   H1     # C1手性
   C5   C1   C6   O1     # C6手性
   C8  C11   C9   O4     # C9构型
   CA   +M    C    O     # 后肽键平面

DONE
STOP

附录B:快速参考卡

B.1 KFORM速查表

残基类型 KFORM connect0 connect1 示例
链中氨基酸 3 N C ALA, GLY, SSU
N端修饰 2 C ACE(乙酰)
C端修饰 1 N NME(酰胺)
独立分子 0 水、离子、配体

B.2 ITREE类型速查表

符号 名称 连接数 用途
M Main 2 主链路径
E End 1 末端原子
S Side 2 侧链中间
B Branch 3 三分支
3 3-way 4 四分支

B.3 ff19SB主链原子类型

原子名 GAFF类型 ff19SB类型 说明
N n, n2, n3 N 主链氮
H hn H 酰胺氢
CA c3 CX α碳
HA h1 H1 α氢
C c, c2 C 羰基碳
O o O 羰基氧

B.4 常用命令速查

bash 复制代码
# Antechamber:生成mol2和电荷
antechamber -i input.pdb -fi pdb -o output.mol2 -fo mol2 -c bcc -nc 0 -rn RES

# Prepgen:生成prepin
prepgen -i input.mol2 -o output.prepin -f mol2 -m residue.mc -rn RES

# Parmchk2:检查缺失参数
parmchk2 -i input.mol2 -f mol2 -o output.frcmod -a Y

# LEaP:测试残基
tleap -f test.in

# Cpptraj:分析轨迹
cpptraj -p topology.prmtop -y trajectory.nc -i analysis.cpptraj