Re: [AMBER] SPAM: A Simple Approach for Profiling Bound Water Molecules

From: Sergey Samsonov <>
Date: Fri, 24 Jan 2014 11:06:42 +0100

Dear Jason,

thanks a lot for giving this detailed answer and for providing the
source code.

I tried to use SPAM within cpptraj with AT13 for AMBER trajectory. Just
for the purpose of testing I extracted 10 TIP3 water molecules around an
ion (by closest command). Here is the command I'm using then after
creating with volmap:

spam solv WAT cut 12 site_size 2.5 bulk -30 summary summary.out
out datafile.out

The values 12, 2.5 and -30 I took from your paper (in the paper it was
-30.3 kcal/mol for SPCE, so in my case this is just an arbitrary value,
and I should check first what it would be for TIP3) .

In general, it looks to be working properly, though I still have several

- as an output I get two files: (with the information about
frames corresponding to the peaks being occupied) and datafile.out (with
per frame energetic (?) info corresponding to the peaks). However, I
don't get a file summary.out created. Does it mean that I wrongly
specified something in my input or it means that something didn't work
properly? Can I simply use datafile.out to calculate the whole energy
myself (would it be in this case correct doing this by summing up all
the columns and lines and dividing by frames and peaks numbers)?

- what [name <name>] in the help stands for?

- what is changed in the calculations (or simply in the output?) if
'reorder' is included in the command?

Thanks a lot and best regards,


On 01/23/2014 07:04 PM, Jason Swails wrote:
> Hi,
> GSK has graciously agreed to release the SPAM code under the same
> license as cpptraj from AmberTools.
> The SPAM code comes in 2 parts currently -- the Python driver and the
> cpptraj modifications as a patch file. It was originally written for
> AmberTools 12, and since cpptraj is a new and rapidly changing/improving
> code the patch will not apply to any later (or earlier) version of
> cpptraj, so you are currently locked into using AmberTools 12.
> The necessary energy evaluations to compute the SPAM energies are
> actually done with NAMD, since it contains functionality not yet easily
> available in Amber, although this is on the to-do list to change. So
> prerequisites to running SPAM is to have AmberTools12 and NAMD2
> installed on your system (also, only the SPCE water model has been
> parametrized in this current release).
> I've attached a copy of the SPAM source code to this email. To use it,
> make sure that you have a completely up-to-date AmberTools 12 (do not
> upgrade to AmberTools 13) and unpack spam.tgz into
> $AMBERHOME/AmberTools/src. This should create a
> $AMBERHOME/AmberTools/src/spamscript directory that contains a Makefile,
> spamtraj.patch,,, and spam directory. To install it,
> use update_amber to apply the spamtraj.patch file and recompile
> AmberTools:
> ./update_amber --apply AmberTools/src/spamscript/spamtraj.patch
> ./configure [options] gnu
> make install
> Then 'compile' the SPAM script:
> make -C AmberTools/src/spamscript install
> This will put the file in $AMBERHOME/bin. You can run the GUI
> front-end of SPAM by running with no arguments. Alternatively,
> can take command-line arguments (the "--help" or "-h" arguments
> will provide a full descriptive list of all recognized arguments).
> Hopefully this provides enough information for you to get it running.
> depends on Tkinter for the GUI, and scipy/numpy for the
> numerical analysis of the SPAM free energies.
> There is ongoing work aimed at incorporating SPAM entirely within Amber
> (and more than that, implementing it entirely within cpptraj). In fact,
> the cpptraj released with AmberTools 13 actually has an (undocumented)
> spam action that will compute SPAM energies for you (eliminating the
> need for NAMD). The key difference here is that NAMD uses PME to
> compute electrostatic interaction energies (by actually computing PME
> energies and taking their difference), whereas cpptraj simply computes
> the interaction energy of the selected SPAM water with its surroundings
> using a force- and energy-shifted electrostatic term with a hard cutoff.
> The solvent SPAM energies would need to be recomputed with this new
> electrostatic model, but the SPAM action in cpptraj13 will compute this
> for you if you provide a trajectory of pure water (using your desired
> water model). If you type "help spam" in cpptraj13, it will provide
> some documentation that will hopefully help you get started. The spam
> command needs to be used after the "volmap" command in cpptraj, which
> you can use to locate peaks in water density (based on the VMD volmap
> routine). The peak file output from volmap is needed by spam. The
> energies printed by cpptraj can then be post-processed into the SPAM
> free energies using the formulas presented in the paper (and the code
> inside spamscript/spam/ provides an example of how this is done using a
> kernel density estimate in scipy).
> The results published in the paper you cited used NAMD to compute
> interaction energies, although my preliminary tests indicate that the
> electrostatic model used by cpptraj gives very similar results
> quantitatively (and the same qualitative results). Furthermore, because
> cpptraj only computes the interaction energy between one water molecule
> with every other atom instead of running 3 separate PME reciprocal space
> calculations like NAMD does, cpptraj is considerably faster than
> using NAMD.
> I inundated you with a lot of information, but hopefully you have luck
> in getting this method up and running. I hope to have SPAM packaged in
> an easy-to-use script with numerous water models parametrized soon (but
> I've had that hope for some time now). If you have any more questions,
> comments, or bug reports please feel free to reply here.
> Thanks!
> Jason
> On Thu, 2014-01-23 at 14:57 +0100, Sergey Samsonov wrote:
>> Dear AMBERs,
>> in the paper "SPAM: A Simple Approach for Profiling Bound Water
>> Molecules" by Guanglei Cui, Jason Swails and Eric Manas (JCTC, 2013), it
>> is stated that ''To facilitate the application of SPAM analysis, all the
>> steps prior to the water interaction energy calculation were implemented
>> in the /cpptraj/ module of the freely available AmberTools 12 suite. A
>> Python frontend driver,, was also written and can be used to
>> automate the entire SPAM analysis with minimal user intervention."
>> Is it indeed possible to use SPAM with AmberTools 12 at the moment, and,
>> if so, where one can get it and the corresponding documentation?
>> Thanks and cheers,
>> Sergey
> _______________________________________________
> AMBER mailing list

Sergey A. Samsonov
Postdoctoral researcher
Structural Bioinformatics
Biotechnology Center
Tatzberg 47-51
01307 Dresden, Germany
Tel: (+49) 351 463 400 83
Fax:   (+49) 351 463 402 87
AMBER mailing list
Received on Fri Jan 24 2014 - 02:30:02 PST
Custom Search