详细内容

力场文件

pdb2gmx 输入文件

GROMACS 的pdb2gmx程序可以根据输入的坐标文件生成拓扑。它支持几种不同格式的坐标文件,但pdb是最常用的(因此程序命名为pdb2gmx)。运行时,pdb2gmx程序会在 GROMACS 的share/top 目录以及工作目录的子目录中搜索力场,并根据扩展名为 .ff 的目录中的 forcefield.itp文件识别力场。如果目录中存在 forcefield.doc 文件,pdb2gmx会将此文件的第一行作为力场的简短描述显示给用户,以方便用户选择力场。否则,用户可以使用pdb2gmx的命令行参数 -ff xxx来选择力场,表示要使用位于 xxx.ff 目录中的力场。搜索力场时,pdb2gmx 会首先搜索工作目录,然后再搜索 GROMACS 的 share/top 目录,并使用找到的第一个匹配 xxx.ff 的目录。pdb2gmx会读入两个通用文件:位于力场目录的原子类型文件(扩展名atp),以及来自工作目录或 GROMACS share/top 目录的 residuetypes.dat 文件。residuetypes.dat文件决定了哪些残基名称被视为蛋白质,DNA,RNA,水和离子。


pdb2gmx可以读入一个或多个数据库中不同类型分子的拓扑信息。属于同一个数据库的一组文件应具有相同的基准名称,基准名称最好能够对分子类型(如aminoacids,rna,dna)有所说明。可能的数据库文件如下:

• <basename>.rtp

• <basename>.r2b (可选)

• <basename>.arn (可选)

• <basename>.hdb (可选)

• <basename>.n.tdb (可选)

• <basename>.c.tdb (可选)

只有包含了构建单元拓扑信息的rtp文件是必需的。其他文件中的信息只用于具有相同基准名称的rtp文件中的构建单元。通过在工作目录中放置具有相同基准名称的额外文件,用户也可以将新的构建单元添加到力场中。默认情况下只能定义额外的构建单元,但使用 -rtpo 选项调用pdb2gmx时允许使用工作目录文件中的构建单元来代替力场中默认的构建单元。


残基数据库

残基数据库文件的扩展名为rtp。最初,这个文件包含蛋白质的构建单元(氨基酸),是 GROMACS对 GROMOS rt37c4.dat 文件的解释说明。因此,残基数据库文件包含常用构建单元的信息(键,电荷,电荷组和反常二面角)。最好 不要修改这个文件,因为它是pdb2gmx的标准输入。但如果确实需要修改,请修改top 文件,或修改工作目录中的rtp文件,像前面的说明那样。直接编写包含拓扑文件itp来定义一个新的小分子的拓扑可能更容易一些。具体作法将在Molecule.itp 文件一节说明。当向数据库中添加新的蛋白质残基时,不要忘了将残基名称添加到

residuetypes.dat 文件中,这样grompp,make_ndx和分析程序才能将残基识别为蛋白质残基。rtp文件只用于pdb2gmx程序。正如前面提到的,这个程序只需要从rtp数据库中读入键,原子电荷,电荷组和反常二面角这些额外信息,因为其余信息是从坐标输入文件中读入的。一些蛋白质含有非标准残基,而且坐标文件中列出了这些非标准残基。你必须为这个“奇怪的”残基创建一个构建单元,否则你无法得到top文件。对坐标文件中的一些其他分子,如配体,多原子离子,结晶溶剂分子等,也需要同样做。残基数据库的创建方式如下:


image.png

文件是自由格式;唯一的限制是每行最多只能有一个条目。文件中的第一个节段为 [ bondedtypes ] 节段,后面跟着四个数字,分别代表键,键角,二面角和反常二面角的相互作用类型。文件中的残基条目包含原子和(可选的)键,键角,二面角和反常二面角。电荷组代码代表电荷组的编号。同一电荷组中的原子应该始终按顺序连续排列。当pdb2gmx程序使用氢数据库添加缺失的氢原子时,rtp条目中定义的氢原子名称应该与氢数据库中使用的命名约定完全一致。成键相互作用中的原子名称前可以添加负号或正号,分别代表原子位于前一残基或后一残基。添加到键,键角,二面角和反常二面角的显式参数会覆盖itp文件中的标准参数。这种做法只应该用于特殊情况。也可以为每个成键相互作用添加字符串,而不是参数。GROMOS-96 的rtp文件就是这样。这些字符串会复制到拓扑文件中,通过使用grompp C 预处理器的 #define 语句,就可以用力场参数替换这些字符串。

