Remd.mdp file not being read properly

GROMACS version:2023
GROMACS modification: No

I’m doing something dumb.

My remd.mdp file contains these entries:
; Electrostatics
coulombtype = PME ; Particle Mesh Ewald for long-range electrostatics
pme_order = 4 ; cubic interpolation
fourierspacing = 0.16 ; grid spacing for FFT

continuation = yes ; Restarting after equilibration

constraint_algorithm = lincs ; holonomic constraints
constraints = h-bonds ; bonds involving H are constrained
lincs_iter = 1 ; accuracy of LINCS
lincs_order = 4 ; also related to accuracy

When I run this script from the directory containing my remd.mdp file:

#!/bin/bash
mdpFile=./remd.mdp
while read replica temp
do
sed -e ’s/TEMP/’$temp’/g’ $mdpFile > rep_$replica.mdp
gmx grompp -f rep_$replica.mdp -c IV.gro -p IV.top -o IV_$replica.tpr
done

It returns the expected 16 tpr files, but with 4 notes:

  1. for a correct single point energy eval with nsteps = 0 use continuation = yes
  2. atoms 24 OG1 and 25HG1 have a period < 10x step time, maybe you forgot to change the constraints mdp option?
  3. simulation will use initial temp of 299.33 K for determining Verlet buffer size (none of the 16 temps are 299.33 and this note and same temperature is output for all replicas.
  4. You are using a plain Coulomb cut-off… consider PME…

I suspect I’ve made a stupid mistake in the script, because the instructions in the remd.mdp file don’t seem to be coming through. The mdout.mdp has, e.g.:

; OPTIONS FOR ELECTROSTATICS AND VDW
; Method for doing electrostatics
coulombtype = Cut-off
coulomb-modifier = Potential-shift-Verlet
rcoulomb-switch = 0
rcoulomb = 1

Is my script wrong? That’s my best guess, although I don’t know how grompp is generating the wrong mdp values out of thin air. This is a test to check the acceptance ratio between the replicas. The whole mdp file follows.

Thank you for any and all help.

Best,
Ken

;title = OPLS REMDtest ns run TIV
; Run parameters
integrator = md ; leap-frog integrator
nsteps = 500000 ; 2 * 500000 = 1000 ps (1 ns)
dt = 0.002 ; 2 fs
; Output control
nstxout = 0 ; suppress bulky .trr file by specifying
nstvout = 0 ; 0 for output frequency of nstxout,
nstfout = 0 ; nstvout, and nstfout
nstenergy = 5000 ; save energies every 10.0 ps
nstlog = 5000 ; update log file every 10.0 ps
nstxout-compressed = 5000 ; save compressed coordinates every 10.0 ps
compressed-x-grps = System ; save the whole system
; Bond parameters
continuation = yes ; Restarting after NPT
constraint_algorithm = lincs ; holonomic constraints
constraints = h-bonds ; bonds involving H are constrained
lincs_iter = 1 ; accuracy of LINCS
lincs_order = 4 ; also related to accuracy
; Neighborsearching
cutoff-scheme = Verlet ; Buffered neighbor searching
ns_type = grid ; search neighboring grid cells
nstlist = 10 ; 20 fs, largely irrelevant with Verlet scheme
rcoulomb = 1.0 ; short-range electrostatic cutoff (in nm)
rvdw = 1.0 ; short-range van der Waals cutoff (in nm)
; Electrostatics
coulombtype = PME ; Particle Mesh Ewald for long-range electrostatics
pme_order = 4 ; cubic interpolation
fourierspacing = 0.16 ; grid spacing for FFT
; Temperature coupling is on
tcoupl = V-rescale ; modified Berendsen thermostat
tc-grps = Protein Non-Protein ; two coupling groups - more accurate
tau_t = 0.1 0.1 ; time constant, in ps
ref_t = TEMP TEMP ; reference temperature, one for each group, in K
; Pressure coupling is on
pcoupl = Parrinello-Rahman ; Pressure coupling on in NPT
pcoupltype = isotropic ; uniform scaling of box vectors
tau_p = 2.0 ; time constant, in ps
ref_p = 1.0 ; reference pressure, in bar
compressibility = 4.5e-5 ; isothermal compressibility of water, bar^-1
; Periodic boundary conditions
pbc = xyz ; 3-D PBC
; Dispersion correction
DispCorr = EnerPres ; account for cut-off vdW scheme
; Velocity generation
gen_vel = no ; Velocity generation is off