[AMBER] &wt type='rest' not applied in Amber22 pmemd.cuda

From: Emme Burgin via AMBER <amber.ambermd.org>
Date: Thu, 11 Dec 2025 16:36:38 +0000

Apologies if this is a known bug; I couldn’t find anything about it but possibly searched for the wrong things.

I am trying to apply a modification to the weights of an NMR restraint in a DISANG file using an &wt nameless with type=‘rest’. This works just fine in Amber22 sander and p​memd, but in pmemd.cuda it quietly fails to apply the weight changes. The weight changes are read in and described correctly in the output file, and the simulation proceeds, but the weight changes are not applied. I’ve attached the output files from some test simulations (if that works), but here are some relevant sections. The input file in each case is the same, with an &wt namelist that should turn off the restraints completely:

 Here is the input file:

Long equilibrate
 &cntrl
  imin=0,
  ntx=1,
  ntxo=1,
  irest=0,
  nstlim=2500,
  dt=0.004,
  ntf=2,
  ntc=2,
  tempi=310.15,
  temp0=310.15,
  ntpr=100,
  ntwx=250,
  ntwr=100,
  cut=1000.0,
  ntt=2,
  vrand=1000,
  ig=-1,
  igb=8,
  nmropt=1
 /
 &wt
  type="REST",
  value1=0, value2=0,
  istep1=0, istep2=2500,
 /
 &wt
  type="END",
 /
DISANG=restraint.disang

And restraint.disang looks like this:

&rst
 iat=6055,1007
 r1=50, r2=350, r3=400, r4=600, rk2=100, rk3=100
&end

In all three cases the &wt stuff is read in and described correctly in the output file:

           Begin reading energy term weight changes/NMR restraints
 WEIGHT CHANGES:
 REST 0 2500 0.000000 0.000000 0 0

 RESTRAINTS:
 Requested file redirections:
  DISANG = restraint.disang
 Restraints will be read from file: restraint.disang
Here are comments from the DISANG input file:

                       Number of restraints read = 1

                  Done reading weight changes/NMR restraints

In pmemd and sander, the 0th step looks like this, with the restraint weight close to zero (although not exactly zero, for some reason?):

 NSTEP = 0 TIME(PS) = 0.000 TEMP(K) = 366.15 PRESS = 0.0
 Etot = -3487.3117 EKtot = 5524.3527 EPtot = -9011.6645
 BOND = 1526.3289 ANGLE = 3547.8428 DIHED = 5074.7127
 1-4 NB = 1344.6127 1-4 EEL = 14523.8444 VDWAALS = -2576.7498
 EELEC = -25726.6372 EGB = -6726.6002 RESTRAINT = 0.9814
 EAMBER (non-restraint) = -9012.6458
 ------------------------------------------------------------------------------

 NMR restraints: Bond = 0.981 Angle = 0.000 Torsion = 0.000
===============================================================================

But in pmemd.cuda, the restraint weight is super high right away:

 NSTEP = 0 TIME(PS) = 0.000 TEMP(K) = 373.54 PRESS = 0.0
 Etot = 9810380.9744 EKtot = 5635.8484 EPtot = 9804745.1260
 BOND = 1526.3289 ANGLE = 3547.8428 DIHED = 5074.7135
 1-4 NB = 1344.6125 1-4 EEL = 14523.8437 VDWAALS = -2576.7498
 EELEC = -25726.6407 EGB = -6726.5871 RESTRAINT = 9813757.7623
 EAMBER (non-restraint) = -9012.6363
 ------------------------------------------------------------------------------

 NMR restraints: Bond =********* Angle = 0.000 Torsion = 0.000
===============================================================================

Is there anything that can be done to cause pmemd.cuda to correctly implement the weight modification?

Thanks!


--

T. Emme Burgin [she/her; pronounced: “Em”]

Assistant Professor

Thayer School of Engineering

Dartmouth College



_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber

Received on Thu Dec 11 2025 - 09:00:02 PST
Custom Search