生成小分子力场TOP

生成小分子力场TOP

自动化工具是非常受欢迎的。对于每一个力场,都有一些方法或软件程序可以提供与各种力场兼容的参数。并不是所有的结果都一样准确。有几个例子,请参考下表:

力场自动化工具备注
AMBERAntechamber借助GAFF参数化分子
AMBERacpype连接Antechamber的Python接口,用于编写GROMACS拓扑
CHARMMCGenFF官方的CHARMM通用力场服务器(网站化服务)
GROMOS87/GROMOS96PRODRG 2.5用于拓扑生成的自动化服务器(网站化服务)
GROMOS87/GROMOS96ATB用于生成适用于GROMOS96 54A7的拓扑的新服务器(网站化服务)
OPLS-AATopolbuild将Tripos .mol2文件转换为拓扑
OPLS-AATopolGen一个Perl脚本,将一个全原子的.pdb文件转换为一个拓扑
OPLS-AALigParGen来自Jorgensen课题组的服务器,用于生成OPLS拓扑

如果化学键不是按升序排列的,那么在构造具有匹配坐标的正确拓扑时会出现问题。要解决这个问题,下载 sort_mol2_bonds.pl 脚本并运行:

perl sort_mol2_bonds.pl input.mol2 input_fix.mol2

自动加氢脚本

babel -ipdb ligand.pdb -opdb ligand_h.pdb -h ## 加H
sed -i 's/ATOM  /HETATM/'  ligand_h.pdb
sed -i '/HETATM/!d'  ligand_h.pdb

ATB网站

生成基于Amber力场适配gromacs格式TOP文件,

对于使用GaussView 计算resp电荷可以参考: https://blog.csdn.net/weixin_42486623/article/details/129055384
下面我们使用上面是生成的mol2文件来生成基于Amber的力场,适配gromacs

  1. 检查缺失的参数
parmchk2 -i xx.mol2 -f mol2 -o xx.frcmod


2. 构建tleap.in文件
tleap.in如下:

source leaprc.gaff
MOL=loadmol2 methane.mol2
loadamberparams methane.frcmod
saveamberparm MOL MOL.prmtop MOL.rst7
savepdb MOL MOL_tleap.pdb
quit

执行tleap.in文件

tleap -f ./tleap.in

生成两个文件



3. 使用acpype 转化为gromacs的Top文件

acpype -p MOL.prmtop -x MOL.rst7

使用mktop_2.2.1.pl生成OPLS力场

  1. 下载mktop_2.2.1.pl文件,http://www.aribeiro.net.br/mktop/
  2. 用vi编辑器打开mktop_2.2.1.pl,修改gromacs的力场目录为自己linux系统安装gromacs的路径,即修改如下红色框里面的内容。(或者在win系统下面先修改好之后再上传上去)
  3. 创建好自己分子的pdb文件, 可以使用GaussView 6.0软件画分子结构图
  4. 由于此方法不能生成电荷,所以需要自己准备(可使用高斯等量化软件自己优化生成)按照pdb文件里面的原子顺序准备一个电荷文件(取任意名,比如:charge.txt)。电荷文件的内容仿照如下甲烷的格式编写: (切记,顺序一定要和pdb文件里面的原子顺序一致) 具体方法可以参考:https://blog.csdn.net/weixin_42486623/article/details/129055384

    再次核对一下是不是和甲烷的pdb原子对应:
  5. 把pdb文件转成linux格式的,运行下面代码:https://blog.csdn.net/weixin_42486623/article/details/129055384
dos2unix   **.pdb
  1. 执行命令:
perl  mktop_2.2.1.pl  -i  methane.pdb  -c  charge.txt  -o  top.top  -ff  opls  -conect  yes
  1. 若已经有top文件,仅仅是需要生成这个单分子的itp,那么可以修改生成的top.top文件名字为:**.itp,并在已有的top文件里面include即可。但是还需要删除top.top里面的一些内容,需要删除的内容如下图红框所示:

使用LigParGen在线工具生成OPLS力场

地址: http://zarbi.chem.yale.edu/ligpargen/index.html


