Re: [AMBER] Lambda Exchange

From: Jason Swails <>
Date: Wed, 08 Oct 2014 08:18:38 -0400

On Tue, 2014-10-07 at 21:19 -0500, Jeff Wereszczynski wrote:
> Hi AMBER Community,
> I'd like to use PMEMD to perform Hamiltonian replica exchange alchemical
> calculations to compute the absolute binding free energy of a small
> molecule to a protein. I'm a little confused on the implementation
> though. It looks like I need to create a separate prmtop file for each
> lambda value and that I can't use the icfe option, is this correct? If so,
> I have a few other questions:
> 1. It looks like the easiest way to modify the charges is with ParmEd. Is
> there a way to select a range of atoms and scale the charges on all of them
> by a factor? While I could set each of them explicitly, it would be much
> easier to scale them all in one command.

There's a scale command, but that works on every element of a section.
There's also an "interpolate" command which will take 2 prmtops and
interpolate the charges between them (printing out multiple prmtop

To get exactly what you want, you would need to inject some of your own
python code to do that. Something like:

# Remember, atom indexes start from 0 in Python...
for i in range(first_atom, last_atom+1):
    amber_prmtop.parm.parm_data['CHARGE'] *= scale_factor

ParmEd will execute those lines as Python and scale your charges.

> 2. Is it possible to use a softcore potential for the vdw term?

Yes, with softcore TI.

> 3. If I want to compute the work functions for going between windows for
> an mbar analysis, do I need to post-proccess the results? Is there a way
> to do it on the fly? It looks like the ifmbar parameter requires icfe
> (which is incompatible with replica exchange).

Actually, it's incompatible with replica exchange only in sander
(because both features use multisander, which means they can't be used

On the other hand, pmemd does the entire TI within one "group" (or
replica), meaning that the multipmemd functionality is _not_ required by
TI and so can be used for REMD instead. I've never tried this myself,
but I coded the H-REMD functionality in pmemd and see no reason why it
shouldn't work.


Jason M. Swails
Rutgers University
Postdoctoral Researcher
AMBER mailing list
Received on Wed Oct 08 2014 - 05:30:03 PDT
Custom Search