pdb2gmx程序会自动生成所有的键角。这意味着对大多数力场,[ angles ] 节段仅用于覆盖itp参数。对 GROMOS-96 力场必须指定所有键角的相互作用编号。pdb2gmx程序会自动为每个可旋转的键生成一个正常二面角,并倾向位于重原子上。当使用 [dihedrals ] 节段时,不会为与指定二面角对应的键生成其他二面角。可以为一条可旋转的键指定一个以上的二面角函数。对 CHARMM27 力场,使用pdb2gmx程序默认的 -cmap 选项可以为二面角添加校正映射。更多信息,请参考CHARMM。

pdb2gmx会将排除数设置为 3,这意味着最多 3 条键连接的原子之间的相互作用会被排除。程序会为相隔 3 条键的所有原子对生成配对相互作用(氢原子对除外)。当需要排除更多的相互作用,或不需要生成某些配对相互作用时,可以添加 [ exclusions ] 节段,后面跟着位于不同行上的原子名称对。这些原子之间的所有非键和配对相互作用都将被排除。


残基-构建单元转换数据库

每个力场都有自己的残基命名约定。大多数残基的命名是一致的,但有些残基,特别是那些具有不同质子化状态的残基,可能具有许多不同的名称。r2b文件可用于将标准残基名称转换为力场构建单元的名称。如果力场目录中不存在r2文件,或有残基未列出,会假定构建单元的名称与残基名称完全相同。r2b文件可包含 2 或 5 列。2 列格式为:第一列为残基名称,第二列为构建单元名称。5 列格式有 3 个附加列,分别为出现在 N 端,C 端,同时出现在两个末端的残基(单个残基分子)对应的构建单元的名称。这适用于一些力场,如 AMBER 力场。如果不存在一个或多个末端状态,应在相应列中输入短划线。

GROMACS 对残基有自己的命名约定,这个约定只通过r2b文件和 specbond.dat 文件表现出来(pdb2gmx代码除外)。只有当将残基类型添加到rtp文件时,这个约定才变得非常重要。此约定列在 表5.12 中。对于特殊的键,如与血红素相关的键,GROMACS 命名约定通过 specbond.dat 引入(参见特殊键),如果需要,此约定随后可以利用r2b文件进行转换。


GROMACS名称 残基

ARG 质子化精氨酸

ARGN 中性精氨酸

ASP 带负电荷的天冬氨酸

ASPH 中性天冬氨酸

CYS 中性半胱氨酸

CYS2 通过硫结合到另一个半胱氨酸或血红素的半胱氨酸

GLU 带负电荷的谷氨酸

GLUH 中性谷氨酸

HISD N𝛿质子化的中性组氨酸

HISE N𝜖 质子化的中性组氨酸

HISH N𝛿和N𝜖质子化的带正电荷的组氨酸

HIS1 与血红素结合的组氨酸

LYSN 中性赖氨酸

LYS 质子化赖氨酸

HEME 血红素


原子重命名数据库

力场中使用的原子名称通常不遵循 IUPAC 或 PDB 约定。arn数据库用于将坐标文件中的原子名称转换为力场中的原子名称。数据库中未列出的原子会保留其原有名称。该数据库文件有三列:构建单元名称,旧的原子名称,新的原子名称。残基名称支持问号通配符,用以匹配单个字符。share/top 目录下还存在一个通用的原子重命名文件 xlateat.dat,它可以将坐标文件中常见的非标准原子名称转换为 IUPAC/PDB 约定名称。因此,在编写力场文件时,可以假定原子具有标准原子名称,除了将标准名称转换为力场名称外,不需要进一步的转换。


氢原子数据库

氢原子数据库存储在hdb文件中。它包含了pdb2gmx程序如何将氢原子连接到已有原子的相关信息。在 GROMACS 3.3 版本之前的数据库中,氢原子是根据它们所连接的原子进行命名的:将连接原子名称的首字母替换为 H。从 3.3 版本开始,必须明确列出氢原子,因为以前的作法仅适用于蛋白质,因而不能推广用于其他分子。如果一个以上的氢原子连接到同一个原子,氢原子名称的末尾会添加一个数字。例如,添加两个氢原子到(天冬酰胺中的)ND2,它们将被命名为 HD21 和 HD22。这很重要,因为rtp文件(参见rtp)中的原子命名必须相同。氢原子数据库的格式如下:

image.png


第一行为残基名称(ALA 或 ARG)以及氢原子的类型数,这些氢原子可以根据氢原子数据库添加到残基中。后面的每行对应于一次氢原子的添加:

• 添加的氢原子数

• 添加氢原子的方法,可能的方法如下:

1. 单个平面氢原子,如环或肽键:添加一个氢原子(n),置于原子 (i, j, k) 形成的平面内,位于角 (j-i-k) 的平分线上,距原子 i 0.1 nm,并使得角 (n-i-j) 和 (n-i-k) > 90o。

2. 单个氢原子,如羟基:添加一个氢原子(n),距原子 i 0.1 nm,并使得角 (n-i-j) 为 109.5 度,二面角 (n-i-j-k) 为反式。

