基于Amber的PBSA计算
数据准备
分子动力学模型运行完毕后,准备文件PDBID_solv.prmtop,mdcrd两个文件。
从拓扑文件中提取能量计算所需的文件
prepare_mmpbsa.sh
# command: tleap -s -f prepare_mmpbsa.sh
source /share/apps/amber/20/amber.sh
ante-MMPBSA.py -p $PDBID_solv.prmtop -c $1_dry.prmtop -r protein.prmtop -l $2.prmtop -s ":WAT,Cl-,Na+" -n ":$2"
-p后面是用于分子动力学模拟的拓扑文件,-c 是从PDBID_solv.prmtop中提取的蛋白质和配体的复合物拓扑结构,$2是配体的名字。
PBSA计算
mmpbsa.in
Input file for running PB and GB
&general
startframe=1, endframe=10000, interval =1000, keep_files=1,
/
&gb
igb=2, saltcon=0.100,
/
&pb
istrng=0.100,
radiopt=0,
inp=1,
/
#&decomp
# idecomp=1
# dec_verbose=1,
#/
PBSA能量计算的脚本,可根据Amber Documentation中查找PBSA/GBSA的计算脚本进行替代。
pbsa.bsub
# command: bsub < pbsa.bsub
#!/bin/bash
#BSUB -q gpu
#BSUB -o AMBER.o-%J
#BSUB -e AMBER.e-%J
#BSUB -J MHETase
#BSUB -n 8
#BSUB -R "span[ptile=8]"
##BSUB -m g001
#Please give the name of the INPUT_FILE, such as test(.com)
INPUT_NAME=omp
#export CUDA_VISIBLE_DEVICES=3
line=$(sed -n '6p' "$0")
#--- LSF ---
echo job runs at the following node:
echo $LSB_HOSTS
NP=$(echo $LSB_HOSTS | awk '{print NF}')
NNODE=$(echo $LSB_HOSTS | sed -e "s/ /\n/g" | uniq - | wc -l)
echo ""
echo Number of processor: $NP
NP2=$((NP%8))
if [ $NP2 -ne 0 ]; then
echo NP only can be 8, 16, 24 or 32
exit
fi
echo 0 > gpu-info-1
for lineNum in {1..3}
do
echo $lineNum >> gpu-info-1
done
/usr/bin/nvidia-smi | awk '/Default/{print $(NF-2)}' | sed 's/\%//' > gpu-info-2
paste gpu-info-1 gpu-info-2 > gpu-info
awk '$2==0{print $1}' gpu-info > free-card
ncard=$((NP/4))
export CUDA_VISIBLE_DEVICES="$(cat free-card | awk 'NR<ncard{printf"%s,",$1};NR==ncard{printf"%s\n",$1}' ncard=$ncard)"
echo $CUDA_VISIBLE_DEVICES
rm -rf gpu-info* free-card
# Environment for AMBER v20
source /share/apps/amber/18/amber.sh
module add amber/20-gpu
export AMBERVER=18
export AMBERHOME=/share/apps/amber/18
export BINDIR=$AMBERHOME/bin
export LIBDIR=$AMBERHOME/lib
export INCDIR=$AMBERHOME/include
export DATDIR=$AMBERHOME/dat
ulimit -s unlimited
$AMBERHOME/bin/MMPBSA.py -O -i mmpbsa.in -o FINAL_RESULTS_MMPBSA.dat -sp PDBID_solv.prmtop -cp $1_dry.prmtop -rp protein.prmtop -lp $2.prmtop -y mdcrd
echo $(date)
-i 是PBSA/GBSA的计算脚本,FINAL_RESULTS_MMPBSA.dat是计算的结果的输出文件。