[gmx-users] Re: Fast exchanges for REMD

Andreas Zink zinkandi at googlemail.com
Wed Sep 26 17:22:55 CEST 2012

Dear all,

I could finally demux my REMD trajectories with high EAF. They look 
fine, but I'm not 100% sure about it.

Unfortunately, there seems to be a "bug" in mdrun. As you migh know, the 
log files contain the exchange attempts like:
> Replica exchange at step 2000 time 4
> Repl ex  0    1    2    3 x  4    5
> Repl pr        .00       1.0
However, the time value (4 in this example) is limited to 6 digits. It's 
not really a bug because I think GROMACS recommends EAFs of max. 1/ps. 
But if you exchange every 0.5 ps (EAF= 2/ps) you can run the simulation 
for max. 99999 ps only. Otherwise your log will simply chop the time 
after the decimal point, e.g.

> Replica exchange at step ... time 99999.5
> ...
> Replica exchange at step ... time 100000
> ...
> Replica exchange at step ... time 100000
> ...
> Replica exchange at step ... time 100001
> ...
I have written a Perl script which fixes the time values, based on the given number of steps and stepsize. Additionally the demux.pl script was changed because it also chops after 6 digits. I simply changed:
> printf(NDX "%-20g",$t);
in the "pr_order" and "pr_revorder" subroutines to:
> printf(NDX "%-20.2f",$t);
and it works just fine.

Like I said the trajectories look fine, but I'm not really sure if it's actually correct that way. I would be happy if anyone would like to discuss this :)



Am 24.09.2012 08:49, schrieb Andreas Zink:
> Dear all,
> I've done some REMD simulations using a quite high exchange attempt 
> frequency (10 attempts per ps) as proposed by Sindhikara et al. 
> ("Exchange Often and Properly in Replica Exchange Molecular 
> Dynamics",J. Chem. Theory Comput. 2010, 6, 2804–2808 ).
> Unfortunately, I have now recognized that the demux perl script cannot 
> account for an EAF which is higher than the saving frequency in the 
> trajectory.
> Comments from demux.pl:
> # If your exchange was every N ps and you saved every M ps you can 
> make for
> # the missing frames by setting extra to (N/M - 1). If N/M is not 
> integer,
> # you're out of luck and you will not be able to demux your 
> trajectories at all.
> In my case exchanges every 0.1 ps and saved every 5 ps
> Changing the demux.pl script, so that it writes the 
> "replica_index.xvg" with a higher precision (time in ps) should be no 
> problem. However, my question is: will this work together with trjcat? 
> Does trjcat search for the timeframe given in the first column of 
> "replica_index.xvg", or does it links each line to one saved 
> timeframe? If so, could I just delete the additional lines in 
> "replica_index.xvg"?
> I would be really happy if someone could help me with this!
> Thanks!
> Andi

More information about the gromacs.org_gmx-users mailing list