vsREMD-复合物体系案例

trip13-0415体系准备

1.   lig(0415)pre

1.1  获取三维结构(ligprep/chem3D)

  • # 这个三维结构需要有氢(本地ligprep生成)

1.2  使用antechamber生成配体小分子参数(服务器:cpu256)

  • antechamber -i 0415.pdb -fi pdb -o 0415.gjf -fo gcrt
  • antechamber -i 0415.sdf -fi sdf -o 0415.gjf -fo gcrt

  • #修改0415.gjf文件
  • #HF改成B3LYP; 增加scrf=(solvent=water);  %mem=4GB; %nproc=16  SCF=NoVarAcc

  • nohup g16 0415.gjf &
  • [1] 250920

  • vi 0415.log
  • antechamber -i 0415.log -fi gout -o 0415.prep -fo prepi -c resp
  • # 这一步生成的NEWPDB.PDB 很重要
  • parmchk2 -i 0415.prep -f prepi -o 0415.frcmod -a y

1.3  通过对接调整小分子的位置信息

  • #蛋白质去氢
  • conda activate pdb2pqr预测
  • # 采用14个蛋白构象(13个apo聚类+晶体结构)

  • # 进行盲对接(drawgridbox)/ 根据口袋进行对接
  • # drawgridbox
  • import drawgridbox 
  • drawgridbox repc0, nx=5, ny=5, nz=5,  lw=1, g=0, b=0
  • Box dimensions (71.01, 60.11, 52.25)
  • Center of Mass: [ 81.581,  29.646,  12.226]

  • # 用高斯得到的 NEWPDB.PDB或转成sdf文件 去对接(获取小分子配体位置信息)
  • obabel NEWPDB.PDB -osdf -O 0415_g16.sdf

  • # 每个盲对接结果里选两个小分子位置 2*14
  • for i in {0..13};do smina --seed 1 --num_modes 10 -r ../protein_aligned/c${i}_H.pdb -l NEWPDB.PDB --center_x  81.581 --center_y 29.646 --center_z 12.226 --size_x 75 --size_y 65 --size_z 60 -o blind${i}.pdb;done
  • for i in {0..13};do smina --seed 1 --num_modes 10 -r ../protein_aligned/c${i}_H.pdb -l 0415_g16.sdf --center_x  81.581 --center_y 29.646 --center_z 12.226 --size_x 75 --size_y 65 --size_z 60 -o blind${i}.pdb;done
  • 这里的 c13_H.pdb 就是 6lk0fix_H.pdb 
  • #将dock.pdb的atom name修改成gaussian参数生成的类型,注意通过pymol可视化检查
  • #修改 dock.pdb 
  • for i in {0..27};do cat dock${i}.pdb | cut -b 29-100 > location${i};done
  • grep -v "H" NEWPDB.PDB > num_test
  • # 检查原子序列是否一致,若不一致,手动进行调整
  • cat num_test| cut -b 1-28 > num

  • for i in {0..27};do paste -d "" num location${i} > 6274_${i}.pdb;done

