Skip to main content
Log in

CONDORR—CONstrained Dynamics of Rigid Residues: a molecular dynamics program for constrained molecules

  • Original Paper
  • Published:
Journal of Molecular Modeling Aims and scope Submit manuscript

Abstract

A computer program CONDORR (CONstrained Dynamics of Rigid Residues) was developed for molecular dynamics simulations of large and/or constrained molecular systems, particularly carbohydrates. CONDORR efficiently calculates molecular trajectories on the basis of 2D or 3D potential energy maps, and can generate such maps based on a simple force field. The simulations involve three translational and three rotational degrees of freedom for each rigid, asymmetrical residue in the model. Total energy and angular momentum are conserved when no stochastic or external forces are applied to the model, if the time step is kept sufficiently short. Application of Langevin dynamics allows longer time steps, providing efficient exploration of conformational space. The utility of CONDORR was demonstrated by application to a constrained polysaccharide model and to the calculation of residual dipolar couplings for a disaccharide.

Figure Molecular models (bottom) are created by cloning rigid residue archetypes (top) and joining them together. As defined here, the archetypes AX, HM and BG respectively correspond to an α-d-Xylp residue, a hydroxymethyl group, and a β-d-Glcp residue lacking O6, H6a and H6b. Each archetype contains atoms (indicated by boxes) that can be shared with other archetypes to form a linked structure. For example, the glycosidic link between the two d-Glcp residues is established by specifying that O1 of the nonreducing β-d-Glcp (BG) residue (2) is identical to O4 of the reducing Glcp (BG) residue (1). The coordinates of the two residues are adjusted so as to superimpose these two (nominally distinct) atoms. Flexible hydroxymethyl (HM) groups (3 and 4) are treated as separate residues, and the torsional angles (normally indicated by the symbol ω) that define their geometric relationships to the pyranosyl rings of the BG residues are specified as ψ3 and ψ4, respectively. The torsional angles ϕ3 and ϕ4, defined solely to maintain the orientation of the geminal H-atoms of the hydroxymethyl group, are not shown. (See text.) The illustrated trisaccharide is thus specified as a collection of 5 residues which are represented by 3 archetypes. Models of the disaccharide cellobiose (β-d-Glcp-(1→4)-d-Glcp) must include residues 1 and 2, but the hydroxymethyl groups (residues 3 and 4) can also be explicitly included in this model

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2a, b
Fig. 3 a
Fig. 4a–e
Fig. 5
Fig. 6

Similar content being viewed by others

Abbreviations

Molecular dynamics:

MD

Hard-sphere, exo-anomeric calculations:

SEA

Metropolis Monte Carlo:

MC

Xyloglucan endotransglucosylase:

XET

Protein Data Bank:

PDB

Principle axis system:

PAS

β-Glucose archetype:

BG

Hydroxymethyl archetype:

HM

Advanced Micro Devices:

AMD

Central processing unit:

CPU

Residual dipolar coupling:

RDC

Complex Carbohydrate Research Center:

CCRC

