本文主要参考Gromacs官方的教程,另外关于amber的部分主要参考了antechamber和acpype
用Gromacs对蛋白与小分子进行模拟最重要的是要生成小分子的力场文件。因为Gromacs本身不能自己生成小分子的力场参数文件,所以需要用第三方的工具。官方教程列举了很多种方式,主要推荐用cgenff。
CGenFF
下载最新的gromacs力场,我下载的是charmm36-jul2020
-
处理蛋白
gmx pdb2gmx -f clean.pdb -o processed.gro -ignh
处理小分子
首先要准备好小分子的mol2文件,氢原子必须都加上(可以用pymol直接生成)。要保证mol2文件里的残基名称是一致的。然后将准备好的mol2文件上传到cgenff网站生成str文件。
最后将str文件用cgenff_charmm2gmx.py转换为gromacs的力场文件。
python cgenff_charmm2gmx.py JZ4 jz4_fix.mol2 jz4.str charmm36-mar2019.ff
注意这个python脚本必须用python2,并且要安装networkx库。生成的文件包括jz4.prm,jz4.itp以及jz4_ini.pdb
然后用gromacs的editconf将jz4_ini.pdb转换为jz4_ini.gro。
然后将蛋白及小分子的gro文件合并到一起,手动删掉多余的行,更新原子数。
最后在topol.top文件引入jz4.prm和jz4.itp,并在最下面的[ molecules ]中加入小分子
AnteChamber
注意用cgenff并不总能成功,因为cgenff生成的str文件有时候包含了多余的dummy atoms,这个时候我推荐用ambertools中的antechamber来生成小分子的力场文件,然后用acpype来转换为gromacs力场文件。
-
由于amber力场与gromacs力场冲突,所以我们需要选择amber的99SB力场重新生成蛋白的gro文件及力场文件。
gmx pdb2gmx -f clean.pdb -o processed.gro -ignh
-
安装ambertools及acpype
我选择用conda直接安装acpype,这样会自动安装ambertoolsconda install -c conda-forge acpype
-
用antechamber生成小分子的力场文件
首先添加H原子
reduce sustiva.pdb > sustiva_h.pdb
然后计算电荷
antechamber -i sustiva_new.pdb -fi pdb -o sustiva.mol2 -fo mol2 -c bcc -s 2
然后检查参数
parmchk -i sustiva.mol2 -f mol2 -o sustiva.frcmod
打开tleap
tleap -f oldff/leaprc.ff99SB
导入GAFF力场
source leaprc.gaff
载入小分子结构
SUS = loadmol2 sustiva.mol2
导入小分子的extra参数
loadamberparams sustiva.frcmod
保存
saveoff SUS sus.lib saveamberparm SUS sustiva.prmtop sustiva.rst7
-
用acpype生成gromacs的力场文件
acpype -p FFF_AC.prmtop -x FFF_AC.inpcrd
以上命令可以生成小分子的top及gro文件。
合并蛋白和小分子的gro文件,并更改top文件。
完成以上步骤之后,剩下的是标准的gromacs的模拟的过程,这里不再赘述。