6.30 1-5pair

structure_freeMetal IONSSequence lengthstructure_boundligandligand chargeLigand FormulaMetal IONSRMSD_pocketcomments
5F46_Anone1575F47_ATRE C12 H22 O11none0.81 ligand belongs to Oligosaccharides
5GMC_Bnone1745GM8_BSFG C15 H23 N7 O5none1.70 ligand is an old guy which is not available
5AA4_Bnone4515AA4_A6X4 C20 H37 N6 O8none0.86  
3VVX_BS042-1943VW0_DDEQ C30 H40 N4S042-2.49 S042- is not in binding pocket.
3KR9_Anone2553KU1_ASAM C15 H22 N6 O5 Snone0.96  

apo 体系

蛋白检查 & 清洗

  • # v100 /home/databank/zzy/project/D3PM/0630/clean_system/pdb2pqr/0630
  • # index 文件包含 体系 PDB ID 和 chainID,命令中直接通过grep 选中对应的链,这很方便
  • # 实际操作时,在 grep -v HETATM 前 检查了氨基酸外 原子,确认对体系影响不大后,全部删去

  • for i in {1..10};do a=`sed -n "${i}p" index|awk '{print $1}'`;b=`sed -n "${i}p" index|awk '{print $2}'`;pdb2pqr30 ${a}.pdb ${a}.pqr --ff AMBER --ffout AMBER --with-ph 7.0 --pdb-output ${a}_pdb2pqr.pdb --drop-water;awk -v chain="$b" '$5==chain{print}' ${a}_pdb2pqr.pdb|grep -v HETATM >${a}_${b}-pdb2pqr.pdb;rm ${a}.pqr;rm ${a}_pdb2pqr.pdb;done


  • for i in {1..10};do a=`sed -n "${i}p" system-name|awk '{print $2}'`;b=`sed -n "${i}p" system-name|awk '{print $1}'`;echo "########## $a $b ###########";mkdir -p $b;cp pdb2pqr/0630/${a}-pdb2pqr.pdb $b/;done

MD 自动化处理

  • # v100 /home/databank/zzy/project/D3PM/0630/MD_auto_workdir
  • # 2025-6-30 15:17 先提交 apo 的5个体系
  • # 总控脚本去除了 第一步的高斯优化
  • # 总控脚本注释了 最后一步的预平衡,改为手动提交
  • # 预平衡脚本调用3个GPU
  • source ~/zzy/gmx2024.4-gpu.sh
  • source ~/xcy/env/amber24.sh
  • export OMP_NUM_THREADS=10
  • export CUDA_VISIBLE_DEVICES=0,1,2

  • # v100上 3块GPU,一次只能交3个任务
  • for i in {1..3};do cp -r ../clean_system/system${i} ./;cp -r ../mdp/ system${i};done

  • python total_control-v2.py 1
  • # 成功完成
  • # npt3.gro 检查无误
  • 3kr9_A-pdb2pqr.pdb 体系报错,貌似是最后一个氨基酸上有原子名称无法识别,尝试把这些原子删了,让tleap 自己补齐

整理结果

  • # 85.9 /home/databank/zzy/project/D3PM/0630/MD_auto_finished
  • # 前期编写了结果处理脚本,将 MD_auto_workdir 里的所有输出文件都删除/转移
  • # 同时记录体系录入的时间
  • bash do.sh

  • # 注意存储空间
  • df -h

1us CMD

  • 75.3 /home/data/zyzhou/project/D3PM/0630-5apo-system/1um_cmd/3kr9_A_pair5/md1
  • # 2025-0703 从 v100 将 5个apo 体系转移到 75.3
  • # 考虑到存储空间,每次提交一个模拟任务,完成后进行轨迹转移后再提交新的任务
  • (base) dddc@ubuntu:/home/data/zyzhou/project/D3PM/0630-5apo-system/1um_cmd/3kr9_A_pair5/md1$ ps
  •     PID TTY          TIME CMD
  • 4005288 pts/162  00:00:00 bash
  • 4008120 pts/162  01:31:56 gmx_mpi
  • 4008713 pts/162  00:00:00 ps

complex 体系

配体下载&高斯优化

5F47 里的配体是糖,无法下载 配体坐标,直接pymol 保存出来
下载后检查位置是否正确
质子化预测
  • 23 /home/databank_70t/zzy/g16/D3PM/epik
高斯优化
  • 23 /home/databank_70t/zzy/g16/D3PM/0630
  • python check.py -i /home/databank_70t/zzy/g16/D3PM/0630/ -t sdf

  • date | sed "s/^/D3PM system: five g16 jobs submitted on /" >>nohup.out
  • nohup python lig_parameter_cal.py -i /home/databank_70t/zzy/g16/D3PM/0630/ -t sdf

