网络药理学:批量分子动力学模拟(Desmond模块)

可以看本人另一篇分子动力学模拟的文章,搞懂如何在超算平台上进行单个的MD操作后再来看这篇。

注意如果你不用超算平台的话,以下操作也全都需要在类linux平台上进行(不推荐windows 上 安装 WSL2 子系统的方式) 。

如果使用超算平台的话,以下操作在超算平台的shell窗口进行。

本篇文章以PDB ID6X7B6LUD,配体的MOL IDMOL000354MOL002662作为示例。

在这为:

  • 6X7B_receptor.pdb
  • 6LUD_receptor.pdb
  • MOL000354_docked.pdb
  • MOL002662_docked.pdb

1.配置环境

安装python相关依赖

pip install parmed tqdm pandas numpy matplotlib

安装Desmond模块

git clone https://github.com/Wang-Lin-boop/CADD-Scripts.git
export PYTHONPATH=$PYTHONPATH:$(pwd)/CADD-Scripts

初始化目录结构:

mkdir -p project/{receptors,ligands,combinations}

手动上传文件到对应目录:

受体 → project/receptors/
配体 → project/ligands/

2.生成交叉组合

# 生成所有受体-配体组合
receptors=("6X7B" "6LUD")
ligands=("MOL000354" "MOL002662")

for rec in "${receptors[@]}"; do
  for lig in "${ligands[@]}"; do
    combo_dir="project/combinations/${rec}_${lig}"
    mkdir -p "${combo_dir}"
    
    # 复制受体和配体到组合目录
    cp "project/receptors/${rec}_receptor.pdb" "${combo_dir}/receptor.pdb"
    cp "project/ligands/${lig}_docked.pdb" "${combo_dir}/ligand.pdb"
  done
done

3.复合物构建脚本

创建 build_complexes.slurm,此时项目结构如下:
在这里插入图片描述

build_complexes.slurm内容:

注意替换BASE_DIR="/run/你的账号"

#!/bin/bash
#SBATCH --job-name=MD_Prep
#SBATCH --partition=gpu_4090      
#SBATCH --gpus=1                 
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=6       
#SBATCH --mem=60G                
#SBATCH --output=%x_%j.out

# 加载必要环境(路径需根据平台实际位置调整)
module purge
module load amber/22_ambertools22_openmpi
source /data/apps_4090/amber/22_ambertools22_openmpi/amber.sh
module load openbabel/3.1.1

# 并行控制参数(必须与ntasks-per-node一致)
MAX_PARALLEL=6
counter=0

# 主处理循环(使用绝对路径)
BASE_DIR="/run/你的账号"  # !!!!替换为您的实际运行目录
for combo_dir in ${BASE_DIR}/project/combinations/*; do
  (
    echo "处理组合: $(basename ${combo_dir})"
    cd "${combo_dir}" || exit
    
    # Step 1: 转换配体格式
    obabel ligand.pdb -O ligand.mol2 --gen3d
    
    # Step 2: 清洁受体
    pdb4amber -i receptor.pdb -o receptor_clean.pdb
    
    # Step 3: 构建复合物
    tleap -f - <<EOL
source leaprc.protein.ff19SB
source leaprc.gaff2
loadamberparams frcmod.ionsjc_tip3p

rec = loadpdb receptor_clean.pdb
lig = loadmol2 ligand.mol2
complex = combine {rec lig}
solvateOct complex TIP3PBOX 12.0
addions2 complex Na+ 0
addions2 complex Cl- 0
saveamberparm complex complex.prmtop complex.inpcrd
savepdb complex complex.pdb
quit
EOL
    
    echo "组合 ${combo_dir} 处理完成"
  ) &
  
  # 并行控制
  ((counter++))
  if (( counter % MAX_PARALLEL == 0 )); then
    wait
  fi
done
wait

echo "所有复合物构建完成!"

4.成功标志

提交作业:

sbatch -p cpusx build_complexes.slurm

显示类似如下内容即成功:

处理组合: 6X7B_MOL000354
1 molecule converted
pdb4amber: cleaned 3 residues
TLEAP: Solvent box added.
所有复合物构建完成!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shanshandeisu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值