9.8 batch4
体系挑选
自batch3开始,为了快速从D3PM中寻找简单体系去跑起来,使用了更高效的挑选方式:
一次性下载大量PDB结构,检查结构里的配体,挑出没磷酸根的体系记录离子,记录二硫键的体系
蛋白检查 & 清洗
PDBfixer
- 75.5 /home/databank/zyzhou/project/d3pm/batch4/protein_preparation
- # 将batch4的体系一起放入 list (4HTZ_A这样的形式即可)
- # Pdbfix 只要给定了--pdbid 参数,可以自己从pdb网站获取输入结构(实操中因为HTTP error无法实现)
- 75.5 /home/databank/zyzhou/project/d3pm/batch4/protein_preparation/wget_pdb
- # wget 从PDB 网站中下载文件
- for i in
`awk -F '_' '{print $1}' ../list|tr '[:upper:]' '[:lower:]'`;do wget "https://files.rcsb.org/download/${i}.pdb";done - # Pdbfix --add-residues 可以将氨基酸序列补齐,但是也会将两端补上,这往往会导致错误
- # 将不补链的结果存储在no_add-residues文件夹
- # 将补链的结果存储在add-residues文件夹
- for i in
`awk -F '_' '{print $1}' ../list|tr '[:upper:]' '[:lower:]'`;do pdbfixer ../wget_pdb/${i}.pdb --ph=7.0 --keep-heterogens=none --add-atoms=all --add-residues --output=${i}-pdbfixer.pdb;done - for i in
`awk -F '_' '{print $1}' ../list|tr '[:upper:]' '[:lower:]'`;do pdbfixer ../wget_pdb/${i}.pdb --ph=7.0 --keep-heterogens=none --add-atoms=all --output=${i}-pdbfixer.pdb;done
统一氨基酸序列
- # 撰写脚本 do.sh,统计两端补链前后的变化,N端的补链均已删除(已晶体结构为准)
- # 该脚本会取出D3PM中记录的链,因此小分子也删去了
- # C端的未作删除,变化情况记录在nohup.out中
- # 检查下来,N端也可以先不删,因为部分体系apo-complex的N端开头不一样
- # 本次是手动将apo-complex中N端少的那一个补齐了
- # 检查N端,C端,apo-complex 需要保证至少氨基酸序列一致
- for i in
`awk -F '_' '{print $1}' ../list|tr '[:upper:]' '[:lower:]'`;do echo "########################## $i ##########################";head -n1 ${i}*;done - for i in
`awk -F '_' '{print $1}' ../list|tr '[:upper:]' '[:lower:]'`;do echo "########################## $i ##########################";tail -n1 ${i}*;done
pdb2pqr加氢
- # 75.5 /home/databank/zyzhou/project/d3pm/batch4/protein_preparation/pdb2pqr
- ############################## do.sh #########################################################
- for i in {1..18}
- do
- a=
`sed -n "${i}p" ../list|awk -F '_' '{print $1}'|tr '[:upper:]' '[:lower:]'` - b=
`sed -n "${i}p" ../list|awk -F '_' '{print $2}'` - echo "########################## ${a} chain ${b} ##########################"
- awk '$12!="H"{print}' ../pdbfixer/${a}_${b}-pdbfixer-clean.pdb >${a}_${b}-noH.pdb
- pdb2pqr30 ${a}_${b}-noH.pdb ${a}_${b}.pqr --ff AMBER --ffout AMBER --with-ph 7.0 --pdb-output ${a}_${b}-pdb2pqr.pdb
- rm ${a}_${b}-noH.pdb ${a}_${b}.pqr
- done
- ###############################################################################################
配体处理
- # 7个体系,直接去pdb页面上下载sdf文件 23 /home/databank_70t/zzy/g16/D3PM/batch4/raw_from_pdb
- 23 /home/databank_70t/zzy/g16/D3PM/batch4/epik
- # 2021 薛定谔ligprep epik 对其进行质子化
- bash do.sh
- 23 /home/databank_70t/zzy/g16/D3PM/batch4/test
- for i in {2..14..2}; do a=
`sed -n "${i}p" ../system-name`;mkdir -p $a;cp ../epik/${a}-lig.sdf ${a}/;done - # 检查是否有报错体系
- python check.py -i /home/databank_70t/zzy/g16/D3PM/batch4/test -t sdf
- # 均通过(无报错)
- 23 /home/databank_70t/zzy/g16/D3PM/batch4/g16_cal
- date | sed "s/^/D3PM system: seven g16 jobs submitted on /" >>nohup.out
- nohup python lig_parameter_cal.py -i /home/databank_70t/zzy/g16/D3PM/batch4/g16_cal -t sdf
- # 任务已提交
特殊体系的处理
9-15 尚未处理
4htz 体系中含有两个离子,待添加至pdb2pqr输出文件中
3t5g 的补链要检查,应当用apo叠合后的坐标对口袋旁的结构进行补齐
4hzt_4d08_pair20
将PDB 中原始的离子坐标信息复制到pdb2pqr的结果中
注意,PDB文件中apo构象给出的信息是两个离子都不带电,而complex都是带电(zn2+)
- 75.5 /home/databank/zyzhou/project/d3pm/batch4/protein_preparation/4hzt_4d08_pair20_ions
3t5g_pair26
将 4jvf的112-120坐标(晶体结构的112-117未解析出来)替换为3t5g 叠合到 4jvf后的112-120 坐标 (3t5g 的 M117与 4JVF的 M118 距离太远了,直到 A120 两个结构才叠合的较好,所以坐标替换截止到120)
mdframe
- 23 /home/databank_70t/zzy/g16/D3PM/batch4/test-zjhan
- nohup python -m mdframe --cpu 20 -t lig_param_run --config zzy.yaml -i /home/databank_70t/zzy/g16/D3PM/batch4/test-zjhan/g16_cal &
- # 对高斯优化模块做了测试,发现 sdf 电荷识别存在问题,等待师兄debug
- # 根据师兄提供的环境配置文件配置环境,即可完成mdframe的配置,脚本可从上下载后解压
- mamba env create -f mdfrmae_env.yaml -n mdframe
- 75.5 /home/databank/zyzhou/project/d3pm/batch4/md_sys_pre/apo
- # 先测试mdframe对apo体系的准备情况,7个apo蛋白放置在 clean_protein_input_file文件夹
- for i in
`cat list`;do a=`echo $i|awk -F '_' '{print $1}'|tr '[:upper:]' '[:lower:]'`;mkdir $i;cp ../../protein_preparation/clean_protein_input_file/${a}* $i/;done
- 75.5 /home/databank/zyzhou/project/d3pm/batch4/md_sys_pre/complex
- # 测试mdframe对complex体系的准备情况,7个apo蛋白放置在 clean_protein_input_file文件夹
- # 由于本次高斯优化是用的老版本准备的,所以命名要改一下,总的来说,输入的sdf文件命名里得包含'mol'
- for i in
`cat list`;do a=`echo $i|awk -F '_' '{print $1}'|tr '[:upper:]' '[:lower:]'`;mkdir $i;cp ../../protein_preparation/clean_protein_input_file/${a}* $i/;cp ../../ligprep/g16_cal/$i/${i}-lig.sdf $i/${i}-mol.sdf;cp -r ../../ligprep/g16_cal/$i/ligprep $i/ligprep_${i}-mol;mv $i/ligprep_${i}-mol/${i}-lig.log $i/ligprep_${i}-mol/${i}-mol.log;cp $i/${i}-mol.sdf $i/ligprep_${i}-mol/;done
生成tpr
- 75.5 /home/databank/zyzhou/project/d3pm/batch4/1us_cmd_tpr
