This commit is contained in:
root
2024-10-05 19:28:24 +08:00
parent c921cffb25
commit f5babc522c

View File

@@ -79,7 +79,7 @@ TOTAL_ATOMS=$(($PROTEIN_ATOMS + $LIGAND_ATOMS))
# 打印总原子数 7482
echo "Total atoms: $TOTAL_ATOMS"
# 更新原子数目 # ! 手动实现
# 更新原子数目
sed -i "2s/\(^[[:space:]]*\)[0-9]\+/\1$TOTAL_ATOMS/" complex.gro
# 定义盒子、添加溶剂和离子、能量最小化
@@ -365,7 +365,7 @@ cat << EOF > ${MDRUN_NAME}.mdp
title = Protein-ligand complex MD simulation
; Run parameters
integrator = md ; leap-frog integrator
nsteps = ${NSTEPS} ; 2 * 5000000 = 10000 ps (10 ns)
nsteps = 5000000 ; 2 * 5000000 = 10000 ps (10 ns)
dt = 0.002 ; 2 fs
; Output control
nstenergy = 5000 ; save energies every 10.0 ps
@@ -416,6 +416,105 @@ gmx_mpi grompp -f ${MDRUN_NAME}.mdp -c npt.gro -t npt.cpt -p topol.top -o ${TPR_
# Run the simulation
gmx_mpi mdrun -deffnm ${MDRUN_NAME} -update gpu -ntomp 1 -gpu_id ${GPU_ID}
# 中心化并修正 PBC
gmx_mpi trjconv -s ${TPR_FILE} -f ${MDRUN_NAME}.xtc -o ${MDRUN_NAME}_center.xtc -center -pbc mol -ur compact << EOF
1
0
EOF
# 旋转和平移拟合
gmx_mpi trjconv -s ${TPR_FILE} -f ${MDRUN_NAME}_center.xtc -o ${MDRUN_NAME}_fit.xtc -fit rot+trans << EOF
4
0
EOF
# 提取轨迹帧
# -dt 100 表示每隔 100 ps 提取一个帧。即提取的时间间隔是 500 ps。 或者用控制变量EXTRACT_EVERY_PS
# 选择组分 21 Protein_MOL
gmx_mpi trjconv -s ${TPR_FILE} -f ${MDRUN_NAME}_fit.xtc -o whole.pdb -dt 100 -b 1000 -e 20000 -n index.ndx << EOF
21
EOF
# RMSD 分析
# 分析 Protein_MOL 的 RMSD 并绘制图像
gmx_mpi rms -s ${MDRUN_NAME}.tpr -f ${MDRUN_NAME}_center.xtc -tu ns -o rmsd_protein_mol.xvg -n index.ndx << EOF
21 # 选择 "Protein_MOL" 进行拟合
21 # 选择 "Protein_MOL" 进行 RMSD 计算
EOF
./plot_rmsd.sh rmsd_protein_mol.xvg rmsd_protein_mol.svg
# 分析蛋白骨架 (Backbone) 的 RMSD 并绘制图像
gmx_mpi rms -s ${MDRUN_NAME}.tpr -f ${MDRUN_NAME}_center.xtc -tu ns -o rmsd_backbone.xvg -n index.ndx << EOF
4 # 选择 "Backbone" 进行拟合
4 # 选择 "Backbone" 进行 RMSD 计算
EOF
./plot_rmsd.sh rmsd_backbone.xvg rmsd_backbone.svg
# 执行 RMSF 分析
# 对 Protein 进行 RMSF 分析
gmx_mpi rmsf -s ${MDRUN_NAME}.tpr -f ${MDRUN_NAME}_center.xtc -o rmsf_protein.xvg -res -ox avg_structure_protein.pdb -n index.ndx << EOF
1 # 选择 Protein 进行 RMSF 分析
EOF
# 使用 plot_rmsf.sh 绘制 Protein 的 RMSF 图像
./plot_rmsf.sh rmsf_protein.xvg rmsf_protein.svg
# 对 Backbone 进行 RMSF 分析
gmx_mpi rmsf -s ${MDRUN_NAME}.tpr -f ${MDRUN_NAME}_center.xtc -o rmsf_backbone.xvg -res -ox avg_structure_backbone.pdb -n index.ndx << EOF
4 # 选择 Backbone 进行 RMSF 分析
EOF
# 使用 plot_rmsf.sh 绘制 Backbone 的 RMSF 图像
./plot_rmsf.sh rmsf_backbone.xvg rmsf_backbone.svg
# 执行氢键分析
gmx_mpi hbond -s ${MDRUN_NAME}.tpr -n index.ndx -f ${MDRUN_NAME}_center.xtc -num hbond_protein_ligand.xvg << EOF
1 # 选择 Protein
13 # 选择 Ligand (配体)
EOF
# 使用 plot_hbond.sh 绘制氢键数量变化图像
./plot_hbond.sh hbond_protein_ligand.xvg hbond_protein_ligand.svg
# 执行回旋半径分析
# 对 Protein 进行回旋半径分析
gmx_mpi gyrate -s ${MDRUN_NAME}.tpr -n index.ndx -f ${MDRUN_NAME}_center.xtc -o gyration_protein.xvg << EOF
1 # 选择 Protein 进行回旋半径分析
EOF
# 使用 plot_gyration.sh 绘制 Protein 的回旋半径图像
./plot_gyration.sh gyration_protein.xvg gyration_protein.svg
# 对 Protein_MOL 进行回旋半径分析
gmx_mpi gyrate -s ${MDRUN_NAME}.tpr -n index.ndx -f ${MDRUN_NAME}_center.xtc -o gyration_protein_mol.xvg << EOF
21 # 选择 Protein_MOL 进行回旋半径分析
EOF
# 使用 plot_gyration.sh 绘制 Protein_MOL 的回旋半径图像
./plot_gyration.sh gyration_protein_mol.xvg gyration_protein_mol.svg
: << EOF
MMPBSA计算结合能计算
采集40-50ns的模拟数据这里通常采集体系平衡的数据
gmx trjconv -f md_0_10_center.xtc -o trj_40-50ns.xtc -b 40000 -e 50000
检查轨迹路径
gmx check -f trj_40-50ns.xtc
检查index.ndx 配体的索引只能是一个多的必须删除ctrl+F搜索配体名称剩一个配体即可。删除后保存。
下载 gmx_mmpbsa.bash网址https://github.com/Jerkwin/gmxtools/blob/master/gmx_mmpbsa/gmx_mmpbsa.bsh
修改文件:
尚未完成参考:
链接https://www.jianshu.com/p/d1ae60c96b33
EOF
# gmx_mpi rms -f md.xtc -s md.tpr -o rmsd_protein.xvg
# 两次都选骨架部分protein
# 注意观测在模拟过程中骨架的RMSD波动是否较大