3. 两个平面氢原子,如乙烯-C=CH2, 或酰胺 -C(=O)NH2:添加两个氢原子 (n1, n2),距原子 i 0.1 nm,并使得角 (n1-i-j) 和 (n2-i-j) 都为 120 度,二面角 (n1-i-j-k) 为顺式,(n2-i-j-k) 为反式,这样命名符合 IUPAC 标准。

4. 两个或三个四面体氢原子,如-CH3:添加三个 (n1, n2, n3) 或两个 (n1, n2) 氢原子,距原子 i 0.1 nm,并使得角 (n1-i-j), (n2-i-j)和 (n3-i-j) 都为 109.47o,二面角 (n1-i-j-k) 为反式,(n2-i-j-k) 为反式 +120o, (n3-i-j-k) 为反式 +240o。

5. 单个四面体氢原子,如C3-CH添加一个氢原子 (n′),距原子 i 0.1 nm,处于四面体构型中,角 (n′-i-j), (n′-i-k), (n′-i-l) 都是109.47o。

6. 两个四面体氢原子,如 C-CH2-C添加两个氢原子 (n1, n2),距原子 i 0.1 nm,处于四面体构型中,位于平分角 j-i-k 的平面上,并且角为 (n1-i-n2), (n1-i-j), (n1-i-k) 都为 109.47o。

7. 两个水中的氢原子:根据 SPC 水模型的几何构型,在原子 i 周围添加两个氢原子。对称轴的两个方向交替地位于三个坐标轴之间。

8. 三个水中的“氢”原子:根据 SPC 水模型80↪535 的几何构型,在原子 i 周围添加两个氢原子。对称轴的两个方向交替地位于三个坐标轴之间。

此外,在氧原子位置上添加一个额外的粒子,并将其名称的第一个字母以 M 代替。此方法适用于四位点的水模型,如 TIP4P。

9. 四个水中的“氢”原子:同上,但会在氧原子位置上添加两个额外的粒子,名称分别为 LP1 和 LP2。此方法适用于五位点水模型,如 TIP5P。

• 新的氢原子的名称(或其前缀,如前文天冬酰胺示例中的 HD2)。

• 三或四个控制原子 (i, j, k, l),其中第一个始终为与氢原子连接的原子。另外两个或三个取决于所选添加方法。对于水,只有一个控制原子。


对一些非常特殊的情况,可以利用上面的方法近似地构建,并进行适当的能量最小化,这样得到的构型作为 MD 模拟的初始构型足够好。

例如对仲胺氢,亚硝酰基氢(C = NH),甚至乙炔氢,都可以利用上面添加羟基氢的方法 2 近似地构建。


末端数据库

末端数据库存储在 aminoacids.n.tdb 和 aminoacids.c.tdb 文件中,分别对应于 N 端和 C 端。它们包含了pdb2gmx程序需要的一些信息:如何将新原子连接到已有原子,应删除或更改哪些原子,应添加哪些成键相互作用。文件的格式如下(来自 gromos43a1.ff/aminoacids.c.tdb)

文件以块的形式组织起来,每块的标题指定了块的名称。这些块对应于可以添加到分子中的不同末端的类型。在上面的例子中,[ COO- ] 为第一块,对应于将末端碳原子更改为去质子化的羧基。[ None ]为第二末端类型,对应于保持分子原状的末端。块名称不能取以下的任何一种:replace,add,delete,bonds,angles,dihedrals,impropers。否则会干扰块的参数,并且可能也会让读者感到非常困惑。

image.png


每个块可使用以下选项:

• [ replace ]

将一个已有原子替换为具有不同原子类型,原子名称,电荷和/或质量的原子。此条目可用于替换同时存在于输入坐标和rtp数据库中的原子,也可用于只对输入坐标中的原子进行重命名,以使其与力场中的名称相匹配。对后一种情况,还应该提供相应的 [ add ] 节段,用于指示如何添加相同的原子,这样才能知道序列中的位置和成键。这种原子可以存在于输入坐标中并保持不变,或不存在于输入坐标中而是通过pdb2gmx程序构建。对于每个要进行在线替换的原子,应算输入以下字段:

– 要替换原子的名称

– 新的原子名称(可选)

– 新的原子类型

– 新的质量

– 新的电荷


• [ add ]

添加新的原子。对每个(组)要添加的原子,需要两行输入。第一行包含与氢原子数据库中的条目相同的字段(新原子的名称,原子数目,添加类型,控制原子,参见hdb),但增加了两个添加类型,只用于 C 端:

1. 两个羧基氧原子,-COO−:根据规则 3 添加两个氧原子 (n1, n2),距原子 i 0.136 nm,角 (n1-i-j),(n2-i-j) 都是 117 度

