From f5babc522c334c984c716a75b74aa8743d75bf6e Mon Sep 17 00:00:00 2001 From: root Date: Sat, 5 Oct 2024 19:28:24 +0800 Subject: [PATCH] analyse --- script/S112D/S112D.sh | 103 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 101 insertions(+), 2 deletions(-) diff --git a/script/S112D/S112D.sh b/script/S112D/S112D.sh index 39f8c93..fe7dbb5 100755 --- a/script/S112D/S112D.sh +++ b/script/S112D/S112D.sh @@ -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波动是否较大