简介
gmx_mmpbsa用于计算GROMACS轨迹的MMPBSA结合能, 并进行能量分解. 计算时, MM部分由脚本自行完成, PBSA部分借助APBS程序完成. 因此, 在使用gmx_mmpbsa前, 必需安装好GROMACS和APBS程序. 如果你已经需要使用这个脚本了, 那说明你已经得到了GROMACS的轨迹, GROMACS自然是已经安装好了的. 而APBS的安装也很简单, 官方网站提供了二进制版本, Linux和Windows下的都有, 拖过来就可以用.
gmx_mmpbsa计算MM和PBSA所需的原子参数(电荷, 半径, LJ参数等)来自GROMACS的.tpr文件, 因此, 需要调用gmx dump程序处理.tpr文件, 以便抽取所需的参数. 采用这种方法, 可以避免版本不兼容的问题, 因此也就可以支持任意版本的GROMACS. 对于APBS也是一样, 只要APBS的输入文件格式没有变化, 那gmx_mmpbsa生成的APBS输入文件就可以用于任意版本的APBS. 这样我们就可以安装GROMACS和APBS的最新版本而不用担心兼容性问题.
gmx_mmpbsa还使用了gmx trjconv程序, 用于处理轨迹的周期性叠合问题. 当然, 这一步你可以自己完成, 而无需借助脚本, 特别是在需要对周期性进行特殊处理的情况下.
在Windows下使用时, 还需要一个bash环境, 你可以使用msys2, Git Bash, 或cygwin.
使用流程 1. 获得输入文件
•生成tpr文件, 预平衡•运行成品模拟, 得到xtc轨迹文件•生成ndx文件, 其中需要定义三个组: 复合物(com), 蛋白(pro), 配体(lig). 名字虽然是pro, lig, 但其实可以代表任意分子, 比如两个有机小分子, 而不一定就是蛋白和配体.•处理轨迹. 如果存在二聚体, 团簇等情况, 确保组成的原子间没有分离. 其他情况脚本可自动处理.
2. 设定gmx_mmpbsa计算参数
•apbs='c:/apbs1.5/bin/apbs.exe' # APBS: APBS可执行文件的完整路径. Linux系统下如: apbs='/home/users/APBS/bin/apbs'.•ff=AMBER: 力场类型, AMBER, OPLS, CHARMM•trj=1EBZ.xtc: 轨迹文件•tpr=1EBZ.tpr: tpr文件•ndx=index.ndx: 索引文件•com=System: 复合物索引组•pro=Protein: 蛋白索引组•lig=BEC: 配体索引组
将trj, tpr, ndx等变量指向相应文件, 将com, pro, lig指向索引文件中相应的索引组.
其他参数主要是APBS计算所用的极性参数, 非极性参数, 网格参数, 一般无需更改太多.
3. 运行脚本
•脚本首先处理轨迹: 1. 完整化; 2. 居中叠合. 之后将构型输出到pdb文件.•脚本其次抽取tpr中的原子信息, 存放在qrv文件中. 主要是复合物中每个原子的电荷, 半径, LJ参数以及残基信息.•脚本根据pdb文件中原子的坐标获取APBS网格参数, 并将每帧构型输出到APBS所需的pqr文件, 同时生成APBS输入文件*.apbs. 然后调用APBS计算每帧构型对应的apbs文件, 并计算极性PB, 非极性SA部分的贡献, 再计算MM贡献, 同时进行残基分解, 输出结果.
由于脚本在计算时是分步进行的, 因此你可以先将所有apbs文件都产生出来然后并行计算它们, 最后再统计结果. 当然这只有在计算构型较多的情况下才值得尝试.
文件说明
•gmx_mmpbsa.bsh : 总脚本•_pid.pdb : 转换为pdb的轨迹•_pid.qrv : 原子的电荷, 半径, VDW参数, 以及原子信息
APBS相关文件
•_pid~XX.Yns.apbs : APBS输入文件•_pid~XX.Yns.out : APBS输出文件•_pid~XX.Yns_com.pqr : 复合物pqr文件•_pid~XX.Yns_lig.pqr : 配体pqr文件•_pid~XX.Yns_pro.pqr : 蛋白pqr文件•_pid~XX.Yns~COU+VDW.pdb : 复合物pdb文件, Occupancy列为COU能, beta列为VDW能•_pid~XX.Yns~PB+SA.pdb : 复合物pdb文件, Occupancy列为PB能, beta列为SA能•_pid~XX.Yns~res_MM+PBSA.pdb : 复合物pdb文件, Occupancy列为MM能, beta列为PBSA能•_pid~XX.Yns~res_MMPBSA.pdb : 复合物pdb文件, Occupancy列为MMPBSA能
输出文件
•_pid~MMPBSA.dat : 总能量•_pid~res_MMPBSA.dat : 总能量分解到残基•_pid~resMM.dat : MM能量分解到残基•_pid~resMM_COU.dat : COU能量分解到残基•_pid~resMM_VDW.dat : VDW能量分解到残基•_pid~resPBSA.dat : PBSA能量分解到残基•_pid~resPBSA_PB.dat : PB能量分解到残基•_pid~resPBSA_SA.dat : SA能量分解到残基
用户反馈 与GMXPBSA相比
•GMXPBSA只能给出总的结果, 而gmx_mmpbsa可给出MM, PB, SA总的结果和残基分解结果;•GMXPBSA使用时若体系中存在自定义拓扑或残基, 则需要提供相应的拓扑或力场文件;•GMXPBSA原有脚本生成并使用的Mm.mdp文件较老, 需要手动修改print_files.dat脚本;•GMXPBSA出错时需要进入子目录查看错误原因, 重新运行时又要删除子目录, 否则不能运行, 因而调试较为繁琐;•GMXPBSA需先后运行三个脚本, 而gmx_mmpbsa只需要运行一次;•GMXPBSA可实现甘氨酸扫描(CAS), gmx_mmpbsa尚未实现.
与g_mmpbsa相比
•g_mmpbsa需要安装, 而gmx_mmpbsa无需安装, 简单修改后可直接使用;•g_mmpbsa需手动分别运行计算MM, PB, SA的能量, 而gmx_mmpbsa只需要运行一次.•g_mmpbsa计算速度较慢, 而gmx_mmpbsa脚本计算速度较快, 因可以使用最新版本的APBS程序, 支持并行.•g_mmpbsa可实现任意残基突变, gmx_mmpbsa尚未实现.•g_mmpbsa支持其他非极性模型, 如SAV, WCA, gmx_mmpbsa尚未实现.
有待改进
•GB方法•甘氨酸扫描, 任意残基突变•其他非极性模型•调用其他PB程序, 如AMBER的PBSA•结果的误差统计