分子动力学模拟流程记录(我命令基本上都是写在word,此处整理记录在博客上)
针对蛋白质和配体体系(以STAT3蛋白和小分子为例)
1.获取分子对接后构象及处理
受体蛋白获取后保存为PDB。此处命名为protein.pdb
配体通过Sobtop处理(需要mol2格式)
将配体文件mol.mol2拖动Sobtop软件中进行处理,回车
选择1,生成top文件
选择3,尽可能使用GAFF力场
选择0,下一步
选择4,如果可能,预先构建成键参数,任意猜测缺少的选项
回车,生成的top文件生成在sobtop软件根目录下
回车,生成的itp位置限制文件在sobtop软件根目录下
选择2,生成gro文件
回车,生成的gro文件在sobtop软件根目录下
回车,退出sobtop软件
随后获取
mol.gro
mol.itp
mol.top文件到根目录下
2.获取蛋白质构象,生成.top文件
gmx pdb2gmx -f protein.pdb -o protein.gro -p topol.top -ignh
我所用的力场是amber14sb_parmbsc1.ff
随后生成topol.top等文件
3.合并生成.gro文件
将mol.gro与protein.gro文件合并,得到complex.gro文件。
合并如下代码图所示
Hit11
4783 //小分子+蛋白原子数
843GLN N 1 -7.957 0.320 0.284
843GLN H1 2 -8.012 0.342 0.203
843GLN H2 3 -7.934 0.223 0.283
843GLN H3 4 -8.010 0.341 0.367
843GLN CA 5 -7.831 0.402 0.283
......
1MOL H 55 -5.743 1.167 0.443
1MOL H 56 -5.738 1.353 0.288
1MOL H 57 -5.612 1.335 0.081
1MOL H 58 -5.492 1.130 0.030
11.04910 11.04910 7.03170
4.对小分子生成限制势文件
gmx genrestr -f mol.gro -o posre_mol.itp
随后在mol.itp文件末尾添加
#ifdef POSRES
#include "posre_mol.itp"
#endif
5.把小分子文件引入topol.top
- 引入配体 itp:由于
mol.itp定义了新的[atomtypes],必须将其放在力场引入之后、蛋白质 itp 引入之前。 - 增加配体分子数量:在文件末尾的
[molecules]中添加配体。
; Include forcefield parameters
#include "amber99sb-ildn.ff/forcefield.itp"
; Include chain topologies (注意顺序:配体在蛋白之前)
#include "mol.itp"
#include "topol_Protein_chain_A.itp"
#include "topol_Ion_chain_A2.itp"
; Include water topology
#include "amber99sb-ildn.ff/tip3p.itp"
; ... 中间水模型限制势及离子引入代码略 ...
[ system ]
; Name
Protein-Ligand Complex in water
[ molecules ]
; Compound #mols
Protein_chain_A 1
Ion_chain_A2 1
mol 1 ; 注意此处需要有空格,并确保有换行符
6.设定盒子、溶剂化与添加离子
生成立方体盒子,边缘距离分子至少 1.0 nm
gmx editconf -f complex.gro -o complex_box.gro -d 1.0 -bt cubic
添加水分子
gmx solvate -cp complex_box.gro -o complex_SOL.gro -p topol.top
7.添加离子(中和体系)
生成临时 .tpr 文件用于加离子:
gmx grompp -f em.mdp -c complex_SOL.gro -p topol.top -o em.tpr -maxwarn 1
替换水分子为离子以中和体系:
gmx genion -s em.tpr -p topol.top -o system.gro -neutral
- 提示选择组时,选择
SOL(溶剂组)。
8.能量极小化 (EM)
消除体系内的空间位阻和不合理的接触:
gmx grompp -f em.mdp -c system.gro -p topol.top -o em.tpr -maxwarn 1
gmx mdrun -v -deffnm em
9.分组
为了后续成品动力学控温和去平动/转动,需要将“蛋白-离子-配体”合并为一个组:
gmx make_ndx -f pr.gro
在交互界面中依次输入:
x 1 | x 2 | x 3(假设 1,2,3 分别是蛋白、配体、离子,具体组号请根据屏幕提示确认)name R protein_lig(给新组命名为蛋白_配体,假设新组号为 R)! R(把其他所有环境/溶剂定义为另一个组)name R+1 envir(命名为环境)q(保存并退出,生成index.ndx)
10.NPT/NVT
gmx grompp -f nvt.mdp -c em.gro -r em.gro -p topol.top -n index.ndx -o nvt.tpr -maxwarn 10
gmx mdrun -deffnm nvt -gpu_id 0 -nb gpu -bonded gpu -pme gpu -pmefft gpu -ntomp 10 -pin on -update gpu -v
gmx grompp -f npt.mdp -c nvt.gro -t nvt.cpt -r nvt.gro -p topol.top -n index.ndx -o npt.tpr -maxwarn 10
gmx mdrun -deffnm npt -gpu_id 0 -nb gpu -bonded gpu -pme gpu -pmefft gpu -ntomp 10 -pin on -update gpu -v
11.分子动力学模拟
gmx grompp -f md.mdp -c npt.gro -t npt.cpt -p topol.top -n index.ndx -o md.tpr -maxwarn 10
gmx mdrun -deffnm md -cpi md.cpt -gpu_id 0 -nb gpu -bonded gpu -pme gpu -pmefft gpu -ntomp 10 -pin on -update gpu -v
