1.前期蛋白的准备
a. 分别以模板1和模板2及其双模板的晶体结构为模板进行同源模建(使用Modeller-9.25,给100个蛋白构象);
b. 对以上产生的100个构象进行DOPE、GA341、MOLPDF计算,按照得分进行排序(DOPE负值越大越好,GA341越接近1越好,MOLPDF值越小越好);
c. 挑选排名前10的构象,叠合观察三种建模方式的模型差异;
d. 对以上前10的构象进行拉氏图、Verify3D在线验证模型质量;对结果进行排序,选择每组评价最好的构象进行后续的MD;
e. 使用PDBfixer进行蛋白结构修饰(补齐残缺原子、加氢等);
2. 分子动力学模拟步骤
a. 第一步:准备蛋白的拓扑文件
gmx_mpi pdb2gmx -f protein.pdb -o protein_process.gro -ignh -ter -water spc (选择 GROMOS96 54a7力场参数)
b. 第二步:编辑修改力场参数文件(此步第二次可省略)
下载dppc128.pdb 、dppc.itp、lipid.itp文件至工作目录(http://wcm.ucalgary.ca/tieleman/downloads)
将GROMACS的参数文件包复制到工作目录下
cp -r /home/software/gromacs/gromacs-2019.3-src/share/top/gromos54a7.ff/ ./gromos54a7_lipid.ff
修改./gromos54a7_lipid.ff文件夹下的forcefield.doc文件使其包含:
GROMOS96 53A6 force field, extended to include Berger lipid parameters
复制lipid.itp文件中的[atomtypes]、[nonbond_params]、[pairtypes]字段的内容至ffnonbonded.itp文件相应字段下;其中[atomtypes]如下:在[nonbond_params]字段中,包含;; parameters for lipid-GROMOS interactions.的之后的内容不需要复制,同时保留;; lipid-SPC/SPCE interactions
LO 8 15.9994 0.000 A 2.36400e-03 1.59000e-06 ;carbonyl O, OPLS
LOM 8 15.9994 0.000 A 2.36400e-03 1.59000e-06 ;carboxyl O, OPLS
LNL 7 14.0067 0.000 A 3.35300e-03 3.95100e-06 ;Nitrogen, OPLS
LC 6 12.0110 0.000 A 4.88800e-03 1.35900e-05 ;Carbonyl C, OPLS
LH1 6 13.0190 0.000 A 4.03100e-03 1.21400e-05 ;CH1, OPLS
LH2 6 14.0270 0.000 A 7.00200e-03 2.48300e-05 ;CH2, OPLS
LP 15 30.9738 0.000 A 9.16000e-03 2.50700e-05 ;phosphor, OPLS
LOS 8 15.9994 0.000 A 2.56300e-03 1.86800e-06 ;ester oxygen, OPLS
LP2 6 14.0270 0.000 A 5.87400e-03 2.26500e-05 ;RB CH2, Bergers LJ
LP3 6 15.0350 0.000 A 8.77700e-03 3.38500e-05 ;RB CH3, Bergers LJ
LC3 6 15.0350 0.000 A 9.35700e-03 3.60900e-05 ;CH3, OPLS
LC2 6 14.0270 0.000 A 5.94700e-03 1.79000e-05 ;CH2, OPLS
修改ffnonbonded.itp文件中的HW为H;
复制lipid.itp中 [ dihedraltypes ]字段的内容至ffbonded.itp文件相应的字段下;
整理复合物拓扑结构( 蛋白小分子复合物才做这一步 )
1.生成小分子拓扑
gmx_mpi editconf -f ML354.pdb -o ML354.gro
2.复制protein_processed.gro 为complex.gro
cp -r protein_processed.gro ./complex.gro
3.整合小分子和蛋白的.gro文件;
调整topol.top文件中的以下内容:
#include "gromos54a7.ff/forcefield.itp" 改成:
#include "gromos54a7_lipid.ff/forcefield.itp"
添加DPPC参数:
; Include Position restraint file
#ifdef POSRES
#include "posre.itp"
#endif
------------------------------
; Include DPPC chain topology
#include "dppc.itp"
------------------------------
##################################################################################################
------------------------------
; Include ligand topology
#include "ML354.itp"
------------------------------
; Include water topology
#include "gromos53a6_lipid.ff/spc.itp"
第三步:定义晶胞并添加溶剂;(.mdp文件均在 ~/参数文件/ 文件夹下)
1.定向蛋白和膜
gmx_mpi grompp -f md-1.mdp -c dppc128.pdb -p topol_dppc.top -o dppc.tpr -maxwarn 1
2.使用trjconv消除周期性;
gmx_mpi trjconv -s dppc.tpr -f dppc128.pdb -o dppc128_whole.gro -pbc mol -ur compact (选择0输出)
3.设置蛋白在DPPC的中心;
gmx_mpi editconf -f complex.gro -o complex_newbox.gro -c -box 6.41840 6.44350 6.59650
4.将脂包裹在蛋白周围;
cat complex_newbox.gro dppc128_whole.gro > system.gro (删除多余行 蛋白的中心及DPPC的header信息)
5.在topol.top文件中引入strong_posre.itp;
; Include Position restraint file
#ifdef POSRES
#include "posre.itp"
#endif
--------------------------------------------
; Strong position restraints for InflateGRO
#ifdef STRONG_POSRES
#include "strong_posre.itp"
#endif
---------------------------------------------
; Include DPPC chain topology
#include "dppc.itp"
#############################################
; Include ligand topology
#include "YD-3.itp"
; Strong position restraints for InflateGRO
#ifdef STRONG_POSRES
#include "strong_posre-YD-3.itp"
#endif
##############################################
; Include water topology
#include "gromos53a6_lipid.ff/spc.itp"
6.生成位置限制文件(蛋白和小分子分开限制);
gmx_mpi genrestr -f complex_newbox.gro -o strong_posre.itp -fc 100000 100000 100000 (选择protein输出);
gmx_mpi genrestr -f complex_newbox.gro -o strong_posre-YD-3.itp -fc 100000 100000 100000 (选择小分子输出);
7.放大脂质的体积4倍;
perl inflategro.pl system.gro 4 DPPC 14 system_inflated.gro 5 area.dat
8.注意过程中删除了多少脂质,注意更新topol.top文件中[molecules] 相应数值;
gmx_mpi grompp -f minim_inflategro.mdp -c system_inflated.gro -p topol.top -r system_inflated.gro -o system_inflated_em.tpr -maxwarn 1
gmx mdrun -deffnm system_inflated_em -gpu_id 4 -v
9.使用trjconv进行重构坐标;
gmx_mpi trjconv -s system_inflated_em.tpr -f system_inflated_em.gro -o tmp.gro -pbc mol
mv tmp.gro system_inflated_em.gro
10.收缩脂质;
perl inflategro.pl system_inflated_em.gro 0.95 DPPC 0 system_shrink1.gro 5 area_shrink1.dat
11.迭代收缩26次(8、9、10步骤可省略直接运行11);
chmod +x ./run_inflategro.sh
./run_inflategro.sh
12.使用水进行溶剂化;
gmx_mpi solvate -cp system_shrink26_em.gro -cs spc216.gro -o system_solv.gro -p topol.top
13.删除脂质膜当中的水分子;
perl water_deletor.pl -in system_solv.gro -out system_solv_fix.gro -ref O33 -middle C50 -nwater 3
14.更新topol.top文件中的水分子数目;
第四步:添加离子
1.添加离子topol文件
gmx_mpi grompp -f ions.mdp -c system_solv_fix.gro -p topol.top -o ions.tpr -maxwarn 1
2.中和电荷
gmx_mpi genion -s ions.tpr -o system_solv_ions.gro -p topol.top -pname NA -nname CL -neutral
第五步:能量最小化
gmx_mpi grompp -f minim.mdp -c system_solv_ions.gro -p topol.top -o em.tpr -maxwarn 1
调用mdrun:
gmx_mpi mdrun -v -deffnm em -gpu_id 4
第六步:NVT平衡体系
1.创建index文件,包含蛋白、小分子及脂质;
gmx_mpi make_ndx -f em.gro -o index.ndx
> 1 | 13 | 14
>q
2.进行NVT平衡;
gmx_mpi grompp -f nvt.mdp -c em.gro -r em.gro -p topol.top -n index.ndx -o nvt.tpr -maxwarn 1
gmx_mpi mdrun -deffnm nvt -gpu_id 4 -v
3.检验能量、温度
gmx_mpi energy -f npt.edr -o pressure.xvg
第七步:NPT平衡体系
gmx_mpi grompp -f npt.mdp -c nvt.gro -r nvt.gro -t nvt.cpt -p topol.top -n index.ndx -o npt.tpr -maxwarn 1
gmx_mpi mdrun -deffnm npt -gpu_id 4 -v
分析压力和能量:
gmx_mpi energy -f npt.edr -o pressure.xvg
第八步:成品MD
gmx_mpi grompp -f md.mdp -c npt.gro -t npt.cpt -p topol.top -n index.ndx -o md_0_1.tpr -maxwarn 1
gmx_mpi mdrun -deffnm md_0_1 --gpu_id 4 -v -pme gpu -nb gpu -ntomp 20
去除周期性
gmx_mpi trjconv -s md_0_1.tpr -f md_0_1.xtc -o test.xtc -pbc mol -center
提取特定帧:
gmx_mpi trjconv -f md_0_1.trr -s md_0_1.tpr -o 50ps.pdb -dump 50 -pbc mol
计算小分子的RMSD
gmx_mpi make_ndx -f npt.gro -n index.ndx
...
> 13 & ! a H*
> name 26 YD-3_Heavy
> q
gmx_mpi rms -s npt.tpr -f md_0_1.xtc -n index.ndx -tu ns -o rmsd_YD-3.xvg
分析氢键
gmx_mpi hbond -f test.xtc -s md_0_1.tpr -dist -ang -life -nhbdist