2.  28个副本初始结构准备

  • for i in {0..13};do mkdir p${i};done
  • for i in {0..13};do cp parameters/pre.sh ./p${i}/pre${i}.sh;done
  • for i in {0..13};do cp protein/c${i}.pdb ./p${i};done
  • for i in {0..13};do sed -i "s/repcM/c${i}/g" ./p${i}/pre${i}.sh;done


  • vi tleap16.in
  • vi tleap20.in
  • vi tleap21.in
  • solvatebox com TIP3PBOX 11

  • vi tleap0.in
  • vi tleap1.in
  • vi tleap18.in
  • vi tleap19.in
  • solvatebox com TIP3PBOX 12

  • vi tleap26.in
  • vi tleap27.in
  • solvatebox com TIP3PBOX 8

  • tleap -s -f tleap${i}.in
  • tleap -s -f tleap1.in
  • tleap -s -f tleap2.in

  • sh change.sh
  • vi gromacs.gro 
  • #以p8/17 为基准
  • 原子数54365
  • 溶剂数16324
  • #topol文件;posre1.itp;posre2.itp;index.ndx 全部采用 p8/17

  • gmx_mpi make_ndx -f gromacs.gro -o index.ndx 
  • 1 /| 17|

  • echo 1|gmx_mpi genrestr -f gromacs.gro -o posre1.itp
  • echo 17|gmx_mpi genrestr -f gromacs.gro -o posre2.itp #限制小分子

  • source ../../../lywu.sh
  • nohup sh adjust.sh &

  • #gro
  • for i in {0..27};do mv npt$i.gro pre$i.gro;done

  • # mdtest
  • cp ../vst/md.mdp ./
  • cp ../vst/npt.mdp ./
  • cp ../vst/temp ./
  • for i in {0..27};do cp md.mdp md$i.mdp;done
  • for i in {0..27};do cp npt.mdp npt$i.mdp;done
  • for a in {0..27};do b=`expr ${a} + 1`; c=`sed -n "${b}p" temp`; sed "s/300.00/${c}/g" md.mdp > md${a}.mdp; done
  • for a in {0..27};do b=`expr ${a} + 1`; c=`sed -n "${b}p" temp`; sed "s/300/${c}/g" npt.mdp > npt${a}.mdp; done
  • 检查mdp文件

  • which gmx_mpi
  • source ~/lywu/lywu.sh
  • which gmx_mpi

  • for i in {0..27};do gmx_mpi grompp -f npt${i}.mdp -c ../gro/pre${i}.gro -p ../topol/topol.top -n ../topol/index.ndx -o npt${i}.tpr -maxwarn 1; done

  • nohup sh -c 'for i in {0..27};do mpirun -np 50 gmx_mpi mdrun -v -deffnm npt${i}; done' &
  • npt 18后面的副本均崩溃,处理方法另外记录

  • # 0.1ns test
  • for i in {0..27};do sed -i 's/50000000/50000/g' md$i.mdp md$i.mdp;done

  • mkdir 608_0.1ns_test
  • for i in {0..27};do gmx_mpi grompp -f ../md${i}.mdp -c ../npt${i}.gro -p ../../topol/topol.top -n ../../topol/index.ndx -o md${i}.tpr; done

  • nohup mpirun -np 84 gmx_mpi mdrun -v -deffnm md -multi 28 -replex 1000 &
  • [1] 109663


  • # 2ns test
  • for i in {0..27};do sed -i 's/50000/1000000/g' md$i.mdp md$i.mdp;done

  • mkdir 608_2ns_test
  • for i in {0..27};do gmx_mpi grompp -f ../md${i}.mdp -c ../npt${i}.gro -p ../../topol/topol.top -n ../../topol/index.ndx -o md${i}.tpr; done

  • nohup mpirun -np 84 gmx_mpi mdrun -v -deffnm md -multi 28 -replex 1000 &
  • #查看任务
  • 1.tail -f nohup.out  #这个-f 能让我们看到正在进行的任务
  • 2.jobs
  • 3.vi nohup.out
  • 4.vi md0.log

HPC_Pre

  • #HPC
  • # 500ns
  • for i in {0..27};do sed -i 's/2250000000000/250000000/g' md$i.mdp md$i.mdp;done
  • for i in {0..27};do sed -i 's/1000000/250000000/g' md$i.mdp md$i.mdp;done
  • for i in {0..27};do gmx_mpi grompp -f ../md${i}.mdp -c ../npt${i}.gro -p ../../topol/topol.top -n ../../topol/index.ndx -o md${i}.tpr; done
  • # test
  • for i in {0..27};do sed -i 's/250000000/50000/g' md$i.mdp md$i.mdp;done
  • for i in {0..27};do gmx_mpi grompp -f ../md${i}.mdp -c ../npt${i}.gro -p ../../topol/topol.top -n ../../topol/index.ndx -o md${i}.tpr; done
  • nohup mpirun -np 140 --oversubscribe gmx_mpi mdrun -v -deffnm md -multi 28 -replex 1000 &
  • nohup mpirun -np 84 gmx_mpi mdrun -v -deffnm md -multi 28 -replex 1000 &
  • test  [1] 236409
  • 500ns 
  • 先不测试,cpu交满
  • 以及,一定要 cat md0.log 检查!