Re: [AMBER] How to write the Amber code(s) to calculate pi-pi stacking interactions, polar contacts

From: Jason Swails <>
Date: Fri, 23 Jan 2015 04:30:55 -0500

> On Jan 23, 2015, at 1:36 AM, Jiapu Zhang <> wrote:
> Dear Amber friends,
> Can someone tell me how to write the Amber code(s) to calculate pi-pi stacking interactions, polar contacts between residues?

It’s not exactly clear what you want. If you want to see some code that determines *where* certain native contacts appear, you can have a look at the Action_Contacts.cpp and Action_NativeContacts.cpp in $AMBERHOME/AmberTools/src/cpptraj/src/, which shows how it computes these contacts using a combination of simple distance- and angle-based cutoffs for determining whether the contacts exist or not.

As for pi-pi stacking, I’m not aware of any codes inside Amber that specifically deals with finding those interactions. This is a more complicated calculation, but only slightly so. You need to compute the relative angles between the planes of the aromatic rings. Assuming these rings are planar, you can pick 3 atoms from the ring and compute the cross product of the two vectors formed by those 3 points (with one common point). This will give you the direction of the vector normal to the plane of the ring. Comparing the normals of the two vectors to get the angle between them (a simple dot-product using the law of cosines will get you there) will tell you the relative orientation of the two rings. You can then compute the centers of mass of each ring and use those points to tell how far the rings are from each other and how “staggered” they are.

Then you just have to set some kind of simple function based on those two parameters to specifically define “pi-pi stacking” and evaluate those parameters for each pair of rings to determine where “pi-pi stacking” is occurring (and how strong it is, if the function you designed tells you that).

On the other hand, if you are asking where in the code the *energies* of those interactions are computed, the answer is “nowhere” -- they are not explicit terms in the Amber force field. They are accounted for by the non-bonded interactions (electrostatic and van der Waals).


Jason M. Swails
Rutgers University
Postdoctoral Researcher
AMBER mailing list
Received on Fri Jan 23 2015 - 02:00:02 PST
Custom Search