This page describes how to run pH replica exchange simulation in which each replica is at the same temperature but different pH, the solvent model is explicit solvent. Check here for implicit solvent model.

working directory:/home/zwei/work/MD/BPTI/amber_pH/REX_pH/EX

1. Structure Preparation

2. PH Input File Preparation

3. System Minimization

4. Heating the System

5. Equilibrating the System

These preparations are the same as in constant pH without replica exchange, check here for details.

6. pH Replica Exchange Simulation Setup

6.1 mdin Input File


REM for CpH
icnstph=1, dt=0.002, ioutfm=1, ntxo=2,
nstlim=1000, ig=-1, ntb=0, numexchg=1000,
ntwr=10000, ntwx=1000, irest=1,
cut=1000.0, ntcnstph=5, ntpr=1000,
ntx=5, solvph=2, saltcon=0.1, ntt=3,
ntc=2, ntf=2, gamma_ln=10.0, igb=2,


*ntxo =Format of the final coordinates, velocities, and box size (if constant volume or pressure run) written to file "restrt".

= 1(default) Formatted (ASCII)

= 2NetCDF file (recommended, unless you have a workflow that requires the formatted form.)
**ntb=This variable controls whether or not periodic boundaries are imposed on the system during the calculation of non-bonded interactions. Bonds spanning periodic boundaries are not yet supported. There is no longer any need to set this variable, since it can be determined from igb and ntp parameters. The “proper” default for ntb is chosen (ntb=0 when igb > 0, ntb=2 when ntp > 0, and ntb=1 otherwise).

This behavior can be overridden by supplying an explicit value, although this is discouraged to prevent errors. The allowed values for NTB are
= 0 no periodicity is applied and PME is off (default when igb > 0)
= 1 constant volume (default when igb and ntp are both 0)
= 2 constant pressure (default when ntp > 0)
ntcnstph=5,period for Monte Carlo steps, the number of steps between protonation state change attempts.

ntx=5, Coordinates and velocities will be read from either a NetCDF or a formatted (ASCII) coordinate file. Box information will be read if ntb>0. The velocity information will only be used if irest= 1 (see below)


for i in $(seq 1 14); do mkdir $i; done

for i in $(seq 1 14); do sed "s/solvph=2/solvph=$i/" ph_remd.mdin >./$i/ph_remd.mdin; done

for i in $(seq 1 14) ; do cp 6pti.equil.rst7 ./$i/; done

for i in $(seq 1 14) ; do cp 6pti.cpin ./$i/; done

for i in $(seq 1 14); do echo "# pH $i" >>groupfile; echo "-O -i $i/ph_remd.mdin -p 6pti.parm7 -c $i/6pti.equil.rst7 -cpin $i/6pti.cpin -o $i/6pti.md1.mdout -cpout $i/6pti.md1.cpout -cprestrt $i/6pti.md1.cpin -r $i/6pti.md1.rst7 -inf $i/6pti.md1.mdinfo -rem 4 -remlog rem.md1.log -x $i/" >>groupfile; done

mpirun -np 28(n*14) pmemd.MPI -ng 14 -groupfile groupfile


mpirun -np 14 pmemd.cuda.MPI -ng 14 -groupfile groupfile