【2.1.1】LEaP的基础
一、背景
LEaP程序是许多化学结构文件类型(主要是.pdb和.mol2)和Amber模型参数文件类型(例如.lib,.prepi,parm.dat和.frcmod)之间的门户。 每个参数文件都包含构建模拟所需的信息,无论是最小化能量还是分子动力学。 给定完整的参数集(molecular model,我们称为“力场”(force field)),LEaP将生成
- AMBER拓扑文件(通常,文件扩展名为“ .prmtop”,“ .parm7”和“ .top” 是相同文件类型的同义词),
- 坐标文件(LEaP产品的适当文件扩展名包括“ .inpcrd”和“ .crd”)。
LEaP在Amber手册第1.1节中所述的较大工作流程中起作用。
下图说明了不同文件类型中包含的信息。 图中的黑色复选标记表示此类文件与LEaP相关。 图中的红色复选标记表示该文件包含可能与LEaP不相关的其他信息。 有关某些文件的内容及其格式的更多详细信息,请参见AMBER文件格式网页以及《 AMBER 2016手册》的14.1节。
在这里,我们还有一个用于在CHARMM和GROMACS中对文件建模的图。
二、LEaP如何工作?
LeAP程序整理参数以便对分子进行完整描述。要查看实际效果,只需通读 $AMBERHOME/dat/leap/cmd/ 中的一个jumprc文件。它们中的每一个都被当作脚本阅读:存在原子类型和残基的声明,以及对包含参数和残基定义的加载文件的调用。例如,我们建议的蛋白质力字段编码为jumprc.protein.ff14SB,这是您经常调用的文件。在该jumprc中,您将找到一个调用来加载parm10.dat(“完整”力场参数文件)以及frcmod.ff14SB(具有FORce字段修改的辅助参数文件,FORce field MODifications)。在这种情况下,frcmod.ff14SB补充了parm10.dat,但是由于以后指定了任何冲突,因此会优先使用frcmod。可以在jumprc.protein.ff15ipq中找到另一个等效的现代蛋白质作用力字段,该文件仅调用主参数文件,因为其所有参数都是同时导出的。在所有jumprc文件中,还必须有库(lib文件)。拥有参数是一回事,但是直到根据这些参数明确定义了我们的分子单位后,它才会有很大帮助。如上图所示,残基库包含一些自己的参数:电荷。这似乎是材料的一种奇怪的划分,但这归因于amber力场的工作方式。还有其他定义力场的范例,这些范例已经超出了本教程的范围,但是简而言之,应用它们将需要不同的程序。
一旦LEaP知道了所有参数,它就会尝试完全定义已给出的结构的所有方面。 有一定程度的容错能力:LEaP可以带有不完整的残基,也可以要求仅构建残基,并且只要知道残基是什么,它就会合规。 但是,如果LEaP不知道残基是什么,或者更经常地遇到残基内的原子名称与它的库不完全匹配,则程序将抛出错误消息,并且直到修复该问题后,系统才可以进行simulation 。 LEaP产生的坐标反映了在填充任何不完整的残基或构建了要告知的内容后给出的结构。 LEaP产生的拓扑是该系统运行方式的完整描述。 需要进行simulation是因为该系统几乎可以肯定是如此复杂,以至于找不到解析解决方案。
“标准”残基:AMBER具有标准氨基酸,核酸,脂质和糖的库文件。 这些库旨在与已建立的参数集一起使用,这些参数集已在其各自的jumprc文件中定义。 在Amber16和更高版本中,我们为蛋白质,核酸和溶剂(包括许多水模型)的不同描述定义了jumprc文件,以便您可以根据需要混合和匹配。 您只需简单地声明 source jumprc.protein.ff14SB 等等,就可以将这些jumprc文件包含在您的LEaP输入中。 找不到文件? 那是因为它们被藏在 $AMBERHOME/dat/leap/cmd/ 中,但是LEaP知道在哪里可以找到标准的包含物,就像C编译器使用其标准库的默认目录运行一样。 请记住,并非推荐我们提供的所有模型组合,且我们还麻烦制作这些文件,因为我们认为单独使用它们是个不错的选择。
非标残基:可能存在非标准残基的库文件(例如,您可以在网上找到它们),但是您应始终检查它们的内容和衍生方法。 在大多数情况下,用户只需要为自己创建一个相应的.lib文件即可。 此过程采用单独的教程中所述的antechamber程序。 antechamber程序通常使用“通用amber力场”(General Amber Force Field)将为自定义残基生成自己的.frcmod文件,但是参数的确切来源受某些用户控制。 LEaP可以读取antechamber容易产生的.prepi文件,以创建适当的库文件,或者将它们本身视为库文件。 在大多数情况下,antechamber还会创建一个包含自定义参数的.frcmod文件,LEaP在构建系统时也需要该文件。
pdb4amber程序:尽管我们竭尽全力提供插入PDB和其他数据库所拥有的结构的力场,但是有多个原子命名约定以及结构的其他方面使我们无法通用兼容。 为了缓解此问题,我们提供了pdb4amber程序,该程序将原子和残基名称修改为其余程序可以理解的约定。 它主要用于蛋白质,但可以应用于其他生物分子。 该程序有一些限制,例如由于PDB CONECT格式而限制为100,000个原子。 如果不带参数运行,该程序将提供选项列表。 下例显示了一个典型的应用程序。
添加键:在结构制备中最常见的错误之一是无法键合半胱氨酸二硫键,但还有其他一些连接需要谨慎。 如果.pdb或.mol2结构文件包含在两个半胱氨酸之间形成桥梁的连通性信息,那么一切都会好的。 但是,如果仅从文件中获取坐标(也许您为“ ATOM”添加了grep以消除结晶水),则需要手动添加连接。 如果二硫键丢失,则在模拟中CYS残基将无法正确转化为CYX,而是被还原(氢被添加到硫醇中)。 可以使用以下命令将任何键添加到LEaP输入的结构中:
bond <unit>.<residue #>.<atom name> <unit>.<residue #>.<atom name>
AMBER手册对如何添加键提供了更一般的描述,但这是您最常遇到的格式。 确保将需要参与二硫键的任何半胱氨酸重新标记为CYX,而不是像在蛋白质数据库(PDB)中显示的CYS标记。 每个原子的规范不是ambmask字符串,并且必须注意,您必须提供的残基编号是结构文件中出现的残基位置,而不是该文件中可能给出的残基编号。 如果您有一个.pdb文件,该文件的残基编号从与生物化学家相关的位开始,这会有所不同,例如CYS 14,THR 15,GLU 16,CYS 17等。在这种情况下,(重新标记的)CYX 14之间存在二硫键。 并通过以下方式指定此结构的CYX 17(从其父.pdb文件读取为MyUnit):
bond MyUnit.1.SG MyUnit.4.SG。
jump.log文件:来自jump的最重要的输出将通过管道传输到终端,或您重定向到该文件的任何文件(即 leap -f InputFile.txt > OutputFile.txt ),但是还有另一个输出源将不断 并附有目录( leap.log)中运行的每个LEaP会话的详细输出。 如果要专注于正在执行的操作的详细信息,请在运行LEaP之前清除此文件。 仔细阅读leap.log,您将找到放置在输入文件中的每个命令,以及更多其他内容。 它将真正向您展示您引用的jumprc文件是如何被当作脚本使用的:实际上,如果未将其直接写下来供您引用,实际上其内容的每个部分都可以直接在LEaP输入文件中指定。
错误消息:即使是高级AMBER用户也会犯错,但幸运的是LEaP报告了它遇到的大多数问题。 关键是所有用户都应仔细阅读LEaP输出,因为错误通常很容易被忽略。 花一点时间检查输出,以发现没有任何问题要比开始simulation,运行simulation两周,然后仅检查结果以发现系统在开始时存在细微问题要好得多。
三、LEaP的例子
在水中生成溶剂化蛋白质的这一简单练习将应用我们刚刚学到的原理。 我们将使用蛇毒毒素fasciculin,1FSC.pdb,ff14SB力场来描述蛋白质和SPC/E水模型。 因为fasciculin包含四个二硫键,所以我们必须将参与这种相互作用的CYS残基重命名为CYX。 当应用pdb4amber时,1FSC.pdb中的CONECT记录将处理绑定和CYS重命名。 该操作的输出在这里。
结构文件中有两个原子,标记为“ UNL”,我们将只需要消除它们-它们不是蛋白质或任何配体的一部分,可能只是晶体学提纯的问题。 在应用tleap之前,最终的.pdb文件在此处。 蛋白质和所有其他结晶水可以在下图中看到。
为了对系统进行溶剂化,我们将使用solvateOct命令将其放入规则的,截断的八面体盒子中。这是Amber拥有的最接近球体的事物,并且是将水包围生物分子的空间(因此是颗粒数)的最有效方法。在MD的早期,我们经常做“鞋盒”,其尺寸取决于生物分子的形状和方向。这种方法的麻烦在于,当模拟一些可能会崩溃的东西时,我们今天的模拟日常所能达到的时间范围将在很大程度上保证这种情况会发生。在我们的模拟中,将有蛋白质的周期性图像排列在蛋箱(egg-crate )布局中(这就是截短的八面体的堆叠方式),我们不希望物体接触到其自身图像的情况。下面的设置对于以9或10Å截止值运行模拟将是非常好的。使用14μl的缓冲液,但是该缓冲液区域中的水会在蛋白质周围沉淀一些,因此在气压调节器(barostat)起作用后的头100-200ps动态中,盒子的体积会缩小一点。
另一个需要考虑的因素:fasciculin是带电荷的,最佳实践是使系统总体上保持中性。 为了补偿+4电荷,我们将使用addIons命令添加四个氯离子。 完整的LEaP输入在这里:
source leaprc.protein.ff14SB
source leaprc.water.spce
fasciculin = loadPdb "1fsc_amb.pdb"
solvateOct fasciculin SPCBOX 14.0
addIons fasciculin Cl- 4
saveAmberParm fasciculin solvated_1fsc.top solvated_1fsc.crd
quit
此练习的输出可在此处找到,并且jump.log文件在此处。 现在可以将生成的拓扑和坐标输入到初始最小化中,以进行典型的MD模拟。 这是我们制作的系统,显示了盒子的八面体形状(尽管正好从水的轮廓上看不出来,但正对一个正方形的面):
CHARMM中有一个有关使用AMBER力场的教程。 这样,用户可以利用CHARMM软件包提供的功能。 有兴趣的用户可以检查此链接。
参考资料
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn