Re: [AMBER] MMPBSA.py QM entropy calculation error

From: Jason Swails <jason.swails.gmail.com>
Date: Thu, 5 Nov 2015 17:44:07 -0500

On Thu, Nov 5, 2015 at 2:35 PM, Nic Steussy <csteussy.purdue.edu> wrote:

>
> All,
> I am experimenting with using entropy=1 with MMPBSA.py to calculate the
> entropy term in the binding energy of a ligand to a protein.


​entropy=1 won't work with just 15 frames. You need a LOT of frames for
the quasi-harmonic analysis (I believe you need triple the number of frames
as you have atoms in your system just to get all of your eigenmodes).



> However, every
> time I run the program it uses an enormous amount of memory (15GB on my
> 16GB
> workstation) and then crashes with std::bad_alloc.
>

​Sounds like it's crashing in cpptraj. What is the full output of the
command?



> This appears to be a C memory error. I am uncertain if it is a memory
> leak
> or that perhaps my system is too large to use QM.
>

​I don't see any QM in your input file below.



> I am using Ambertools 15, completely patched.
> My system is a 46kda protein in a hydrated dimer complex binding a small
> molecule (monomer 6307 atoms, dimer + waters ~82760 atoms).
>

​This doesn't seem like it should blow memory. For the unsolvated dimer,
you have 6307*2=12614 atoms, right? The covariance matrix for that will be
(3x)^2 = 1.432e9 doubles. At 8 bytes per number, this is about 10.7 GB of
space needed to store the full matrix. Since it's symmetric, you need ~1/2
of this, plus workspace (I'm not sure whether cpptraj allocates the full
matrix or just the triangular half-matrix).

When you're running in parallel, you have to add the memory requirements of
every thread together. The quasi-harmonic analysis is always run on a
single core, but if it runs at the same time as the PB calculations (which
might require a large grid), it's possible that the program actually
*needs* that much memory to run 4 threads.

So start small -- run in serial without entropy=1 and see what the memory
requirements are. Add entropy=1 back in and see how the memory requirement
changes (just keep in mind for 15 frames you can only get 15 non-zero
eigenvalues).

HTH,
Jason

   Suggestions welcomed.
> Nic out
> ==============
> &general
> keep_files=2, endframe=15, entropy=1,
> /
> &gb
> igb=2, saltcon=0.100,
> /
> &pb
> istrng=0.100, inp=1, radiopt=0,
> /
> =============
> mpirun -np 4 --bind-to-none $AMBERHOME/bin/MMPBSA.py.MPI -O -i qha.in\
> -o qha_15frames.dat\
> -sp ../complex-wat.top \
> -srp ../protein-wat.top \
> -slp ../ligand-wat.top \
> -cp ../complex.top \
> -rp ../protein.top \
> -lp ../ligand.top \
> -y ../complex_prodc.mdcrd.gz \
> -yr ../protein_prodc.mdcrd.gz \
> -yl ../ligand_prodc.mdcrd.gz
> --
> ================================
> C. Nicklaus Steussy, M.D., Ph.D.
> Purdue University
> [1]csteussy.purdue.edu
> ================================
>
> References
>
> 1. mailto:csteussy.purdue.edu
> _______________________________________________
> AMBER mailing list
> AMBER.ambermd.org
> http://lists.ambermd.org/mailman/listinfo/amber
>



-- 
Jason M. Swails
BioMaPS,
Rutgers University
Postdoctoral Researcher
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Thu Nov 05 2015 - 15:00:02 PST
Custom Search