基于charmm-gui 生成charmm力场

  1. 登入网站:http://mackerell.umaryland.edu/charmm_ff.shtml#gromacs
  2. 下载力场文件,注意要适配grimaces版本
  3. 现在应该有一个 “charmm36-mar2022.ff” 在您的工作目录下的子目录。使用pdb2gmx编写蛋白拓扑:
tar -zxvf charmm36-mar2022.ff.tgz
gmx pdb2gmx -f 3HTB_clean.pdb -o 3HTB_processed.gro

下面是我们下载的力场文件, 选择1

4. 将使用 CGenFF 生成小分子的拓扑,CGenFF 需要一个 xx .mol2 文件作为输入,CHARMM 也是一个全原子力场,这意味着所有的H原子都是明确表示的。晶体结构通常不分配H坐标,所以它们必须内置。通过 Avogadro program 来生成一个.mol2文件并添加H原子。

也可以使用babel加氢和转mol2

babel -ipdb jz4.pdb -omol2 jz4_h.mol2 -h
  1. 首先需要改变的是分子标题。将 ***** 替换为JZ4分子名称 :


6. 最后,注意 @BOND 部分中奇怪的键序。所有的程序似乎都有其独特的方法来生成这个列表,但并不是所有的程序都是一样的。如果化学键不是按升序排列的,那么在构造具有匹配坐标的正确拓扑时会出现问题。要解决这个问题,下载 sort_mol2_bonds.pl 脚本并运行:

perl sort_mol2_bonds.pl jz4.mol2 jz4_fix.mol2

  1. 访问 CGenFF 服务器,登录您的账户,点击页面顶部的“Upload molecule”。上传 jz4_fix.mol2 ,随后 CGenFF 服务器将以CHARMM“流(stream)”文件(扩展名.str)的形式快速返回一个拓扑。将其内容从web浏览器中保存到一个名为“jz4.str”的文件中。

  1. 从 MacKerell 网站下载的 cgenff_charmm2gmx.py 脚本

    执行以下转换:
python cgenff_charmm2gmx_py3_nx2.py JZ4 jz4_fix.mol2 jz4_fix.str charmm36-jul2021.ff

请注意转换结束时下面的屏幕输出表示成功:

============ DONE ============
Conversion complete.
The molecule topology has been written to jz4.itp
Additional parameters needed by the molecule are written to jz4.prm, which needs to be included in the system .top
============ DONE ============

生成分子的top、itp和prm文件
这个配体引入了不属于现有的力场的新的键合参数,这些参数将被写入一个名为“jz4. prm”的文件。该文件的格式为GROMACS .itp文件。我们待会就处理这个文件,务必注意它的存在

  1. 从 cgenff_charmm2gmx.py 获得的 jz4_ini. pdb ,它具有所有必要的H原子,并匹配了JZ4拓扑中的原子名称。使用editconf将这个.pdb文件转换为.gro格式:
gmx editconf -f jz4_ini.pdb -o jz4.gro
  1. 复制 jz4.gro 的坐标部分,并将其粘贴到 complex.gro 中,蛋白质原子的最后一行下面,box vector的上面, 注意添加原子数量, 这里添加了22个原子

  2. 在系统拓扑结构中包含JZ4配体的参数是非常容易的。只需在topol.top中插入一行 #include“jz4.itp” 来说明位置约束文件中已完成涵盖。位置约束声明的出现表明了 “Protein” moleculetype 部分的结束。

; Include Position restraint file
#ifdef POSRES
#include "posre.itp"
#endif

; Include ligand topology
#include "jz4.itp"

; Include water topology
#include "./charmm36-mar2019.ff/tip3p.itp"

  1. 配体引入了新的二面体参数,该参数由 cgenff_charmm2gmx.py 脚本写入“jz4.prm”。在topol.top的顶部,插入 #include 语句来添加以下参数:
; Include forcefield parameters
#include "./charmm36-mar2019.ff/forcefield.itp"

; Include ligand parameters
#include "jz4.prm"

[ moleculetype ]
; Name            nrexcl
Protein_chain_A     3

  1. 最后要做的调整是在[ molecules ]。为了说明 complex.gro 中有一个新分子的事实,我们得把配体的名称加在这里,像这样:
[ molecules ]
; Compound        #mols
Protein_chain_A     1
JZ4                 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

发呆的比目鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值