2. 羧基氧原子和氢原子,-COOH:根据规则 3 添加两个氧原子 (n1, n2),分别距原子 i 0.123 nm 和 0.125 nm,角 (n1-i-j) 为

121 度,角 (n2-i-j) 为 115 度。根据规则 2 在 n2 周围添加一个氢原子 (n′),其中 n-i-j 和n-i-j-k 分别对应于 n′-n2-i 和 n′-n2-i-j。

此行之后,接下来的另一行指定了添加原子的细节,与替换原子的方式相同,即:

– 原子类型

– 质量

– 电荷

– 电荷组(可选)

如氢原子数据库(参见rtp)一样,当一个以上的原子连接到一个已有原子时,原子名称的末尾会追加一个数字。注意,就像在氢原子数据库中一样,原子名称现在与控制原子位于同一行中,而在 GROMACS 3.3 版本之前它位于第二行的开头。当忽略电荷组字段时,添加的原子会与此原子所连接的原子具有相同的电荷组编号。


• [ delete ]

删除已有原子。每行一个原子名称。

• [ bonds ],[ angles ],[ dihedrals ] 和 [ impropers ]

添加额外的成键参数。格式与rtp文件中使用的完全相同,参见rtp一节。


虚拟位点数据库

由于不能依赖输入文件中氢的位置,我们需要一个特殊的输入文件来决定要添加的虚拟氢位点的几何构型和参数。为构建更复杂的虚拟位点(例如当保持整个芳族侧链刚性时),我们还需要侧链中所有原子平衡键长和角度的信息。这些信息在每个力场的vsd文件中指定。与末端类似,rtp文件中的每个残基类别都有一个这样的文件。

虚拟位点数据库并不是一个非常简单的信息列表。它的前几个节段指定了用于 CH3,NH3 和 NH2 基团的质量中心 (通常称为 MCH3/MNH3)。根据氢原子和重原子之间的平衡键长和键角,我们需要在这些质心之间施加略有不同的约束距离。注意,我们 不需要指定实际的参数(会自动生成),而只需要指定要使用的质量中心类型。为此,有三个节段名称 [ CH3 ],[ NH3 ] 和 [ NH2 ]。对每个节段,我们需要三列。第一列为连接到 2/3 氢的原子类型,第二列为连接的下一个重原子的类型,第三列为使用的质心类型。作为特例,[ NH2 ] 节段的第二列也可以指定为 planar,代表使用不同的构建方法,并且不使用质心。目前,对于 NH2 基团是否应为平面结构,一些力场的观点不一,但我们尽量保持力场默认的平衡参数不变。

虚拟位点数据库的第二部分包含芳香族侧链的原子对/三联对的明确的平衡键长和键角。目前,虚拟位点生成代码中的特定例程会读取这些条目,因此如果你要扩展它,如扩展到核酸,你还需要编写新的代码。这些节段根据氨基酸的短名称进行命名([ PHE ],[ TYR ],[ TRP ],[ HID ],[ HIE ],[ HIP]),只包含 2 或 3 列:原子名称,接着是指定键长(以 nm 为单位)或键角(以度为单位)的数字。注意,这些是对整个分子平衡几何构型的近似,如果分子未处于平衡状态,其单个键长/键角的值可能与的平衡值不同。


特殊键

pdb2gmx程序生成残基间的化学键时使用的主要机制为,从头到尾连接不同残基中的骨架原子进而构成大分子。在某些情况下(如二硫键,血红素基团,支化聚合物),有必要创建残基间非骨架上的化学键。specbond.dat 文件用于实现这个功能。残基必须属于相同的 [ moleculetype ]。当操控不同链之间特殊的残基间化学键时,pdb2gmx程序的 -merge 和 -chainsep 选项非常有用。

specbond.dat 文件的第一行表示文件中的条目数。如果添加了新的条目,请确保增加此数字。文件中的其余行提供了创建键的说明。每行的格式如下:resA atomA nbondsA resB atomB nbondsB length newresA newresB

每列分别表示:

1. resA: 参与成键的残基 A 的名称。

2. atomA: 残基 A 中成键原子的名称。

3. nbondsA: atomA 可以成键的总数。

4. resB: 参与成键的残基 B 的名称。

5. atomB: 残基 B 中成键原子的名称。

6. nbondsB: atomB 可以成键的总数。

7. length: 键的参考长度。在提供给pdb2gmx↪149 程序的坐标文件中,若 atomA 和 atomB 之间的距离

不在 length ± 10% 范围内,它们之间不会成键。

8. newresA: 如果需要的话,残基 A 的新名称。有些力场使用诸如 CYS2 之类的名称来表示与二硫键

或血红素相连的半胱氨酸。

9. newresB: 残基 B 的新名称,同上。



最新评论
请先登录才能进行回复登录
技术支持: CLOUD | 管理登录
seo seo