Replica-exchanging temperature error in REST2

GROMACS version:2021.6-plumed-2.7.5
GROMACS modification: Yes

Hi, I am using gromacs version 2021.6-plumed-2.7.5 and trying the REST2 for a 39-residue peptide system sourcing a99sb-disp ff.

I used a .sh bash to produce the REST2 with temperature distributed from 293 to 400K, and my .sh bash and files related are attached below.

However, I found the temperature of each replica is all the same. I don’t know what went wrong.

[rest.sh]
#five replicas
nrep=20
#“effective” temperature range
tmin=293
tmax=400

#build geometric progression
list=$(
awk -v n=$nrep
-v tmin=$tmin
-v tmax=$tmax
‘BEGIN{for(i=0;i<n;i++){
t=tminexp(ilog(tmax/tmin)/(n-1));
printf(t); if(i<n-1)printf(“,”);
}
}’
)

#clean directory
rm -fr #*
rm -fr topol*

for((i=0;i<nrep;i++))
do

mkdir ./steprest/MD_${i}
cp ./mdtest.mdp ./steprest/MD_${i}/.
cp ./nvt.gro ./steprest/MD_${i}/.
cp ./nvt.cpt ./steprest/MD_${i}/.

#choose lambda as T[0]/T[i]
#remember that high temperature is equivalent to low lambda
lambda=$(echo $list | awk ‘BEGIN{FS=“,”;}{print 1/’$((i+1))‘;}’)
#process topology
#(if you are curious, try “diff topol0.top topol1.top” to see the changes)
plumed partial_tempering $lambda < processed.top > topol$i.top
cp ./topol${i}.top ./steprest/MD_${i}/.
#prepare tpr file
#-maxwarn is often needed because box could be charged
gmx_mpi grompp -maxwarn 1 -o ./steprest/MD_{i}/topolmdtest.tpr -c ./steprest/MD_{i}/nvt.gro -f ./steprest/MD_{i}/mdtest.mdp -t ./steprest/MD_{i}/nvt.cpt -p ./steprest/MD_{i}/topol{i}.top
done
#mpirun -np $nrep gmx_mpi mdrun -v -plumed plumed.dat -multidir ./steprest/MD_[0123456] -replex 1000 -nsteps 500000 -hrex -dlb no
nohup mpirun -np 20 gmx_mpi mdrun -plumed /data/Liws2021/ptad1/rest2/plumed.dat -deffnm topolmdtest -multidir ./steprest/MD_0 ./steprest/MD_1 ./steprest/MD_2 ./steprest/MD_3 ./steprest/MD_4 ./steprest/MD_5 ./steprest/MD_6 ./steprest/MD_7 ./steprest/MD_8 ./steprest/MD_9 ./steprest/MD_10 ./steprest/MD_11 ./steprest/MD_12 ./steprest/MD_13 ./steprest/MD_14 ./steprest/MD_15 ./steprest/MD_16 ./steprest/MD_17 ./steprest/MD_18 ./steprest/MD_19 -replex 1000 -hrex -dlb no

mdtest.mdp (2.3 KB)
processed.top (249.5 KB)
topolmdtest.log (180.0 KB)

How did you determine that “the temperature of each replica is all the same”? If I recall the method correctly, the temperature is in fact always the same. It’s just the Hamiltonian that gets scaled in a way that can be interpreted as effectively changing the temperature.

Thank you for your reply.
Yeah, I didn’t learn H-REMD well at first. Seeing the exact same in “Replica exchange in temperature” in topolmdtest.log, it knocked me that there must be something wrong with my process.
Later I studied the REST2 tutorial (Enhanced_Sampling_Methods_Tutorials/REST2 at master · NNairIITK/Enhanced_Sampling_Methods_Tutorials · GitHub) again more carefully, and just as you proposed, “in REST2 the temperature of the system remains same for all the replicas instead the potential energies of selected atoms in each replica will be
scaled by some parameter λ” .
More, I checked my topol$i.top files, and topol0.top remained unscaled for i=0, lambda=1 while others were all scaled in success.

Thanks again.