References

  1. Bock K (1983) Pure Appl Chem 55:605–622

    CAS  Google Scholar 

  2. Metropolis N, Rosenbluth AW, Rosenbluth MN, Teller AH, Teller E (1953) J Chem Phys 21:1087–1092

    CAS  Google Scholar 

  3. O’Neill MA, York WS (2003) The composition and structure of primary cell walls. In: Rose JKC (ed) The plant cell wall, Annual Plant Reviews, vol. 8. CRC Press, Boca Raton, FL, pp 1-54

  4. Rose JKC, Braam J, Fry SC, Nishitani K (2002) Plant Cell Physiol 43:1421–1435

    Article  CAS  PubMed  Google Scholar 

  5. Chu SSC, Jeffrey GA (1968) Acta Crystallogr B24:830–838

    Google Scholar 

  6. Frisch MJ, Trucks GW, Schlegel HB, Scuseria GE, Robb MA, Cheeseman JR, Zakrzewski VG, Montgomery JA, Stratman RE, Burant JC, Dapprich S, Millam JM, Daniels AD, Kudin KN, Strain MC, Farkas O, Tomasi J, Barone V, Cossi M, Cammi R, Mennucci B, Pomelli C, Adamo C, Clifford S, Ochterski J, Petersson GA, Ayala PY, Cui Q, Morokuma K, Malick DK, Rabuck AD, Raghavachari K, Foresman JB, Cioslowski J, Ortiz JV, Baboul AG, Stefanov BB, Liu C, Liashenko A, Piskorz P, Komaromi, I, Gomperts R, Martin RL, Fox DJ, Keith T, Al-Laham MA, Peng CY, Nanayakkara A, Gonzalez C, Challacombe M, Gill PMW, Johnson BG, Chen W, Wong MW, Andres JL, Gonzales C, Head-Gordon M, Replogle ES, Pople JA (1998) Gaussian 98 (Revision A.9). Gaussian, Pittsburgh, PA

  7. Tvaroska I, Perez S (1986) Carbohydr Res 149:389–410

    Article  CAS  Google Scholar 

  8. Beard DA (2001) A molecular modeler’s guide to statistical mechanics. In: Beard DA (ed) Computational and theoretical biophysics. Biophysics Textbook Online (http://www.biophys.org/btol/), The Biophysical Society

  9. Kirshner KN, Woods RJ (2001) Proc Natl Acad Sci USA 98:10541–10545

    Article  PubMed  Google Scholar 

  10. Nimz O, Geßler K, Uson I, Laettig S, Welfle H, Sheldrick GM, Saenger W (2003) Carbohydr Res 338:977–986

    Article  CAS  PubMed  Google Scholar 

  11. Hardy BJ, Sarko A (1993) J Comput Chem 14:831–847

    CAS  Google Scholar 

  12. McCann MC, Wells B, Roberts K (1990) J Cell Sci 96:323–334

    Google Scholar 

  13. Prestegard JH, Al-Hashimi HM, Tolman JR (2000) Q Rev Biophys 33:371–424

    Article  CAS  PubMed  Google Scholar 

  14. Zweckstetter M, Bax A (2000) J Am Chem Soc 122:3791–3792

    Article  CAS  Google Scholar 

Download references

Acknowledgments

The authors would like to thank Dr. Robert J. Woods and Dennis Elking of the CCRC for stimulating conversations and suggestions. This research is supported by funds from the National Science Foundation grant MCB-9974673. The DOE Center for Plant and Microbial Complex Carbohydrates is supported by U.S. Department of Energy Center for DE-FG02-93ER20097.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to William S. York.

Appendix A: conservation of energy in CONDORR

Appendix A: conservation of energy in CONDORR

Two point masses

Two “structureless” particles with masses m1 and m2 are located at coordinates r1 and r2. Define a particle separation vector s≡r1−r2 and a separation velocity \( {\mathbf{\ifmmode\expandafter\dot\else\expandafter\.\fi{s}}} \equiv {\mathbf{\ifmmode\expandafter\dot\else\expandafter\.\fi{r}}}_{1} - {\mathbf{\ifmmode\expandafter\dot\else\expandafter\.\fi{r}}}_{2} \). The interaction force F1 on particle 1 is equal and opposite to the force F2 on particle 2, so the subscripts for the force vectors can be dropped if a force F≡F1=−F2 is defined. For a pair of structureless particles, the potential energy due to their interaction depends solely on the interaction distance, so F is parallel to s. To demonstrate conservation of energy, it is necessary and sufficient to show that dH/dT=0, where H=T+U is the classical Hamiltonian (T is the kinetic energy and U is the potential energy).

The kinetic energy of the system is

$$ T = {\sum\limits_{i = 1,2} {T_{i} } } = {\sum\limits_{i = 1,2} {\frac{{m_{i} {\mathbf{\dot{r}}}^{2}_{i} }} {2}} } $$

According to Newton’s second law, F=ma, where F is the force and a is the acceleration. The acceleration of each particle is

$$ {\mathbf{a}}_{i} = {\mathbf{\ifmmode\expandafter\ddot\else\expandafter\"\fi{r}}}_{i} = \frac{{\mathbf{F}}} {{m_{i} }} $$

The time-derivative of the kinetic energy is

$$ \begin{array}{*{20}l} {{\frac{{\operatorname{d} T}} {{\operatorname{d} t}}} \hfill} & { = \hfill} & {{{\sum\limits_{i = 1,2} {\frac{\operatorname{d} } {{\operatorname{d} t}}\frac{{m_{i} {\mathbf{\ifmmode\expandafter\dot\else\expandafter\.\fi{r}}}^{2}_{i} }} {2}} } = {\sum\limits_{i = 1,2} {\frac{{m_{i} }} {2}\frac{{\operatorname{d} {\mathbf{\ifmmode\expandafter\dot\else\expandafter\.\fi{r}}}^{2}_{i} }} {{\operatorname{d} {\mathbf{\ifmmode\expandafter\dot\else\expandafter\.\fi{r}}}_{i} }}\frac{{\operatorname{d} {\mathbf{\ifmmode\expandafter\dot\else\expandafter\.\fi{r}}}_{i} }} {{\operatorname{d} t}}} } = {\sum\limits_{i = 1,2} {\frac{{m_{i} }} {2}2{\mathbf{\ifmmode\expandafter\dot\else\expandafter\.\fi{r}}}_{i} \cdot \frac{{\operatorname{d} {\mathbf{\ifmmode\expandafter\dot\else\expandafter\.\fi{r}}}_{i} }} {{\operatorname{d} t}}} } = {\sum\limits_{i = 1,2} {m_{i} {\mathbf{\ifmmode\expandafter\dot\else\expandafter\.\fi{r}}}_{i} \frac{{{\mathbf{F}}_{i} }} {{m_{i} }}} }} \hfill} \\ {{} \hfill} & { = \hfill} & {{{\sum\limits_{i = 1,2} {{\mathbf{\ifmmode\expandafter\dot\else\expandafter\.\fi{r}}}_{i} \cdot {\mathbf{F}}_{i} } } = {\left( {{\mathbf{\ifmmode\expandafter\dot\else\expandafter\.\fi{r}}}_{1} - {\mathbf{\ifmmode\expandafter\dot\else\expandafter\.\fi{r}}}_{2} } \right)} \cdot {\mathbf{F}} = {\mathbf{\ifmmode\expandafter\dot\else\expandafter\.\fi{s}}} \cdot {\mathbf{F}}} \hfill} \\ \end{array} $$

The time-derivative of the potential energy is

$$ \frac{{\operatorname{d} U}} {{\operatorname{d} t}} = \frac{{\operatorname{d} U}} {{\operatorname{d} {\mathbf{s}}}}\frac{{\operatorname{d} {\mathbf{s}}}} {{\operatorname{d} t}} = \frac{{\operatorname{d} U}} {{\operatorname{d} {\mathbf{s}}}}{\mathbf{\dot{s}}} $$

Conservation of energy requires that

$$ \frac{{\operatorname{d} T}} {{\operatorname{d} t}} = - \frac{{\operatorname{d} U}} {{\operatorname{d} t}} $$

Then,

$$ \begin{aligned} {\mathbf{\dot{s}}} \cdot {\mathbf{F}} = - \frac{{\operatorname{d} U}} {{\operatorname{d} {\mathbf{s}}}} \cdot {\mathbf{\dot{s}}} & \\ {\mathbf{F}} = - \frac{{\operatorname{d} U}} {{\operatorname{d} {\mathbf{s}}}} = - \nabla _{s} U \equiv - {\left[ {{\mathbf{i}}\frac{{\partial U}} {{\partial s_{x} }} + {\mathbf{j}}\frac{{\partial U}} {{\partial s_{y} }} + {\mathbf{k}}\frac{{\partial U}} {{\partial s_{z} }}} \right]} & \\ \end{aligned} $$

wheres is the gradient with respect to s, and i, j, and k are unit vectors parallel to the x, y and z-axes. This simple, well established relationship is the basis for molecular dynamics algorithms that are limited to the interaction of “structureless” particles (i.e., point masses with no angular momentum).

The interaction of an atom within a rigid residue with an atom outside the residue

The residue is idealized as a sphere, with a mass m1, a moment of intertia I, and a center of mass r1 (see Fig. 7). Here, the external atom is treated as a point mass m2 at coordinates r2. The kinetic energy of the system, including that due to rotation of the residue is

$$ T = {\sum\limits_{i = 1,2} {T_{i} } } = \frac{{I\omega ^{2} }} {2} + {\sum\limits_{i = 1,2} {\frac{{m_{i} {\mathbf{\ifmmode\expandafter\dot\else\expandafter\.\fi{r}}}^{2}_{i} }} {2}} } $$
Fig. 7
figure 7

Geometry of the interaction of an atom within a rigid residue with an atom outside the residue

The angular acceleration of the residue is \( \dot{\omega } = \Gamma /I \), where Γ is a torque. The time derivative of the kinetic energy of the system can be expressed in a form analogous to that given above for two point masses. That is, the angular velocity ω can be treated the same way that the linear velocity ṙ was treated in the above derivation.

$$ \frac{{\operatorname{d} T}} {{\operatorname{d} t}} = \frac{\operatorname{d} } {{\operatorname{d} t}}\frac{{I\omega ^{2} }} {2} + {\sum\limits_{i = 1,2} {\frac{\operatorname{d} } {{\operatorname{d} t}}\frac{{m_{i} {\mathbf{\dot{r}}}^{2}_{i} }} {2}} } = \omega \cdot \Gamma + {\left( {{\mathbf{\dot{r}}}_{1} - {\mathbf{\dot{r}}}_{2} } \right)} \cdot {\mathbf{F}} $$

It is important to note that this equation defines F as the force on the residue at its center of mass. (Conservation of linear momentum requires that the force on the external atom is -F.) Furthermore, the separation vector sr3r2 is defined with reference to the two atoms rather than the residue’s center of mass. Accounting for both translation and rotation, the separation velocity of the atoms is

$$ {\mathbf{\ifmmode\expandafter\dot\else\expandafter\.\fi{s}}} = {\mathbf{\ifmmode\expandafter\dot\else\expandafter\.\fi{r}}}_{3} - {\mathbf{\ifmmode\expandafter\dot\else\expandafter\.\fi{r}}}_{2} = {\left[ {{\mathbf{\ifmmode\expandafter\dot\else\expandafter\.\fi{r}}}_{1} + {\left( {\omega \times {\mathbf{R}}} \right)}} \right]} - {\mathbf{\ifmmode\expandafter\dot\else\expandafter\.\fi{r}}}_{2} $$

where R is the vector from the center of mass of the residue to the interacting atom within the residue. The time derivative of the potential energy is thus

$$ \frac{{\operatorname{d} U}} {{\operatorname{d} t}} = \frac{{\operatorname{d} U}} {{\operatorname{d} {\mathbf{s}}}}\frac{{\operatorname{d} {\mathbf{s}}}} {{\operatorname{d} t}} = \frac{{\operatorname{d} U}} {{\operatorname{d} {\mathbf{s}}}} \cdot {\mathbf{\dot{s}}} = \frac{{\operatorname{d} U}} {{\operatorname{d} {\mathbf{s}}}} \cdot {\left[ {{\mathbf{\dot{r}}}_{1} - {\mathbf{\dot{r}}}_{2} + {\left( {\omega \times {\mathbf{R}}} \right)}} \right]} $$

Conservation of energy requires that

$$ \begin{aligned} \frac{{\operatorname{d} T}} {{\operatorname{d} t}} = - \frac{{\operatorname{d} U}} {{\operatorname{d} t}} & \\ \dot{\omega } \cdot \Gamma + {\left( {{\mathbf{\dot{r}}}_{1} - {\mathbf{\dot{r}}}_{2} } \right)} \cdot {\mathbf{F}} = - {\left[ {{\mathbf{\dot{r}}}_{1} - {\mathbf{\dot{r}}}_{2} + \omega \times {\mathbf{R}}} \right]} \cdot \frac{{\operatorname{d} U}} {{\operatorname{d} {\mathbf{s}}}} & \\ \dot{\omega } \cdot \Gamma + {\left( {{\mathbf{\dot{r}}}_{1} - {\mathbf{\dot{r}}}_{2} } \right)} \cdot {\mathbf{F}} = {\left[ {{\mathbf{\dot{r}}}_{1} - {\mathbf{\dot{r}}}_{2} + \omega \times {\mathbf{R}}} \right]} \cdot {\mathbf{F}} & \\ \omega \cdot \Gamma = \omega \times {\mathbf{R}} \cdot {\mathbf{F}} & \\ \omega \cdot \Gamma = \omega \cdot {\mathbf{R}} \times {\mathbf{F}} & \\ \Gamma = {\mathbf{R}} \times {\mathbf{F}} & \\ \end{aligned} $$

where a substitution was made based on the assertion (derived above) that \( - \frac{{{\text{d}}U}} {{{\text{d}}{\mathbf{s}}}} = {\mathbf{F}} \) and where the triple scalar product on the right hand side of the fourth equation was replaced with an equivalent expression.

These equations show that conservation of energy for the interaction of an external object with an atom within a rigid residue requires two applications of the interaction force F to the residue: (1) F must be applied to the residue at its center of mass, affecting its linear momentum; (2) a torque Γ=R×F must be applied to the residue, affecting its angular momentum. The opposite force -F must also be applied to the external object. It is not necessary to apply any torque to the external object if it is a point mass. However, if the external object is an atom within another rigid residue, the second residue must be treated in exactly the same way as the first, except that a force equal to −F must be used.

This recipe also conserves both linear and angular momentum. Conservation of linear momentum P is explicitly invoked in the derivation, as FF1=−F2. Accordingly,

$$ \frac{{\operatorname{d} {\mathbf{P}}}} {{\operatorname{d} t}} = \frac{\operatorname{d} } {{\operatorname{d} t}}{\left( {m_{1} {\mathbf{r}}_{1} + m_{2} {\mathbf{r}}_{2} } \right)} = m_{1} \frac{{{\mathbf{F}}_{1} }} {{m_{1} }} + m_{2} \frac{{{\mathbf{F}}_{2} }} {{m_{2} }} = {\mathbf{F}}_{1} + {\mathbf{F}}_{2} = 0 $$

The angular momentum L of the system depends on the rotation of the residue (Lrot) and the relative motion of the objects (Ltrans). That is,

$$ {\mathbf{L}} = {\mathbf{L}}_{{{\text{rot}}}} + {\mathbf{L}}_{{{\text{trans}}}} $$

Conservation of angular momentum requires that

$$ \frac{{\operatorname{d} {\mathbf{L}}}} {{\operatorname{d} t}} = \frac{{\operatorname{d} {\mathbf{L}}_{{{\text{rot}}}} }} {{\operatorname{d} t}} + \frac{{\operatorname{d} {\mathbf{L}}_{{{\text{trans}}}} }} {{\operatorname{d} t}} = 0 $$

By definition, the time derivative of Lrot is dLrot/dt=Γ. The time derivative of Ltrans can be defined relative to the center of mass c of the system, as illustrated in Fig. 8. The center of mass c is

$$ {\mathbf{c}} = \frac{{{\sum\limits_{\alpha = x,y,z} {{\mathbf{u}}_{\alpha } {\left( {m_{1} r_{{1,\alpha }} + m_{2} r_{{2,\alpha }} } \right)}} }}} {{m_{1} + m_{2} }} $$

where uα are unit vectors along the x, y, and z-axes. Define two vectors A1r1c and A2r2c, as shown in Fig. 8. Substituting the expression for c into these definitions, expanding, and recollecting terms yields the following expressions.

$$ {\mathbf{A}}_{1} = \frac{{m_{2} }} {{m_{1} + m_{2} }}{\left( {{\mathbf{r}}_{1} - {\mathbf{r}}_{2} } \right)} $$
$$ {\mathbf{A}}_{2} = \frac{{m_{1} }} {{m_{1} + m_{2} }}{\left( {{\mathbf{r}}_{2} - {\mathbf{r}}_{1} } \right)} $$

Then, Ltrans can be expressed

$$ \begin{array}{*{20}l} {{{\mathbf{L}}_{{{\text{trans}}}} } \hfill} & {{ = m_{1} {\left( {{\mathbf{A}}_{1} \times {\mathbf{\ifmmode\expandafter\dot\else\expandafter\.\fi{r}}}_{1} } \right)} + m_{2} {\left( {{\mathbf{A}}_{2} \times {\mathbf{\ifmmode\expandafter\dot\else\expandafter\.\fi{r}}}_{2} } \right)}} \hfill} \\ {{} \hfill} & {{ = \frac{{m_{1} m_{2} }} {{m_{1} + m_{2} }}{\left[ {{\left( {{\mathbf{r}}_{1} - {\mathbf{r}}_{2} } \right)} \times {\mathbf{\ifmmode\expandafter\dot\else\expandafter\.\fi{r}}}_{1} + {\left( {{\mathbf{r}}_{2} - {\mathbf{r}}_{1} } \right)} \times {\mathbf{\ifmmode\expandafter\dot\else\expandafter\.\fi{r}}}_{2} } \right]}} \hfill} \\ {{} \hfill} & {{ = \mu {\left[ {{\mathbf{A}}_{{\text{r}}} \times {\mathbf{\ifmmode\expandafter\dot\else\expandafter\.\fi{r}}}_{2} - {\mathbf{A}}_{{\text{r}}} \times {\mathbf{\ifmmode\expandafter\dot\else\expandafter\.\fi{r}}}_{1} } \right]}} \hfill} \\ {{} \hfill} & {{ = \mu {\mathbf{A}}_{{\text{r}}} \times {\left( {{\mathbf{\ifmmode\expandafter\dot\else\expandafter\.\fi{r}}}_{2} - {\mathbf{\ifmmode\expandafter\dot\else\expandafter\.\fi{r}}}_{1} } \right)}} \hfill} \\ {{} \hfill} & {{ = \mu {\mathbf{A}}_{{\text{r}}} \times {\mathbf{\ifmmode\expandafter\dot\else\expandafter\.\fi{A}}}_{{\text{r}}} } \hfill} \\ \end{array} $$

where a new vector Arr2r1 has been defined and the reduced mass μ≡m1m2/(m1+m2) have been substituted into the expressions. The time-derivative of Ltrans is then

$$ \begin{array}{*{20}l} {{\frac{\operatorname{d} } {{\operatorname{d} t}}{\mathbf{L}}_{{{\text{trans}}}} } \hfill} & {{ = \frac{\operatorname{d} } {{\operatorname{d} t}}\mu {\left[ {{\mathbf{A}}_{{\text{r}}} \times {\mathbf{\dot{A}}}_{{\text{r}}} } \right]}} \hfill} \\ {{} \hfill} & {{ = \mu {\left[ {{\left( {\frac{{\operatorname{d} {\mathbf{A}}_{{\text{r}}} }} {{\operatorname{d} t}} \times {\mathbf{\dot{A}}}_{{\text{r}}} } \right)} + {\left( {{\mathbf{A}}_{{\text{r}}} \times \frac{{\operatorname{d} {\mathbf{\dot{A}}}_{{\text{r}}} }} {{\operatorname{d} t}}} \right)}} \right]}} \hfill} \\ {{} \hfill} & {{ = \mu {\left[ {{\left( {{\mathbf{\dot{A}}}_{{\text{r}}} \times {\mathbf{\dot{A}}}_{{\text{r}}} } \right)} + {\left( {{\mathbf{A}}_{{\text{r}}} \times \frac{{\operatorname{d} {\mathbf{\dot{A}}}_{{\text{r}}} }} {{\operatorname{d} t}}} \right)}} \right]}} \hfill} \\ {{} \hfill} & {{ = \mu {\left[ {{\mathbf{A}}_{{\text{r}}} \times \frac{{\operatorname{d} {\mathbf{\dot{A}}}_{{\text{r}}} }} {{\operatorname{d} t}}} \right]}} \hfill} \\ {{} \hfill} & {{ = \mu {\left[ {{\mathbf{A}}_{{\text{r}}} \times \frac{\operatorname{d} } {{\operatorname{d} t}}{\left( {{\mathbf{\dot{r}}}_{2} - {\mathbf{\dot{r}}}_{1} } \right)}} \right]}} \hfill} \\ {{} \hfill} & {{ = \mu {\left[ {{\mathbf{A}}_{{\text{r}}} \times {\left( {\frac{{{\mathbf{F}}_{2} }} {{m_{2} }} - \frac{{{\mathbf{F}}_{1} }} {{m_{1} }}} \right)}} \right]}} \hfill} \\ {{} \hfill} & {{ = - \mu {\left[ {{\mathbf{A}}_{{\text{r}}} \times {\left( {\frac{{m_{1} {\mathbf{F}}}} {{m_{1} m_{2} }} + \frac{{m_{2} {\mathbf{F}}}} {{m_{1} m_{2} }}} \right)}} \right]}} \hfill} \\ {{} \hfill} & {{ = - {\mathbf{A}}_{{\text{r}}} \times {\mathbf{F}}} \hfill} \\ \end{array} $$

Here, the product rule was invoked, the cross product of vector \( {\mathbf{\ifmmode\expandafter\dot\else\expandafter\.\fi{A}}}_{{\text{r}}} \) with itself was identified as zero, the vector \( {\mathbf{\ifmmode\expandafter\dot\else\expandafter\.\fi{A}}}_{{\text{r}}} \) was expanded, the acceleration of each object was expressed in terms of F=F1=–F2, and the reduced mass μ was cancelled. Appropriately, the expression for the time derivative of angular momentum is independent of the masses of the objects. Conservation of momentum requires that

$$ \frac{{\operatorname{d} {\mathbf{L}}}} {{\operatorname{d} t}} = \frac{{\operatorname{d} {\mathbf{L}}_{{{\text{trans}}}} }} {{\operatorname{d} t}} + \frac{{\operatorname{d} {\mathbf{L}}_{{{\text{rot}}}} }} {{\operatorname{d} t}} = 0 $$

Substituting and recalling that Γ=R×F,

$$ \begin{aligned} \frac{{\operatorname{d} {\mathbf{L}}_{{{\text{trans}}}} }} {{\operatorname{d} t}} = - \frac{{\operatorname{d} {\mathbf{L}}_{{{\text{rot}}}} }} {{\operatorname{d} t}} & \\ - {\mathbf{A}}_{{\text{r}}} \times {\mathbf{F}} = - \Gamma & \\ {\mathbf{A}}_{{\text{r}}} \times {\mathbf{F}} = {\mathbf{R}} \times {\mathbf{F}} & \\ \end{aligned} $$

The angular momentum L is conserved only if F is defined such that the last equation is true.

Fig. 8
figure 8

Geometry defining Ltrans relative to the center of mass of the system

This can be shown geometrically with reference to Fig. 9. The force vector F is always parallel to the line (defined by s) passing through the two atoms. Another line parallel to the line defined by s is drawn through the center of mass of the spherical residue. The vectors F, R and Ar are all in the plane defined by these two lines, so the two cross products of interest are both normal to this plane and thereby parallel. The length of each of these cross products is equal to the distance d between the two lines. That is,

$$ \begin{aligned} & {\left| {{\mathbf{R}} \times {\mathbf{F}}} \right|} = {\left| {\mathbf{R}} \right|}{\left| {\mathbf{F}} \right|}\sin \theta _{1} = d \\ & {\left| {{\mathbf{A}}_{{\text{r}}} \times {\mathbf{F}}} \right|} = {\left| {{\mathbf{A}}_{{\text{r}}} } \right|}{\left| {\mathbf{F}} \right|}\sin \theta _{2} = d \\ \end{aligned} $$
Fig. 9
figure 9

Geometric representation of the conservation of angular momentum

As the two vectors of interest are parallel and have the same length, they are equal, demonstrating that angular momentum is conserved.

Evaluation of torsional potentials for the interaction of two residues

The torsional angle ϕ is specified by four atoms, located at coordinates a1, a2, a3, and a4 (see Fig. 10). Atoms 1, 2, and 3 are constituents of residue 1, whose center of mass is at r1, and atom 4 is a constituent of residue 2, whose center of mass is at r2. (Two copies of the third atom exist, as this atom is shared by the two residues. However, coordinates of the atom 3 copy associated with residue 1 are used for calculating torsional angles and potentials.) As illustrated in Fig. 10, it is possible to find a coordinate transformation that results in a new system in which atom 2 is at the origin, atom 3 is on the z’-axis, and atom 4 is in the x’,z’-plane. The coordinate system is chosen such that the z’-coordinate of atom 3 and the x’-coordinate of atom 4 are both positive. Unit vectors parallel to the primed axes can be calculated as follows. The vector A3=a3a2 is parallel to the z’-axis, so the unit vector \( {\mathbf{u}}_{z} = {\mathbf{A}}_{3} /{\left| {{\mathbf{A}}_{3} } \right|} \) defines the z’-axis. The vector A4=a4a3 is in x’,z’-plane, so the vector A y =u z ×A4 is parallel to the y’-axis and the unit vector \( {\mathbf{u}}_{y} = {\mathbf{A}}_{y} /{\left| {{\mathbf{A}}_{y} } \right|} \) defines the y’-axis. The unit vector u x =u y ×u z defines the x’-axis. The vector Ap is defined as the projection of A4 onto the x’-axis. Vectors Ap and Ay have the same length l, which is

Fig. 10
figure 10

Geometric representation of the fictitious atom and fictitious force used in CONDORR

$$ \begin{array}{*{20}l} {{\ell } \hfill} & {{ = {\left| {{\mathbf{A}}_{p} } \right|} = {\mathbf{u}}_{x} \cdot {\mathbf{A}}_{4} = {\left| {{\mathbf{u}}_{x} } \right|}{\left| {{\mathbf{A}}_{4} } \right|}\cos {\left( \theta \right)}} \hfill} \\ {{} \hfill} & {{ = {\left| {{\mathbf{A}}_{y} } \right|} = {\left| {{\mathbf{u}}_{z} \times {\mathbf{A}}_{4} } \right|} = {\left| {{\mathbf{u}}_{z} } \right|}{\left| {{\mathbf{A}}_{4} } \right|}\sin {\left( {\frac{\pi } {2} - \theta } \right)}} \hfill} \\ {{} \hfill} & {{ = {\left| {{\mathbf{u}}_{z} } \right|}{\left| {{\mathbf{A}}_{4} } \right|}\cos {\left( \theta \right)}} \hfill} \\ \end{array} $$

where θ is the angle between A4 and the x’-axis.

Define a fictitious atom f with coordinates a f =a4. A fictitious force F parallel to the y’-axis acting on atom f (rigidly attached to residue 1) and the equal and opposite force −F acting on atom 4 (rigidly attached to residue 2) for a time dt will cause atom f and atom 4 (initially coincident) to become separated by a distance ds, changing the dihedral angle ϕ by an increment \( {\text{d}}\phi = \frac{{{\text{d}}s}} {l} \). The potential energy gradient dU/ds associated with the fictitious force can be expressed in terms of the torsional potential gradient dU/dφ:

$$ \frac{{\operatorname{d} U}} {{\operatorname{d} s}} = \frac{{\operatorname{d} U}} {{\operatorname{d} \phi }}\frac{{\operatorname{d} \phi }} {{\operatorname{d} s}} = \frac{{\operatorname{d} U}} {{\operatorname{d} \phi }}\frac{1} {l} $$

The force F is parallel to u y , and has a magnitude of −dU/ds. That is,

$$ {\mathbf{F}} = - \frac{{\operatorname{d} U}} {{\operatorname{d} s}}{\mathbf{u}}_{y} = - \frac{{\operatorname{d} U}} {{\operatorname{d} \phi }}\frac{1} {l}{\mathbf{u}}_{y} = - \frac{{\operatorname{d} U}} {{\operatorname{d} \phi }}\frac{1} {{{\left| {{\mathbf{A}}_{y} } \right|}}}\frac{{{\mathbf{A}}_{y} }} {{{\left| {{\mathbf{A}}_{y} } \right|}}} = - \frac{{\operatorname{d} U}} {{\operatorname{d} \phi }}\frac{{{\mathbf{A}}_{y} }} {{{\mathbf{A}}_{y} \cdot {\mathbf{A}}_{y} }} $$

where A y =u z ×A4, as defined above.

Fictitious forces calculated in this way can be treated as interaction forces (described above) involving pairs of atoms on different residues. (Fictitious atom f is associated with residue 1 and atom 4 is associated with residue 2.) Doing so preserves the total energy, linear momentum, and angular momentum of the system.

Atomic interaction potentials

Atomic interaction potentials have the form:

$$ V = Q\varepsilon {\left[ {{\left( {\frac{\sigma } {r}} \right)}^{m} - {\left( {\frac{\sigma } {r}} \right)}^{n} } \right]} $$

where Q, σ, m, and n are constants, −ε is the potential at its minimum value, and r is the distance between atoms. Define a distance rmin where the potential is minimized. That is,V=Vmin=−ε when r=rmin. Then,

$$ \begin{array}{*{20}l} {{\frac{{\operatorname{d} V}} {{\operatorname{d} r}}} \hfill} & {{ = Q\varepsilon \frac{\operatorname{d} } {{\operatorname{d} r}}{\left[ {{\left( {\frac{\sigma } {r}} \right)}^{m} - {\left( {\frac{\sigma } {r}} \right)}^{n} } \right]}} \hfill} \\ {{} \hfill} & {{ = Q\varepsilon {\left[ { - m\sigma ^{m} {\left( {\frac{1} {r}} \right)}^{{m + 1}} + n\sigma ^{n} {\left( {\frac{1} {r}} \right)}^{{n + 1}} } \right]}} \hfill} \\ {{} \hfill} & {{ = \frac{{Q\varepsilon }} {r}{\left[ { - m{\left( {\frac{\sigma } {r}} \right)}^{m} + n{\left( {\frac{\sigma } {r}} \right)}^{n} } \right]}} \hfill} \\ \end{array} $$

Define the ratio ρ=m/n and note that the derivative is zero at the minimum,

$$ \begin{array}{*{20}l} {{\frac{{\operatorname{d} V_{{\min }} }} {{\operatorname{d} r}}} \hfill} & {{ = \frac{{Q\varepsilon }} {{r_{{\min }} }}{\left[ { - \rho n{\left( {\frac{\sigma } {{r_{{\min }} }}} \right)}^{{\rho n}} + n{\left( {\frac{\sigma } {{r_{{\min }} }}} \right)}^{n} } \right]} = 0} \hfill} \\ {{\rho n{\left( {\frac{\sigma } {{r_{{\min }} }}} \right)}^{{\rho n}} } \hfill} & {{ = n{\left( {\frac{\sigma } {{r_{{\min }} }}} \right)}^{n} } \hfill} \\ {{{\left( {\frac{\sigma } {{r_{{\min }} }}} \right)}^{{(\rho - 1)n}} } \hfill} & {{ = \frac{1} {\rho }} \hfill} \\ {{\sigma ^{{(\rho - 1)n}} } \hfill} & {{ = r^{{(\rho - 1)n}}_{{\min }} \rho ^{{ - 1}} } \hfill} \\ {\sigma \hfill} & {{ = r_{{\min }} \rho ^{{\frac{{ - 1}} {{(\rho - 1)n}}}} } \hfill} \\ \end{array} $$

Then,

$$ \begin{array}{*{20}l} {V \hfill} & {{ = Q\varepsilon {\left[ {{\left( {\frac{\sigma } {r}} \right)}^{{\rho n}} - {\left( {\frac{\sigma } {r}} \right)}^{n} } \right]}} \hfill} \\ {{} \hfill} & {{ = Q\varepsilon {\left[ {{\left( {\rho ^{{\frac{{ - 1}} {{(\rho - 1)n}}}} \frac{{r_{{\min }} }} {r}} \right)}^{{\rho n}} - {\left( {\rho ^{{\frac{{ - 1}} {{(\rho - 1)n}}}} \frac{{r_{{\min }} }} {r}} \right)}^{n} } \right]}} \hfill} \\ {{} \hfill} & {{ = Q\varepsilon {\left[ {{\left( {\rho ^{{\frac{{ - \rho n}} {{(\rho - 1)n}}}} } \right)}{\left( {\frac{{r_{{\min }} }} {r}} \right)}^{{\rho n}} - {\left( {\rho ^{{\frac{{ - n}} {{(\rho - 1)n}}}} } \right)}{\left( {\frac{{r_{{\min }} }} {r}} \right)}^{n} } \right]}} \hfill} \\ {{} \hfill} & {{ = Q\varepsilon {\left[ {{\left( {\rho ^{{\frac{{ - \rho }} {{\rho - 1}}}} } \right)}{\left( {\frac{{r_{{\min }} }} {r}} \right)}^{{\rho n}} - {\left( {\rho ^{{\frac{{ - 1}} {{\rho - 1}}}} } \right)}{\left( {\frac{{r_{{\min }} }} {r}} \right)}^{n} } \right]}} \hfill} \\ \end{array} $$

Define ε such that when r=rmin , then V=−ε, so

$$ \begin{aligned} & - \varepsilon = Q\varepsilon {\left[ {{\left( {\rho ^{{\frac{{ - \rho }} {{\rho - 1}}}} } \right)}{\left( {\frac{{r_{{\min }} }} {{r_{{\min }} }}} \right)}^{{\rho n}} - {\left( {\rho ^{{\frac{{ - 1}} {{\rho - 1}}}} } \right)}{\left( {\frac{{r_{{\min }} }} {{r_{{\min }} }}} \right)}^{n} } \right]} \\ & \frac{{ - 1}} {Q} = {\left[ {{\left( {\rho ^{{\frac{{ - \rho }} {{\rho - 1}}}} } \right)} - {\left( {\rho ^{{\frac{{ - 1}} {{\rho - 1}}}} } \right)}} \right]} \\ & Q = - {\left[ {{\left( {\rho ^{{\frac{{ - \rho }} {{\rho - 1}}}} } \right)} - {\left( {\rho ^{{\frac{{ - 1}} {{\rho - 1}}}} } \right)}} \right]}^{{ - 1}} \\ \end{aligned} $$

The atomic interaction energies can be calculated by substituting this value of Q into the general potential expression derived above:

$$ \begin{array}{*{20}l} {V \hfill} & {{ = Q\varepsilon {\left[ {{\left( {\rho ^{{\frac{{ - \rho }} {{\rho - 1}}}} } \right)}{\left( {\frac{{r_{{\min }} }} {r}} \right)}^{{\rho n}} - {\left( {\rho ^{{\frac{{ - 1}} {{\rho - 1}}}} } \right)}{\left( {\frac{{r_{{\min }} }} {r}} \right)}^{n} } \right]}} \hfill} \\ {{} \hfill} & {{ = \varepsilon {\left[ {{\left( {\rho ^{{\frac{{ - \rho }} {{\rho - 1}}}} } \right)} - {\left( {\rho ^{{\frac{{ - 1}} {{\rho - 1}}}} } \right)}} \right]}^{{ - 1}} {\left[ {{\left( {\rho ^{{\frac{{ - \rho }} {{\rho - 1}}}} } \right)}{\left( {\frac{{r_{{\min }} }} {r}} \right)}^{{\rho n}} - {\left( {\rho ^{{\frac{{ - 1}} {{\rho - 1}}}} } \right)}{\left( {\frac{{r_{{\min }} }} {r}} \right)}^{n} } \right]}} \hfill} \\ \end{array} $$

For example, for the familiar Lennard-Jones 6–12 potential, m=12, n=6, ρ=2, and Q=4. That is,

$$ \begin{array}{*{20}l} {{V_{{6 - 12}} } \hfill} & {{ = 4\varepsilon {\left[ {{\left( {2^{{\frac{{ - 2}} {{2 - 1}}}} } \right)}{\left( {\frac{{r_{{\min }} }} {r}} \right)}^{{12}} - {\left( {2^{{\frac{{ - 1}} {{2 - 1}}}} } \right)}{\left( {\frac{{r_{{\min }} }} {r}} \right)}^{6} } \right]}} \hfill} \\ {{} \hfill} & {{ = 4\varepsilon {\left[ {\frac{1} {4}{\left( {\frac{{r_{{\min }} }} {r}} \right)}^{{12}} - \frac{1} {2}{\left( {\frac{{r_{{\min }} }} {r}} \right)}^{6} } \right]}} \hfill} \\ {{} \hfill} & {{ = \varepsilon {\left[ {{\left( {\frac{{r_{{\min }} }} {r}} \right)}^{{12}} - 2{\left( {\frac{{r_{{\min }} }} {r}} \right)}^{6} } \right]}} \hfill} \\ \end{array} $$

The force F due to a potential of this general type is

$$ \begin{array}{*{20}l} {F \hfill} & {{ = \frac{{ - \operatorname{d} V}} {{\operatorname{d} r}}} \hfill} \\ {{} \hfill} & {{ = - Q\varepsilon \frac{\operatorname{d} } {{\operatorname{d} r}}{\left[ {{\left( {\rho ^{{\frac{{ - \rho }} {{\rho - 1}}}} } \right)}{\left( {\frac{{r_{{\min }} }} {r}} \right)}^{{\rho n}} - {\left( {\rho ^{{\frac{{ - 1}} {{\rho - 1}}}} } \right)}{\left( {\frac{{r_{{\min }} }} {r}} \right)}^{n} } \right]}} \hfill} \\ {{} \hfill} & {{ = - Q\varepsilon {\left( {\rho ^{{\frac{{ - \rho }} {{\rho - 1}}}} } \right)}r^{{\rho n}}_{{\min }} \frac{{\operatorname{d} r^{{ - \rho n}} }} {{\operatorname{d} r}} + Q\varepsilon {\left( {\rho ^{{\frac{{ - 1}} {{\rho - 1}}}} } \right)}r^{n}_{{\min }} \frac{{\operatorname{d} r^{{ - n}} }} {{\operatorname{d} r}}} \hfill} \\ {{} \hfill} & {{ = - Q\varepsilon {\left( {\rho ^{{\frac{{ - \rho }} {{\rho - 1}}}} } \right)}r^{{\rho n}}_{{\min }} {\left( { - \rho nr^{{ - \rho n - 1}} } \right)} + Q\varepsilon {\left( {\rho ^{{\frac{{ - 1}} {{\rho - 1}}}} } \right)}r^{n}_{{\min }} {\left( { - nr^{{ - n - 1}} } \right)}} \hfill} \\ {{} \hfill} & {{ = - Q\varepsilon {\left( {\rho ^{{\frac{{ - \rho }} {{\rho - 1}}}} } \right)}r^{m}_{{\min }} {\left( { - mr^{{ - m - 1}} } \right)} + Q\varepsilon {\left( {\rho ^{{\frac{{ - 1}} {{\rho - 1}}}} } \right)}r^{n}_{{\min }} {\left( { - nr^{{ - n - 1}} } \right)}} \hfill} \\ {{} \hfill} & {{ = Q\varepsilon m{\left( {\rho ^{{\frac{{ - \rho }} {{\rho - 1}}}} } \right)}r^{m}_{{\min }} r^{{ - m - 1}} - Q\varepsilon n{\left( {\rho ^{{\frac{{ - 1}} {{\rho - 1}}}} } \right)}r^{n}_{{\min }} r^{{ - n - 1}} } \hfill} \\ \end{array} $$

Defining the constants

$$ \begin{aligned} & A_{F} = Q\varepsilon m{\left( {\rho ^{{\frac{{ - \rho }} {{\rho - 1}}}} } \right)}r^{m}_{{\min }} \\ & B_{F} = Q\varepsilon n{\left( {\rho ^{{\frac{{ - 1}} {{\rho - 1}}}} } \right)}r^{n}_{{\min }} \\ \end{aligned} $$

makes it possible to write a simple expression for the force F:

$$ F = A_{F} r^{{ - m - 1}} - B_{F} r^{{ - n - 1}} $$

Interpolation of potential surfaces and surface gradients

The energy surface \( {\left( {U_{{\Omega _{1} ,\Omega _{2} }} } \right)} \) is approximated as a function of (Ω1, Ω2) at discrete points (ω i j ), arranged in a square pattern, allowing the coordinates at each vertex to be specified using only one index (i or j). Define an inverse distance η between the vertices,

$$ \eta \equiv \frac{1} {{\Delta \omega }} = \frac{1} {{\omega _{{i + 1}} - \omega _{i} }} = \frac{1} {{\omega _{{j + 1}} - \omega _{j} }} $$

Define “edge gradients” σa,i,j along the lines connecting adjacent vertices:

$$ \sigma _{{1,i,j}} \equiv {\left( {\frac{{\Delta U}} {{\Delta \omega _{i} }}} \right)}_{{i,j}} \equiv \frac{{U_{{i + 1,j}} - U_{{i,j}} }} {{\omega _{{i + 1}} - \omega _{i} }} = {\left( {U_{{i + 1,j}} - U_{{i,j}} } \right)}\eta $$
$$ \sigma _{{2,i,j}} \equiv {\left( {\frac{{\Delta U}} {{\Delta \omega _{j} }}} \right)}_{{i,j}} \equiv \frac{{U_{{i,j + 1}} - U_{{i,j}} }} {{\omega _{{j + 1}} - \omega _{j} }} = {\left( {U_{{i,j + 1}} - U_{{i,j}} } \right)}\eta $$

For a specific point at coordinates (Ω12) within the square area bounded by points (ω i j ) and (ωi+1j+1), the gradient component \( {\left( {\partial U/\partial \Omega _{1} } \right)} \) can be approximated by calculating the values \( U^{{rel}}_{{\omega _{i} ,\Omega _{2} }} \) and \( U^{{rel}}_{{\omega _{{i + 1}} ,\Omega _{2} }} \) at coordinates (ω i 2) and (ωi+12) relative to the value Ui,j and making a linear extrapolation of U between these points. That is,

$$ \begin{array}{*{20}l} {{\frac{{\partial U}} {{\partial \Omega _{1} }}} \hfill} & {{ \approx \frac{{U^{{rel}}_{{\omega _{{i + 1}} ,\Omega _{2} }} - U^{{rel}}_{{\omega _{i} ,\Omega _{2} }} }} {{\Delta \omega _{i} }}} \hfill} \\ {{} \hfill} & {{ = \frac{{\sigma _{{1,i,j}} \cdot \Delta \omega _{i} + (\Omega _{2} - \omega _{j} )\sigma _{{2,i + 1,j}} - (\Omega _{2} - \omega _{j} )\sigma _{{2,i,j}} }} {{\Delta \omega _{i} }}} \hfill} \\ {{} \hfill} & {{ = {\left( {\frac{{\sigma _{{1,i,j}} }} {\eta } + (\Omega _{2} - \omega _{j} )\sigma _{{2,i + 1,j}} - (\Omega _{2} - \omega _{j} )\sigma _{{2,i,j}} } \right)}\eta } \hfill} \\ {{} \hfill} & {{ = \sigma _{{1,i,j}} + (\Omega _{2} - \omega _{j} )(\sigma _{{2,i + 1,j}} - \sigma _{{2,i,j}} )\eta } \hfill} \\ \end{array} $$

Similarly,

$$ \begin{aligned} & \frac{{\partial U}} {{\partial \Omega _{2} }} \quad \approx \frac{{U^{{rel}}_{{\Omega _{1} ,\omega _{{j + 1}} }} - U^{{rel}}_{{\Omega _{1} ,\omega _{j} }} }} {{\Delta \omega _{j} }}{\left( {\frac{{\sigma _{{2,i,j}} }} {\eta } + (\Omega _{1} - \omega _{i} )\sigma _{{1,i,j + 1}} - (\Omega _{1} - \omega _{i} )\sigma _{{2,i,j}} } \right)}\eta \\ & \quad = \sigma _{{2,i,j}} + (\Omega _{1} - \omega _{i} )(\sigma _{{1,i,j + 1}} - \sigma _{{1,i,j}} )\eta \\ \end{aligned} $$

It is possible to define another parameter αi,j based on the definition of σa,i,j:

$$ \alpha _{{i,j}} \equiv {\left( {\sigma _{{1,i,j + 1}} - \sigma _{{1,i,j}} } \right)} = {\left( {\sigma _{{2,i + 1,j}} - \sigma _{{2,i,j}} } \right)} = {\left( {U_{{i + 1,j + 1}} - U_{{i,j + 1}} - U_{{i + 1,j}} + U_{{i,j}} } \right)}\eta $$

So that, in general,

$$ \frac{{\partial U}} {{\partial \Omega _{a} }} \approx \sigma _{{a,i,j}} + {\left( {\Omega _{b} - \omega _{{b,c}} } \right)}\alpha _{{i,j}} \eta $$

where: if a=1, then b=2 and c=j; if a=2, then b=1 and c=i.

This is efficiently implemented by calculating the values of variables in the following order:

$$ i{\text{,}}\,\,\,j{\text{,}}\;\;\;\sigma _{{1,i,j}} ,\;\;\;\sigma _{{2,i,j}} $$

and finally

$$ \alpha _{{i,j}} = - \sigma _{{1,i,j + 1}} - \sigma _{{1,i,j}} = U_{{i + 1,j + 1}} - U_{{i,j + 1}} - \sigma _{{1,i,j}} $$

This can be extended to a hypersurface describing the potential U as a function of three variables. Define

$$ \sigma _{{1,i,j,k}} \equiv {\left( {\frac{{\Delta U}} {{\Delta \omega }}} \right)}_{{i,j,k}} \equiv \frac{{U_{{i + 1,j,k}} - U_{{i,j,k}} }} {{\omega _{{i + 1}} - \omega _{i} }} = {\left( {U_{{i + 1,j,k}} - U_{{i,j,k}} } \right)}\eta $$

The gradient components \( {\left( {\partial U/\partial \Omega _{1} } \right)} \) and \( {\left( {\partial U/\partial \Omega _{2} } \right)} \) can be calculated in any plane defined by (Ω3 k =constant) as described above. Then, for the point at coordinates (Ω1, Ω2, Ω3) within the cubic solid bounded by points (ω i j k ) and (ωi+1j+1k+1), one can trace the changes in U from the point (ω i j k ) to the points (Ω1, Ω2, Ω k ) and (Ω1, Ω2, Ωk+1), making it possible to define the interpolated values \( {\left( {U^{{rel}}_{{\Omega _{1} ,\Omega _{2} ,\omega _{k} }} } \right)} \) and \( {\left( {U^{{rel}}_{{\Omega _{1} ,\Omega _{2} ,\omega _{{k + 1}} }} } \right)} \) relative to the value (Ui,j,k). This makes it possible to find a linear approximation for \( {\left( {\partial U/\partial \Omega _{3} } \right)} \) solely in terms of other, easily calculated gradient values. That is,

$$ \begin{aligned} & U^{{rel}}_{{\Omega _{1} ,\Omega _{2} ,\omega _{{3,k}} }} = {\left( {\Omega _{2} - \omega _{j} } \right)}\sigma _{{2,i,j,k}} + {\left( {\Omega _{1} - \omega _{i} } \right)}{\left( {\sigma _{{1,i,j,k}} + {\left( {\Omega _{2} - \omega _{j} } \right)}{\left( {\sigma _{{2,i + 1,j,k}} - \sigma _{{2,i,j,k}} } \right)}\eta } \right)} \\ & U^{{rel}}_{{\Omega _{1} ,\Omega _{2} ,\omega _{{3,k + 1}} }} = \frac{{\sigma _{{3,i,j,k}} }} {\eta } + {\left( {\Omega _{2} - \omega _{j} } \right)}\sigma _{{2,i,j,k + 1}} + {\left( {\Omega _{1} - \omega _{i} } \right)}{\left( {\sigma _{{1,i,j,k + 1}} + {\left( {\Omega _{2} - \omega _{j} } \right)}{\left( {\sigma _{{2,i + 1,j,k + 1}} - \sigma _{{2,i,j,k + 1}} } \right)}\eta } \right)} \\ \end{aligned} $$

Alternatively,

$$ \begin{aligned} & U^{{rel}}_{{\Phi ,\Psi ,\omega _{k} }} = {\left( {\Omega _{1} - \omega _{i} } \right)}\sigma _{{1,i,j,k}} + {\left( {\Omega _{2} - \omega _{j} } \right)}{\left( {\sigma _{{2,i,j,k}} + {\left( {\Omega _{1} - \omega _{i} } \right)}{\left( {\sigma _{{1,i,j + 1,k}} - \sigma _{{1,i,j,k}} } \right)}\eta } \right)} \\ & U^{{rel}}_{{\Phi ,\Psi ,\omega _{{k + 1}} }} = \frac{{\sigma _{{3,i,j,k}} }} {\eta } + {\left( {\Omega _{1} - \omega _{i} } \right)}\sigma _{{1,i,j,k + 1}} + {\left( {\Omega _{2} - \omega _{j} } \right)}{\left( {\sigma _{{2,i,j,k + 1}} + {\left( {\Omega _{1} - \omega _{i} } \right)}{\left( {\sigma _{{1,i,j + 1,k + 1}} - \sigma _{{1,i,j,k + 1}} } \right)}\eta } \right)} \\ \end{aligned} $$

Then,

$$ \begin{array}{*{20}l} {{\frac{{\partial U}} {{\partial \Omega _{3} }}} \hfill} & {{ = {\left( {U^{{rel}}_{{\Omega _{1} ,\Omega _{2} ,\omega _{{k + 1}} }} - U^{{rel}}_{{\Omega _{1} ,\Omega _{2} ,\omega _{k} }} } \right)}\eta } \hfill} \\ {{} \hfill} & {{ = {\left( {\frac{{\sigma _{{3,i,j,k}} }} {\eta } + {\left( {\Omega _{2} - \omega _{j} } \right)}\sigma _{{2,i,j,k + 1}} + {\left( {\Omega _{1} - \omega _{i} } \right)}{\left( {\sigma _{{1,i,j,k + 1}} + {\left( {\Omega _{2} - \omega _{j} } \right)}{\left( {\sigma _{{2,i + 1,j,k + 1}} - \sigma _{{2,i,j,k + 1}} } \right)}\eta } \right)}} \right)}\eta } \hfill} \\ {{} \hfill} & {{ - {\left( {{\left( {\Omega _{2} - \omega _{j} } \right)}\sigma _{{2,i,j,k}} + {\left( {\Omega _{1} - \omega _{i} } \right)}{\left( {\sigma _{{1,i,j,k}} + {\left( {\Omega _{2} - \omega _{j} } \right)}{\left( {\sigma _{{2,i + 1,j,k}} - \sigma _{{2,i,j,k}} } \right)}\eta } \right)}} \right)}\eta } \hfill} \\ {{} \hfill} & {{ = {\left( {\Omega _{1} - \omega _{{1,i}} } \right)}{\left( {\Omega _{2} - \omega _{j} } \right)}{\left( {\sigma _{{2,i + 1,j,k + 1}} - \sigma _{{2,i,j,k + 1}} - \sigma _{{2,i + 1,j,k}} + \sigma _{{2,i,j,k}} } \right)}\eta ^{2} } \hfill} \\ {{} \hfill} & {{ + {\left[ {{\left( {\Omega _{2} - \omega _{j} } \right)}{\left( {\sigma _{{2,i,j,k + 1}} - \sigma _{{2,i,j,k}} } \right)} + {\left( {\Omega _{1} - \omega _{i} } \right)}{\left( {\sigma _{{1,i,j,k + 1}} - \sigma _{{1,i,j,k}} } \right)}} \right]}\eta + \sigma _{{3,i,j,k}} } \hfill} \\ \end{array} $$

Alternatively,

$$ \begin{array}{*{20}l} {{\frac{{\partial U}} {{\partial \Omega _{3} }}} \hfill} & {{ = {\left( {U^{{rel}}_{{\Omega _{1} ,\Omega _{2} ,\omega _{{k + 1}} }} - U^{{rel}}_{{\Omega _{1} ,\Omega _{2} ,\omega _{k} }} } \right)}\eta } \hfill} \\ {{} \hfill} & {{ = {\left( {\frac{{\sigma _{{3,i,j,k}} }} {\eta } + {\left( {\Omega _{1} - \omega _{i} } \right)}\sigma _{{1,i,j,k + 1}} + {\left( {\Omega _{2} - \omega _{j} } \right)}{\left( {\sigma _{{2,i,j,k + 1}} + {\left( {\Omega _{1} - \omega _{i} } \right)}{\left( {\sigma _{{1,i,j + 1,k + 1}} - \sigma _{{1,i,j,k + 1}} } \right)}\eta } \right)}} \right)}\eta } \hfill} \\ {{} \hfill} & {{ - {\left( {{\left( {\Omega _{1} - \omega _{i} } \right)}\sigma _{{2,i,j,k}} + {\left( {\Omega _{2} - \omega _{j} } \right)}{\left( {\sigma _{{2,i,j,k}} + {\left( {\Omega _{1} - \omega _{i} } \right)}{\left( {\sigma _{{1,i,j + 1,k}} - \sigma _{{1,i,j,k}} } \right)}\eta } \right)}} \right)}\eta } \hfill} \\ {{} \hfill} & {{ = {\left( {\Omega _{1} - \omega _{i} } \right)}{\left( {\Omega _{2} - \omega _{j} } \right)}{\left( {\sigma _{{1,i,j + 1,k + 1}} - \sigma _{{1,i,j,k + 1}} - \sigma _{{1,i,j + 1,k}} + \sigma _{{1,i,j,k}} } \right)}\eta ^{2} } \hfill} \\ {{} \hfill} & {{ + {\left[ {{\left( {\Omega _{2} - \omega _{j} } \right)}{\left( {\sigma _{{2,i,j,k + 1}} - \sigma _{{2,i,j,k}} } \right)} + {\left( {\Omega _{1} - \omega _{i} } \right)}{\left( {\sigma _{{1,i,j,k + 1}} - \sigma _{{1,i,j,k}} } \right)}} \right]}\eta + \sigma _{{3,i,j,k}} } \hfill} \\ \end{array} $$

The two above expressions for \( {\left( {\partial U/\partial \Omega _{3} } \right)} \) are equivalent as

$$ \begin{aligned} & {\left( {U_{{i + 1,j + 1,k + 1}} - U_{{i,j + 1,k + 1}} } \right)}\eta - {\left( {U_{{i + 1,j,k + 1}} - U_{{i,j,k + 1}} } \right)}\eta - {\left( {U_{{i + 1,j + 1,k}} - U_{{i,j + 1,k}} } \right)}\eta + {\left( {U_{{i + 1,j,k}} - U_{{i,j,k}} } \right)}\eta \\ & = {\left( {\sigma _{{1,i,j + 1,k + 1}} - \sigma _{{1,i,j,k + 1}} - \sigma _{{1,i,j + 1,k}} + \sigma _{{1,i,j,k}} } \right)} \\ \end{aligned} $$

and

$$ \begin{aligned} & {\left( {U_{{i + 1,j + 1,k + 1}} - U_{{i + 1,j,k + 1}} } \right)}\eta - {\left( {U_{{i,j + 1,k + 1}} - U_{{i,j,k + 1}} } \right)}\eta - {\left( {U_{{i + 1,j + 1,k}} - U_{{i + 1,j,k}} } \right)}\eta + {\left( {U_{{i,j + 1,k}} - U_{{i,j,k}} } \right)}\eta \\ & = {\left( {\sigma _{{2,i + 1,j,k + 1}} - \sigma _{{2,i,j,k + 1}} - \sigma _{{2,i + 1,j,k}} + \sigma _{{2,i,j,k}} } \right)} \\ \end{aligned} $$

and it is clear that the last two expressions are identical when stated in terms of U.

Permutation of the indices gives values for \( {\left( {\partial U/\partial \Omega _{1} } \right)} \) and \( {\left( {\partial U/\partial \Omega _{2} } \right)} \)

$$ \begin{aligned} & \frac{{\partial U}} {{\partial \Omega _{1} }} \quad = {\left( {\Omega _{2} - \omega _{j} } \right)}{\left( {\Omega _{3} - \omega _{k} } \right)}{\left( {\sigma _{{2,i + 1,j,k + 1}} - \sigma _{{2,i + 1,j,k}} - \sigma _{{2,i,j,k + 1}} + \sigma _{{2,i,j,k}} } \right)}\eta ^{2} \\ & \quad + {\left[ {{\left( {\Omega _{2} - \omega _{j} } \right)}{\left( {\sigma _{{2,i + 1,j,k}} - \sigma _{{2,i,j,k}} } \right)} + {\left( {\Omega _{3} - \omega _{k} } \right)}{\left( {\sigma _{{3,i + 1,j,k}} - \sigma _{{3,i,j,k}} } \right)}} \right]}\eta + \sigma _{{1,i,j,k}} \\ \end{aligned} $$
$$ \begin{aligned} & \frac{{\partial U}} {{\partial \Omega _{2} }} \quad = {\left( {\Omega _{1} - \omega _{i} } \right)}{\left( {\Omega _{3} - \omega _{k} } \right)}{\left( {\sigma _{{3,i + 1,j + 1,k}} - \sigma _{{3,i,j + 1,k}} - \sigma _{{3,i + 1,j,k}} + \sigma _{{3,i,j,k}} } \right)}\eta ^{2} \\ & \quad + {\left[ {{\left( {\Omega _{1} - \omega _{i} } \right)}{\left( {\sigma _{{1,i,j + 1,k}} - \sigma _{{1,i,j,k}} } \right)} + {\left( {\Omega _{3} - \omega _{k} } \right)}{\left( {\sigma _{{3,i,j + 1,k}} - \sigma _{{3,i,j,k}} } \right)}} \right]}\eta + \sigma _{{2,i,j,k}} \\ \end{aligned} $$

Three of the six faces of the cubic solid bounded by points (ω i j k ) and (ωi+1j+1k+1) can each be associated with a parameter αa,i,j,k, which is analogous to the parameter αi,j defined for the two-dimensional case above. That is,

$$ \alpha _{{1,i,j,k}} \equiv {\left( {\sigma _{{2,i,j,k + 1}} - \sigma _{{2,i,j,k}} } \right)} = {\left( {\sigma _{{3,i,j + 1,k}} - \sigma _{{3,i,j,k}} } \right)} = {\left( {U_{{i,j + 1,k + 1}} - U_{{i,j,k + 1}} - U_{{i,j + 1,k}} + U_{{i,j,k}} } \right)}\eta $$
$$ \alpha _{{2,i,j,k}} \equiv {\left( {\sigma _{{1,i,j,k + 1}} - \sigma _{{1,i,j,k}} } \right)} = {\left( {\sigma _{{3,i + 1,j,k}} - \sigma _{{3,i,j,k}} } \right)} = {\left( {U_{{i + 1,j,k + 1}} - U_{{i,j,k + 1}} - U_{{i + 1,j,k}} + U_{{i,j,k}} } \right)}\eta $$
$$ \alpha _{{3,i,j,k}} \equiv {\left( {\sigma _{{1,i,j + 1,k}} - \sigma _{{1,i,j,k}} } \right)} = {\left( {\sigma _{{2,i + 1,j,k}} - \sigma _{{2,i,j,k}} } \right)} = {\left( {U_{{i + 1,j + 1,k}} - U_{{i,j + 1,k}} - U_{{i + 1,j,k}} + U_{{i,j,k}} } \right)}\eta $$

Another parameter βi,j,k can be defined by extending the definition of αa,i,j,k to include, for example, α1,i+1,j,k , which is associated with a cubic solid adjacent to the one being considered. βi,j,k can be expressed in many different ways, some of which may be more computationally convenient:

$$ \begin{aligned} & \beta _{{i,j,k}} \quad = \sigma _{{3,i + 1,j + 1,k}} - \sigma _{{3,i,j + 1,k}} - \sigma _{{3,i + 1,j,k}} + \sigma _{{3,i,j,k}} = \alpha _{{2,i,j + 1,k}} - \alpha _{{2,i,j,k}} = \alpha _{{1,i + 1,j,k}} - \alpha _{{1,i,j,k}} \\ & \quad = \sigma _{{2,i + 1,j,k + 1}} - \sigma _{{2,i,j,k + 1}} - \sigma _{{2,i + 1,j,k}} + \sigma _{{2,i,j,k}} = \alpha _{{3,i,j,k + 1}} - \alpha _{{3,i,j,k}} = \alpha _{{1,i + 1,j,k}} - \alpha _{{1,i,j,k}} \\ & \quad = \sigma _{{1,i,j + 1,k + 1}} - \sigma _{{1,i,j + 1,k}} - \sigma _{{1,i,j,k + 1}} + \sigma _{{1,i,j,k}} = \alpha _{{2,i,j + 1,k}} - \alpha _{{2,i,j,k}} = \alpha _{{3,i,j,k + 1}} - \alpha _{{3,i,j,k}} \\ & \quad = {\left( {U_{{i + 1,j + 1,k + 1}} - U_{{i,j + 1,k + 1}} } \right)} - {\left( {U_{{i + 1,j + 1,k}} - U_{{i,j + 1,k}} } \right)} - {\left( {U_{{i + 1,j,k + 1}} - U_{{i,j,k + 1}} } \right)} + {\left( {U_{{i + 1,j,k}} - U_{{i,j,k}} } \right)} \\ & \quad = {\left( {U_{{i + 1,j + 1,k + 1}} - U_{{i,j + 1,k + 1}} } \right)} - {\left( {U_{{i + 1,j + 1,k}} - U_{{i,j + 1,k}} } \right)} - \alpha _{{2,i,j,k}} \\ & \quad = U_{{i + 1,j + 1,k + 1}} - U_{{i,j + 1,k + 1}} - U_{{i + 1,j,k + 1}} - U_{{i + 1,j + 1,k}} + U_{{i + 1,j,k}} + U_{{i,j + 1,k}} + U_{{i,j,k + 1}} - U_{{i,j,k}} \\ \end{aligned} $$

Then, the components of the gradient at coordinates (Ω1, Ω2, Ω3) can be simply expressed as

$$ \frac{{\partial U}} {{\partial \Omega _{1} }} = {\left( {\Omega _{2} - \omega _{j} } \right)}{\left( {\Omega _{3} - \omega _{k} } \right)}\beta _{{i,j,k}} \eta ^{2} + {\left[ {{\left( {\Omega _{2} - \omega _{j} } \right)}\alpha _{{3,i,j,k}} + {\left( {\Omega _{3} - \omega _{k} } \right)}\alpha _{{2,i,j,k}} } \right]}\eta + \sigma _{{1,i,j,k}} $$
$$ \frac{{\partial U}} {{\partial \Omega _{2} }} = {\left( {\Omega _{1} - \omega _{i} } \right)}{\left( {\Omega _{3} - \omega _{k} } \right)}\beta _{{i,j,k}} \eta ^{2} + {\left[ {{\left( {\Omega _{1} - \omega _{i} } \right)}\alpha _{{3,i,j,k}} + {\left( {\Omega _{3} - \omega _{k} } \right)}\alpha _{{1,i,j,k}} } \right]}\eta + \sigma _{{2,i,j,k}} $$
$$ \frac{{\partial U}} {{\partial \Omega _{3} }} = {\left( {\Omega _{1} - \omega _{i} } \right)}{\left( {\Omega _{2} - \omega _{j} } \right)}\beta _{{i,j,k}} \eta ^{2} + {\left[ {{\left( {\Omega _{2} - \omega _{j} } \right)}\alpha _{{1,i,j,k}} + {\left( {\Omega _{1} - \omega _{i} } \right)}\alpha _{{2,i,j,k}} } \right]}\eta + \sigma _{{3,i,j,k}} $$

Rights and permissions

Reprints and permissions

About this article

Cite this article

York, W.S., Yi, X. CONDORR—CONstrained Dynamics of Rigid Residues: a molecular dynamics program for constrained molecules. J Mol Model 10, 271–289 (2004). https://doi.org/10.1007/s00894-004-0193-x

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00894-004-0193-x

Keywords

Navigation