Re: [AMBER] MMPBSA.py: minimization issue with nmode

From: Jason Swails <jason.swails.gmail.com>
Date: Tue, 31 Aug 2010 09:04:33 -0400

Hello,

I actually think I may have found the cause of the "bad periodicity"
statement. In the nab code, $AMBERHOME/AmberTools/src/sff/sff2.c, in line
1386, you should insert "break;" in the line afterwards. To be more
precise:

      case 6:
         ct2 = ct * ct;
         e = ct2 * (ct2 * (ct2 * 32.0 - 48.0) + 18.0) - 1.0;
         df = ct * (ct2 * (ct2 * 192.0 - 192.0) + 36.0);
         ddf = ct2 * (ct2 * 960.0 - 576.0) + 36.0;

      default:
         fprintf(stderr, "bad periodicity: %d\n", iper);
         exit(1);
      }

This is where the error message is being printed. If case 6 has a break
statement after its last algebraic manipulation, this should fix the error.
Without this, I think it's automatically moving down to the "default" case
and throwing that error message. 6 should be a valid periodicity.

I will correct this, run the tests, and create a bug fix when I get a
chance, but if any developer wants to change this and get a fix out faster
than I can, by all means.

Thanks!
Jason

On Tue, Aug 31, 2010 at 8:55 AM, Jason Swails <jason.swails.gmail.com>wrote:

> Hello,
>
> The "bad periodicity" actually corresponds to an evaluation of a dihedral
> term, in which the periodicity is only allowed to be integral values 1, 2,
> 3, 4, or 6. If it's not one of these values, the error message gets
> thrown. I'll have to look into why this is actually getting thrown
> (possibly a round-off error... I'm not sure, a nab developer would be able
> to tell more easily I'm guessing).
>
> Another thing that may be going wrong with your calculation is that you're
> running out of available memory. NMODE calculations can be very memory
> intensive, and if you're running 3 threads on the same machine without
> around 8 GB of memory, it's quite possible that mmpbsa_py_nabnmode is simply
> running out of RAM for the calculations. My suggestion is to start a single
> nmode calculation with the nab program (you can use MMPBSA.py serial version
> for this) and take a look at the memory usage. Can your computer handle 3x
> that amount of memory usage?
>
> Good luck!
> Jason
>
>
> On Tue, Aug 31, 2010 at 8:31 AM, Bill Miller III <brmilleriii.gmail.com>wrote:
>
>> The snapshots were correctly minimized. Unfortunately, that warning
>> message
>> can be misleading. The entropy calculation in MMPBSA.py is done with a nab
>> program mmpbsa_py_nabnmode. The issue you are having (with "bad
>> periodicity") is an error message invoked by nab, not MMPBSA.py. Possibly
>> a
>> nab developer could help with this error message?
>>
>> -Bill
>>
>>
>> On Tue, Aug 31, 2010 at 8:14 AM, Nicolas SAPAY <
>> nicolas.sapay.cermav.cnrs.fr
>> > wrote:
>>
>> > Hello,
>> >
>> > I'm trying to estimate the binding free energy of a ligand on a protein
>> > using the MM/PBSA method and I have difficulties with the calculation of
>> > the entropy component with MMPBSA.py. I'm using the following input
>> file:
>> >
>> > &general
>> > verbose=1,
>> > startframe=1, endframe=4000, interval=10,
>> > /
>> > &nmode
>> > nmstartframe=1, nmendframe=400, nminterval=100,
>> > drms=0.0001, maxcyc=100000
>> > /
>> >
>> > So, I'm calculating the entropy from only 4 snapshots, but it's only to
>> > test my scritps. I run the following command lines:
>> >
>> > export AMBERHOME=/home/software/amber10
>> > export PYTHONHOME=/home/software/python-2.7
>> > export PYTHONPATH=/home/software/python-2.7/lib/python-2.7
>> >
>> > amberdir=/home/software/amber11/exe
>> > r_free=protein_free
>> > l_free=ligand_free
>> > md=docking
>> >
>> > echo "$md"
>> > echo "------------------------------------"
>> > echo "Start MM/PBSA calculation: `date`"
>> >
>> > mpirun -np 4 $amberdir/MMPBSA.py.MPI\
>> > -O -i mmpbsa.in -o $md.dat\
>> > -sp "$md"_solvated.prmtop -cp $md.prmtop\
>> > -rp $r_free.prmtop -srp "$r_free"_solvated.prmtop\
>> > -lp $l_free.prmtop -slp "$l_free"_solvated.prmtop\
>> > -y "$md"_solvated.mdcrd -yr "$r_free"_solvated.mdcrd -yl
>> > "$l_free"_solvated.mdcrd
>> >
>> > echo "End MM/PBSA calculation: `date`"
>> > echo "------------------------------------"
>> > echo ""
>> >
>> > First, you can see that I'm using MMPBSA.py.MPI from Amber11 and sander
>> > from Amber10. This is because I only have a license for Amber10. Second,
>> > I'm not using the default Python distribution (2.4.3) because it was not
>> > compatible with MMPBSA.py (MPI4PY actually). I had to install Python
>> 2.7,
>> > then MPI4PY and finally MMPBSA.py. Third, you can notice that I'm using
>> 3
>> > trajectories to estimatethe free energy: 1 for the solvated complex, 1
>> for
>> > the solvated protein and 1 for the solvated ligand.
>> >
>> > With this configuration, the entropy calculation fails with the
>> following
>> > errors:
>> >
>> > Starting nmode calculations...
>> > master thread is calculating 1 frames
>> >
>> > calculating complex for frame number 0
>> > bad periodicity: 6
>> > bad periodicity: 6
>> > bad periodicity: 6
>> > calculating receptor for frame number 0
>> > bad periodicity: 6
>> > bad periodicity: 6
>> > bad periodicity: 6
>> > calculating ligand for frame number 0
>> > bad periodicity: 6
>> > bad periodicity: 6
>> >
>> > Calculations complete. Writing output file(s)...
>> > Warning: No snapshots for nmode minimized within tolerable limits!
>> Entropy
>> > not calculated.
>> >
>> > For the "bad periodicity" error, I didn't find any explanation about it
>> in
>> > the manual or the mailing list. For the minimization problem, it seems
>> > that the 4 snapshots are actually minimized correctly, as stated in the
>> 3
>> > _MMPBSA_xxx_nm.out files. For each snapshot, I can see "----Convergence
>> > Satisfied----" at the end of the calculation with the energy correctly
>> > minized. So, nmode should be happy with that and perform the normal
>> modes
>> > calculation. Does someone understand what happens exactly?
>> >
>> > Regards,
>> > Nicolas
>> >
>> > --
>> > [ Nicolas Sapay - Post-Doctoral Fellow ]
>> > CERMAV - www.cermav.cnrs.fr
>> > BP53, 38041 Grenoble cedex 9, France
>> > Phone: +33 (0)4 76 03 76 44/53
>> >
>> >
>> > _______________________________________________
>> > AMBER mailing list
>> > AMBER.ambermd.org
>> > http://lists.ambermd.org/mailman/listinfo/amber
>> >
>>
>>
>>
>> --
>> Bill Miller III
>> Quantum Theory Project,
>> University of Florida
>> Ph.D. Graduate Student
>> 352-392-6715
>> _______________________________________________
>> AMBER mailing list
>> AMBER.ambermd.org
>> http://lists.ambermd.org/mailman/listinfo/amber
>>
>
>
>
> --
> Jason M. Swails
>
> Quantum Theory Project,
> University of Florida
> Ph.D. Graduate Student
> 352-392-4032
>



-- 
Jason M. Swails
Quantum Theory Project,
University of Florida
Ph.D. Graduate Student
352-392-4032
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Tue Aug 31 2010 - 06:30:02 PDT
Custom Search