Subsections

Features and their derivatives

Distance

Distance is defined by points $i$ and $j$:

$\displaystyle d = \sqrt{\vec{r}_{ij} \cdot \vec{r}_{ij}} = \vert\vec{r}_{ij}\vert = r_{ij}$ (A.38)

where

$\displaystyle \vec{r}_{ij} = \vec{r}_i - \vec{r}_j \; .$ (A.39)

The first derivatives of $d$ with respect to Cartesian coordinates are:

$\displaystyle \frac{\partial d} {\partial \vec{r}_i}$ $\displaystyle =$ $\displaystyle \frac{\vec{r}_{ij}}{\vert\vec{r}_{ij}\vert}$ (A.40)
$\displaystyle \frac{\partial d} {\partial \vec{r}_j}$ $\displaystyle =$ $\displaystyle -\frac{\partial d} {\partial \vec{r}_i}$ (A.41)

Angle

Angle is defined by points $i$, $j$, and $k$, and spanned by vectors $ij$ and $kj$:

$\displaystyle \alpha = \arccos \frac{\vec{r}_{ij} \cdot \vec{r}_{kj}}
{\vert\vec{r}_{ij}\vert \vert\vec{r}_{kj}\vert} \; .$ (A.42)

It lies in the interval from 0 to 180°. Internal MODELLER units are radians.

The first derivatives of α with respect to Cartesian coordinates are:

$\displaystyle \frac{\partial \alpha}{\partial \vec{r}_i}$ $\displaystyle =$ $\displaystyle \frac{\partial \alpha}{\partial \cos \alpha} \;
\frac{\partial \c...
...( \frac{\vec{r}_{ij}}{r_{ij}} \cos \alpha -
\frac{\vec{r}_{kj}}{r_{kj}} \right)$ (A.43)
$\displaystyle \frac{\partial \alpha}{\partial \vec{r}_k}$ $\displaystyle =$ $\displaystyle \frac{\partial \alpha}{\partial \cos \alpha} \;
\frac{\partial \c...
...( \frac{\vec{r}_{kj}}{r_{kj}} \cos \alpha -
\frac{\vec{r}_{ij}}{r_{ij}} \right)$ (A.44)
$\displaystyle \frac{\partial \alpha} {\partial \vec{r}_j}$ $\displaystyle =$ $\displaystyle -\frac{\partial \alpha} {\partial \vec{r}_i}
-\frac{\partial \alpha} {\partial \vec{r}_k}$ (A.45)

These equations for the derivatives have a numerical instability when the angle goes to 0 or to 180°. Presently, the problem is ‘solved’ by testing for the size of the angle; if it is too small, the derivatives are set to 0 in the hope that other restraints will eventually pull the angle towards well behaved regions. Thus, angle restraints of 0 or 180° should not be used in the conjugate gradients or molecular dynamics optimizations.

Dihedral angle

Dihedral angle is defined by points $i$, $j$, $k$, and $l$ ($ijkl$):

$\displaystyle \chi =$   sign$\displaystyle (\chi) \arccos\frac{
(\vec{r}_{ij} \times \vec{r}_{kj}) \cdot
(\v...
...ec{r}_{ij} \times \vec{r}_{kj}\vert
\vert\vec{r}_{kj} \times \vec{r}_{kl}\vert}$ (A.46)

where

sign$\displaystyle (\chi) =$   sign$\displaystyle [\vec{r}_{kj} \cdot
(\vec{r}_{ij} \times \vec{r}_{kj}) \times
(\vec{r}_{kj} \times \vec{r}_{kl})] \; .$ (A.47)

The first derivatives of χ with respect to Cartesian coordinates are:

$\displaystyle \frac{ \; {d}\chi} { \; {d}\vec{r}} =
\frac{ \; {d}\chi}{ \; {d}\cos \chi} \frac{ \; {d}\cos \chi}{ \; {d}\vec{r}}$ (A.48)

where

$\displaystyle \frac{ \; {d}\chi}{ \; {d}\cos \chi} = \left(\frac{ \; {d}\cos \chi}{ \; {d}\chi}\right)^{-1} =
-\frac{1}{\sin \chi}$ (A.49)

and
$\displaystyle \frac{\partial \cos \chi}{\partial \vec{r}_i}$ $\displaystyle =$ $\displaystyle \vec{r}_{kj} \times \vec{a}$ (A.50)
$\displaystyle \frac{\partial \cos \chi}{\partial \vec{r}_j}$ $\displaystyle =$ $\displaystyle \vec{r}_{ik} \times \vec{a} -
\vec{r}_{kl} \times \vec{b}$ (A.51)
$\displaystyle \frac{\partial \cos \chi}{\partial \vec{r}_k}$ $\displaystyle =$ $\displaystyle \vec{r}_{jl} \times \vec{b} -
\vec{r}_{ij} \times \vec{a}$ (A.52)
$\displaystyle \frac{\partial \cos \chi}{\partial \vec{r}_l}$ $\displaystyle =$ $\displaystyle \vec{r}_{ij} \times \vec{b}$ (A.53)
$\displaystyle \vec{a}$ $\displaystyle =$ $\displaystyle \frac{1}{\vert\vec{r}_{ij} \times \vec{r}_{kj}\vert} \;
\left(\fr...
...}_{ij} \times \vec{r}_{kj}}
{\vert\vec{r}_{ij} \times \vec{r}_{kj}\vert}\right)$ (A.54)
$\displaystyle \vec{b}$ $\displaystyle =$ $\displaystyle \frac{1}{\vert\vec{r}_{kj} \times \vec{r}_{kl}\vert} \;
\left(\fr...
...} \times \vec{r}_{kl}}
{\vert\vec{r}_{kj} \times \vec{r}_{kl}\vert}\right) \; .$ (A.55)

These equations for the derivatives have a numerical instability when the angle goes to 0. Thus, the following set of equations is used instead [van Schaik et al., 1993]:


$\displaystyle \vec{r}_{mj}$ $\displaystyle =$ $\displaystyle \vec{r}_{ij} \times \vec{r}_{kj}$ (A.56)
$\displaystyle \vec{r}_{nk}$ $\displaystyle =$ $\displaystyle \vec{r}_{kj} \times \vec{r}_{kl}$ (A.57)
$\displaystyle \frac{\partial \chi}{\partial \vec{r}_i}$ $\displaystyle =$ $\displaystyle \frac{r_{kj}}{r^2_{mj}} \vec{r}_{mj}$ (A.58)
$\displaystyle \frac{\partial \chi}{\partial \vec{r}_l}$ $\displaystyle =$ $\displaystyle -\frac{r_{kj}}{r^2_{nk}} \vec{r}_{nk}$ (A.59)
$\displaystyle \frac{\partial \chi}{\partial \vec{r}_j}$ $\displaystyle =$ $\displaystyle \left(\frac{\vec{r}_{ij} \cdot \vec{r}_{kj}}{r^2_{kj}} - 1 \right...
...{r}_{kl} \cdot \vec{r}_{kj}}{r^2_{kj}}
\frac{\partial \chi}{\partial \vec{r}_l}$ (A.60)
$\displaystyle \frac{\partial \chi}{\partial \vec{r}_k}$ $\displaystyle =$ $\displaystyle \left(\frac{\vec{r}_{kl} \cdot \vec{r}_{kj}}{r^2_{kj}} - 1 \right...
...{r}_{ij} \cdot \vec{r}_{kj}}{r^2_{kj}}
\frac{\partial \chi}{\partial \vec{r}_i}$ (A.61)

The only possible instability in these equations is when the length of the central bond of the dihedral, $r_{kj}$, goes to 0. In such a case, which should not happen, the derivatives are set to 0. The expressions for an improper dihedral angle, as opposed to a dihedral or dihedral angle, are the same, except that indices $ijkl$ are permuted to $ikjl$. In both cases, covalent bonds $ij$, $jk$, and $kl$ are defining the angle.

Atomic solvent accessibility

This is the accessibility value calculated by the PSA algorithm (see model.write_data()). This is usually set by the last call to Restraints.make() or Restraints.make_distance(). First derivatives are not calculated, and are always returned as 0.


Atomic density

Atomic density for a given atom is simply calculated as the number of atoms within a distance energy_data.contact_shell of that atom. First derivatives are not calculated, and are always returned as 0.

Atomic coordinates

The absolute atomic coordinates $x_{i}$, $y_{i}$ and $z_{i}$ are available for every point $i$, primarily for use in anchoring points to planes, lines or points. Their first derivatives with respect to Cartesian coordinates are of course simply 0 or 1.