AmberTools Prepin文件格式完全解析:以SSU残基为例
目录
- 一、引言:为什么需要理解Prepin格式
- 二、案例背景:SSU残基是什么
- 三、Prepin文件格式详解
- 四、逐行解析SSU.prepin文件
- 五、树形结构的完整拆解
- 六、LOOP与IMPROPER的深入理解
- 七、从零开始构建非标准残基的完整流程
- 八、常见问题与调试技巧
一、引言:为什么需要理解Prepin格式
在使用AmberTools进行分子动力学模拟时,我们经常会遇到非标准氨基酸 、修饰残基 或特殊配体。这些分子无法直接从Amber的标准残基库中获取参数。此时,我们需要:
- 定义残基的拓扑结构(哪些原子,如何连接)
- 指定力场参数(键长、键角、二面角、电荷)
- 确保与蛋白质主链的正确连接(肽键形成)
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: 主链酰胺氮(连接前一个残基)
- Cα (CA): α碳
- C: 羰基碳(连接后一个残基)
- O: 羰基氧
Part 2: β碳与醚键连接
Cα
|
Cβ―O―
| |
H2 醚键连接到侧链
- Cβ (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(当前原子)
几何关系:
- NA : 当前原子与
NA号原子成键,键长为R - NB : 原子
I,NA,NB形成一个键角,大小为THETA - 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
虚拟原子的作用:
- 建立坐标系:前三个原子定义了一个初始的坐标框架
- 锚定第一个真实原子:真实原子从DUMM(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个连接:
- 连到CA(主链)
- 连到OG(侧链继续)
- 连到HB2(氢)
- 连到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的原子对并建立键。但这可能导致:
- 误闭合(不该连的连上了)
- 漏闭合(该连的没连上)
最佳实践 :设置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)
这些定义用于:
- 维持手性中心:如C1、C4等不对称碳的立体构型
- 维持平面性:如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 进阶阅读资源
官方文档
-
AmberTools手册
- 地址:https://ambermd.org/doc12/Amber23.pdf
- 章节:第13章(Prep文件格式)和第16章(参数开发)
-
LEaP用户指南
- 地址:https://ambermd.org/doc12/AmberTools23.pdf
- 章节:第2章(LEaP命令)
-
Antechamber教程
- 地址:https://ambermd.org/tutorials/basic/tutorial4b/
- 内容:小分子参数化完整流程
推荐教程
-
Amber Tutorial B1:非标准残基参数化
-
GAFF力场论文
- Wang et al., J. Comput. Chem. 25: 1157-1174 (2004)
- 理解GAFF原子类型分类
-
混合力场策略
- Homeyer, N., & Gohlke, H. Mol. Inf. 31: 114-123 (2012)
- QM/MM和混合力场的理论基础
社区资源
-
Amber邮件列表存档
- http://archive.ambermd.org/
- 搜索关键词:"prepgen", "non-standard residue", "modified amino acid"
-
CCL邮件列表
-
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