==== GROMACs Simulations ====
This is based on taking CHARMM-GUI input files and adjusting these for use on Zaratan.
**1. Create a Minimization and Equilibration File**
The code below provides an example setup for this.
#!/bin/bash
#SBATCH --job-name=eq_bilayer
#SBATCH -A energybio-eng
#SBATCH -t 72:00:00
#SBATCH -N 1
#SBATCH -n 32
module load gromacs/2019.4/gcc/
export OMP_NUM_THREADS="${SLURM_CPUS_PER_TASK:-1}"
set -euo pipefail
# ---- 6.0 Minimization ----
#srun gmx_mpi grompp -f step6.0_minimization.mdp \
# -c step5_input.gro -r step5_input.gro -p topol.top -n index.ndx \
#-o step6.0_minimization.tpr
#srun gmx_mpi mdrun -deffnm step6.0_minimization
# ---- 6.1 Equilibration ----
#srun gmx_mpi grompp -f step6.1_equilibration.mdp \
#-c step6.0_minimization.gro -r step5_input.gro -p topol.top -n index.ndx \
#-o step6.1_equilibration.tpr
#srun gmx_mpi mdrun -deffnm step6.1_equilibration
# ---- 6.2 ----
srun gmx_mpi grompp -f step6.2_equilibration.mdp \
-c step6.1_equilibration.gro -r step5_input.gro -p topol.top -n index.ndx \
-o step6.2_equilibration.tpr
srun gmx_mpi mdrun -deffnm step6.2_equilibration
# ---- 6.3 ----
srun gmx_mpi grompp -f step6.3_equilibration.mdp \
-c step6.2_equilibration.gro -r step5_input.gro -p topol.top -n index.ndx \
-o step6.3_equilibration.tpr
srun gmx_mpi mdrun -deffnm step6.3_equilibration
# ---- 6.4 ----
srun gmx_mpi grompp -f step6.4_equilibration.mdp \
-c step6.3_equilibration.gro -r step5_input.gro -p topol.top -n index.ndx \
-o step6.4_equilibration.tpr
srun gmx_mpi mdrun -deffnm step6.4_equilibration
# ---- 6.5 ----
srun gmx_mpi grompp -f step6.5_equilibration.mdp \
-c step6.4_equilibration.gro -r step5_input.gro -p topol.top -n index.ndx \
-o step6.5_equilibration.tpr
srun gmx_mpi mdrun -deffnm step6.5_equilibration
# ---- 6.6 ----
srun gmx_mpi grompp -f step6.6_equilibration.mdp \
-c step6.5_equilibration.gro -r step5_input.gro -p topol.top -n index.ndx \
-o step6.6_equilibration.tpr
srun gmx_mpi mdrun -deffnm step6.6_equilibration
**2. Run the minimization and equilibration files**
Using the created SBATCH file above, submit this to the queue to run the simulation
If there are errors in running the equilibration files, it is possible to run a single step alone, for example, step6.2_equilibration as shown below. This is only needed if the steps .
#!/bin/bash
#SBATCH --job-name=eq_nic
#SBATCH -A energybio-eng
#SBATCH -t 72:00:00
#SBATCH -n 1
#SBATCH -N 1
module load gromacs/2019.4/gcc/
#equilibration
mpirun gmx_mpi grompp -f step6.2_equilibration.mdp -o step6.2_equilibration.tpr -$
# Run the equilibration
mpirun gmx_mpi mdrun -deffnm step6.2_equilibration
**3. Create an initial production run SBATCH file**
#!/usr/bin/env bash
#SBATCH --job-name=orf7b-alesnic
#SBATCH --qos=normal
#SBATCH --account=energybio-eng
#SBATCH --partition=standard
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=32
#SBATCH --mem=64G
#SBATCH --time=24:00:00
module purge
module load gromacs/2019.4/gcc/
module list
export OMP_NUM_THREADS="${SLURM_CPUS_PER_TASK}"
# Production run
srun gmx_mpi grompp -f step7_production.mdp \
-c step6.6_equilibration.gro -p system.top -n index.ndx \
-o step7_production.tpr
srun gmx_mpi mdrun -deffnm step7_production
**4. Create a second production run file to finish the simulation**
Note: This is assuming the simulation can finish with desired # of steps (-until flag). If not, you will need to create additional restart files to continue until the time has reached.
#!/usr/bin/env bash
#SBATCH --job-name=orf7b-ancont
#SBATCH --qos=normal
#SBATCH --account=energybio-eng
#SBATCH --partition=standard
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=32
#SBATCH --mem=64G
#SBATCH --time=24:00:00
module purge
module load gromacs/2019.4/gcc/
module list
export OMP_NUM_THREADS="${SLURM_CPUS_PER_TASK}"
#extend just makes the total sim time longer. Use --until to stop exactly at 10us
gmx_mpi convert-tpr -s step7_production.tpr -until 10000000 -o step7_production_extended.tpr
srun -n ${SLURM_NTASKS} gmx_mpi mdrun \
-s step7_production_extended.tpr \
-deffnm step7_production_extend \
-cpi step7_production.cpt \
-noappend \
-pin on -dlb auto -ntomp ${SLURM_CPUS_PER_TASK} \
-cpt 10 -resethway -v