#!/bin/bash

#PBS -N Sim2_88810
#PBS -q simulationq
#PBS -P external
#PBS -l select=1:ncpus=12:ngpus=1
#PBS -l walltime=96:00:00
#PBS -o process_out.txt
#PBS -e process_out.err
#PBS -joe

cd $PBS_O_WORKDIR

module load ambertools22/amber22
source /ibdc-hpc/apps1/Amber22/amber.sh 


export PMEMD_cuda=/ibdc-hpc/apps1/Amber22/bin/pmemd.cuda_SPFP
export PMEMD=/ibdc-hpc/apps1/Amber22/bin/pmemd
export PMEMD_MPI=/ibdc-hpc/apps1/Amber22/bin/pmemd.MPI

#step4.0
init="step3_input"
istep="step4.0_minimization"

if [ -e "dihe.restraint" ]; then
    sed -e "s/FC/1.0/g" dihe.restraint > "${istep}.rest"
fi
$PMEMD -O -i "${istep}.mdin" -p "${init}.parm7" -c "${init}.rst7" -o "${istep}.mdout" -r "${istep}.rst7" -inf "${istep}.mdinfo" -ref "${init}.rst7"



# Equilibration
pstep="step4.0_minimization"
istep="step4.1_equilibration"

if [ -e "dihe.restraint" ]; then
    sed -e "s/FC/1.0/g" dihe.restraint > "${istep}.rest"
fi
$PMEMD_cuda -O -i "${istep}.mdin" -p "${init}.parm7" -c "${pstep}.rst7" -o "${istep}.mdout" -r "${istep}.rst7" -inf "${istep}.mdinfo" -ref "${init}.rst7" -x "${istep}.nc"


# Production
cnt=1
cntmax=2
input="step5_production"

while [ "${cnt}" -le "${cntmax}" ]; do
    pcnt=$((cnt - 1))
    if [ "${cnt}" -eq 1 ]; then
            pstep="step4.1_equilibration"
            istep="step5_${cnt}"
    else
            pstep="step5_${pcnt}"
            istep="step5_${cnt}"
    fi
    $PMEMD_cuda -O -i "${input}.mdin" -p "${init}.parm7" -c "${pstep}.rst7" -o "${istep}.mdout" -r "${istep}.rst7" -inf "${istep}.mdinfo" -x "${istep}.nc"
    cnt=$((cnt + 1))
done



