AMBER Archive (2008)

Subject: Re: AMBER: using NAB to calculate normal modes

From: David A. Case (case_at_scripps.edu)
Date: Fri Feb 15 2008 - 16:17:23 CST


On Fri, Feb 15, 2008, Z. Nevin Gerek wrote:

>
> ---------------------------nmode.nab-------------
> molecule m;
> float x[1467], fret;
>
> m = getpdb_prm( "1bfeMin.pdb","leaprc.ff96", "", 0 );
> mm_options( "cut=16.0, ntpr=50, gb=1, gbsa=1" );
> mme_init( m, NULL, "::z", x, NULL);
> setxyz_from_mol(m, NULL, x);
>
> //conjugate gradient minimization
> conjgrad(x, 3*m.natoms, fret, mme, 0.1, 0.001, 2000);

something very weird is happening in this step. Set ntpr=1 to get more
information.

Also, do this, instead of the above:
   ier = conjgrad( .... )
   printf( "congrad returns %d\n", ier );
in order to see the error code from conjgrad.

>
> //Newton-Raphson minimization
> mm_options( "ntpr=1" );
> newton( x, 3*m.natoms, fret, mme, mme2, 0.00000001, 0.0, 6 );
>
> //get the normal modes:
> nmode( x, 3*m.natoms, mme2, 0);
> ---------------------------------------------------
>
> When I run and look at the results, I can not get any meaningful
> results. This is the output file I am getting:
>
> ------------------
> Running: /usr/local/nab-5.1.2/bin/teLeap -s -f leap.in -I/usr/local/
> nab-5.1.2/leap/cmd -I/usr/local/nab-5.1.2/leap/parm -I/usr/local/
> nab-5.1.2/leap/prep -I/usr/local/nab-5.1.2/leap/lib > tleap.out
> Reading parm file (tprmtop)
> title:
>
> mm_options: cut=16.0
> mm_options: ntpr=50
> mm_options: gb=1
> mm_options: gbsa=1
> iter Total bad vdW elect. cons.
> genBorn frms
> ff: 0 -4272.34 627.38 -467.20 -3077.11 26.71 -1382.11
> 3.45e-01

The first step looks ok. Then, for some reason conjgrad exits (before getting
to step 50, so there is no printout).

> mm_options: ntpr=1
> ff: 1 23457379094.91 23457384046.76 -466.28 -3113.75 26.73
> -1398.55 1.90e+05

This is the first step of newton-raphson, and you have a ridiculous bad
(bond-angle-dihedral) energy. The algorithm should be smart enough to quit
upon seeing an rms gradient of 10**5, but that is not the case....So, there is
some debugging to do to see why the initial minimzation is crashing. You
could compare results for sander and for nab. Be sure to look at tleap.out
to see if there were any errors. In problematic cases, it is generally safer
to run tleap "by hand", an to use the getpdb()/readparm() calls, instead of
using getpdb_prm() -- the latter can hide errors that occur.

...good luck...dac

-----------------------------------------------------------------------
The AMBER Mail Reflector
To post, send mail to amber_at_scripps.edu
To unsubscribe, send "unsubscribe amber" to majordomo_at_scripps.edu