MD 自动化处理

  • # v100 /home/databank/zzy/project/D3PM/0630/clean_system
  • # 从高斯优化服务器将高斯优化结果复制过来
  • scp -r dddc@172.21.85.23:/home/databank_70t/zzy/g16/D3PM/0630 raw_g16
  • # 将高斯优化数据复制到对应体系的文件夹中
  • (base) [chpeng@localhost clean_system]$ for i in {6..10};do grep system${i} system-name;cp -r raw_g16/system${i}/* system${i}/;done
  • system6 5f47_A pair1
  • system7 5gm8_B pair2
  • system8 5aa4_A pair3
  • system9 3vw0_D pair4
  • system10 3ku1_A pair5
  • # v100 /home/databank/zzy/project/D3PM/0630/MD_auto_workdir
  • # 总控脚本去除了 第一步的高斯优化
  • # 总控脚本注释了 最后一步的预平衡,改为手动提交
  • # 预平衡脚本调用3个GPU
  • source ~/zzy/gmx2024.4-gpu.sh
  • source ~/xcy/env/amber24.sh
  • export OMP_NUM_THREADS=10
  • export CUDA_VISIBLE_DEVICES=0,1,2

  • # v100上 3块GPU,一次只能交3个任务
  • for i in {6..8};do cp -r ../clean_system/system${i} ./;cp -r ../mdp/ system${i};done

  • python total_control-v2.py 1
  • # 成功完成
  • # npt3.gro 检查无误
  • 3kr9_A-pdb2pqr.pdb 体系(system5)报错,貌似是最后一个氨基酸上有原子名称无法识别,尝试把这些原子删了,让tleap 自己补齐
  • 该体系对应的 complex 3ku1_A-pdb2pqr.pdb (system10)也报错了,同样的处理方法
  • 进一步检查发现这个氨基酸是HIS,pdb2pqr没有给出其确定的质子化状态,tleap 不能识别HIS上的HD 氢原子,所以出错,这里,两个体系均将 222位的HIS上两个HD,一个HE删去,交予tleap进行质子化预测(tleap 预测为HIE) 
  • 3ku1_A-pdb2pqr.pdb 197-206位缺失 将 3kr9_A-pdb2pqr.pdb align ,直接复制这部分残基对应原子的行到  3ku1_A-pdb2pqr.pdb 中 

整理结果&生成tpr

  • # 85.9 /home/databank/zzy/project/D3PM/0630/MD_auto_finished
  • # 前期编写了结果处理脚本,将 MD_auto_workdir 里的所有输出文件都删除/转移
  • # 同时记录体系录入的时间
  • bash do.sh

  • # 注意存储空间
  • df -h

  • # 生成tpr
  • # 75.3 /home/data/MD_traj_dataset/D3PM/0630-5apo-system/1um_cmd
  • # 将体系的编号,名称整理在 index 中,运行脚本 do.sh 即可
  • # v100 rsync 到75.3
  • rsync -rzP MD_auto_finished/ dddc@172.21.75.3:/home/data/MD_traj_dataset/D3PM/0630-5apo-system/MD_auto_finished
  • # 注意,apo与complex相比 tc-grps 不同

  • source ~/.gmx2024.sh
  • ####################################  do.sh   #############################################
  • for i in {6..10}
  • do 

  • a=`sed -n "${i}p" index|awk '{print $1}'`
  • b=`sed -n "${i}p" index|awk '{print $2}'`

  • mkdir -p $b/md1 $b/md2 $b/md3

  • gmx_mpi grompp -f md_1us.mdp -c ../MD_auto_finished/result/$a/pre-equ/npt3/npt3.gro -p ../MD_auto_finished/result/${a}/parameters/gmx.top -n ../MD_auto_finished/result/${a}/parameters/index.ndx -o ${b}/${b}.tpr
  • cp ${b}/${b}.tpr ${b}/md1;cp ${b}/${b}.tpr ${b}/md2;cp ${b}/${b}.tpr ${b}/md3

  • done
  • ###############################################################################################

  • bash do.sh
  • # 2025-07-07 完成tpr生成,随时可以提交MD任务

1us CMD

  • 75.3 /home/data/zyzhou/project/D3PM/0630-5apo-system/1um_cmd/
  • # 检查是否完成了1um 任务
  • tail -n140 */*log|grep -A3 Step

  • # 续跑命令示例
  • nohup gmx_mpi mdrun -v -deffnm 5aa4_A_pair3 -cpi 5aa4_A_pair3.cpt &

  • # 确认任务完成后,转移数据至75.2存储
  • LD_LIBRARY_PATH="" rsync -rzP md2 172.21.75.2:/home/databank/MD_traj_dataset/D3PM/1um_cmd/3vvx_B_pair4/
  • 应该是有个小笨蛋 在conda base里装了高版本openssl 后,rsync 与 openssl 版本不匹配导致rsync 用不了。需要在使用的同时  LD_LIBRARY_PATH="" 清除 conda 的库调用,这样rsync会使用系统默认的OpenSSL库 /usr/lib/x86_64-linux-gnu/libssl.so.3