[MMTK] Normalized distance vectors

Lars Skjærven larsss at gmail.com
Fri Aug 16 10:01:26 UTC 2013

On Fri, Aug 16, 2013 at 8:23 AM, Konrad Hinsen <
research at khinsen.fastmail.net> wrote:

> Lars Skjærven writes:
>  > I have quick question related to building the Hessian matrix using the
> calpha- and
>  > anisotropic network force fields. The question is whether the distance
> vectors (for
>  > pairs of c-alphas) are normalized prior to the calculation of the
> second derivatives.
> Normalized in the sense of scaling to length one? Why should that be done?

Sorry for the vague formulation. I definitively don't want to normalize the
vectors so that k(r=1). I was referring to the positional internal parts of
the second derivatives. To illustrate, take a 3x3 super-element of H (for
atoms i and j) H_ij. Then the elements of the first row of H_ij is
calculated as k(r) * (v_x * v_x , v_x * v_y, v_x*v_z), where the vector v
is the difference vector between atom i and j: (x_j-x_i , y_j-y_i,
z_j-z_i). The questions was whether it is customary to normalize the vector
v (but not for use in k(r)!).

I think we figured out that it should be normalized, and my error was
related to the ANM function:
function k(r):
  if r>15: return 0
  else: return (1 / r^2)

which should be on the form:
function k(r):
  if r>15: return 0
  else: return 1

(when the vector v is normalized!)

If the difference vectors are not normalized the decay of the CalphaFF
should be r^-8 instead of r^-6 ? Like this:
function k(r):
  a = 1e-1; b = 1; c = 1e6;
  if r<4.0: return ((a*8.6*(10^5)*r) - (b*2.39*(10^5)))/(r^2) )
  else: return( c*128 * r^(-8) ) )


>  > It seems to me that to reproduce the ANM-modes, the vectors should
>  > not be normalized, in contrast to the calpha-ff. This seems
> The only difference between CalphaFF and ANM is how the force
> constants are assigned to the pairs. For ANM, it's a step function of
> distance, for CalphaFF, a 1/r^6 decay plus a special treatment for
> neighbors along the peptide chain.
> A few days ago I posted a way to create ENMs by hand in Python
> code. You can play with this to verify that there is no difference
> between CalphaFF and ANM other than the assignment of force constants.

Thanks! I've also made good use of "universe.energyAndForceConstants()" to
validate my Hessian as you noted in an earlier post.

> Konrad.
> --
> ---------------------------------------------------------------------
> Konrad Hinsen
> Centre de Biophysique Moléculaire, CNRS Orléans
> Synchrotron Soleil - Division Expériences
> Saint Aubin - BP 48
> 91192 Gif sur Yvette Cedex, France
> Tel. +33-1 69 35 97 15
> E-Mail: research AT khinsen DOT fastmail DOT net
> http://dirac.cnrs-orleans.fr/~hinsen/
> ORCID: http://orcid.org/0000-0003-0330-9428
> Twitter: @khinsen
> ---------------------------------------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://starship.python.net/pipermail/mmtk/attachments/20130816/fe76f406/attachment.html>

More information about the mmtk mailing list