In Cartesian coordinate molecular dynamics calculations, the degrees of freedom are uncoupled, and Newton's equations of motion can be solved independently for each degree of freedom, :
Here, the mass of particle , , is used for that particle's three degrees of freedom, is the acceleration, and is the force. In internal coordinates, similar equations of motion can be written for systems with a tree-topology:
Here, is the -length vector of internal coordinates, is the -length vector of nonlinear forces and is the -length vector of generalize forces, or torques in the case of dihedral-angle degrees of freedom. In internal coordinates, the degrees of freedom are not uncoupled. The mass matrix, , has off-diagonal elements and has a nonlinear dependence on , so the equations cannot be solved independently for each degree of freedom, as is done for the Cartesian degrees of freedom in Equation (). The accelerations can be determined by solving the matrix equation in Equation (), as was done for the Lagrange equations of motion by Mazur et al.. The computational cost of these matrix equations is proportional to , so they are prohibitive for large molecules. Recently, however, Jain et al., have developed a recursive algorithm for solving the equations of motion which does not require explicit calculation of the mass matrix, , or direct solution of the matrix equation . The method uses spatial operator algebra in a recursive approach which is computationally proportional to . This linear dependence on opens up a new class of molecular systems to study by internal-coordinate molecular dynamics.
The details of the recursive spatial operator equations for solving the equations of motion can be found in Reference . The methodology has been developed for general multibody systems configured as serial chains, topological trees, or closed-loop systems. The implementation for molecular systems reported here has not yet been extended to closed-loop topologies, so only the serial chain and tree topology will be discussed here. The NEIMO method uses the concepts of ``clusters'' and ``hinges'' to describe a mechanical system. A cluster is a body which moves as a unit; in a molecule, this could be a single atom, a multiple-atom group such as a methylene group, a phenyl ring, or even an entire domain of a protein. A ``hinge'' describes the relative orientation between two connected clusters; in a molecular system, the hinges correspond to the bonds connecting adjacent clusters. There are six possible degrees of freedom for each hinge, including such modes as bond stretching, ball and socket rotation, and torsional rotational. Our interest is primarily in the torsional degrees of freedom, so each hinge in our molecular implementation is limited to a single torsional degree of freedom. The one exception per molecule is the ``base'' cluster, which is connected to the reference coordinate system by a hinge with the full six degrees of freedom, thereby enabling each molecule to be oriented correctly in space.
The relationship between adjacent clusters is described in terms of ``parents'' and ``children.'' The base cluster can have one or more child clusters; it is the parent cluster of each of these children. Each of these clusters, in turn, may have one or more children, branching outward from the base. In a topological tree, outward branching can continue with each cluster having zero, one, or more children, but each child having only one parent cluster. Clusters at the far extent of each branch are termed ``tips'' and have no children. In a serial chain, such as a linear polymer, there is a single tip cluster; between the base and tip clusters, each cluster has a unique parent and unique child. In a protein system, most of the C atoms are branch points with two children, and the outermost cluster of every sidechain (other than alanine and glycine, which have no sidechain clusters) is a tip. These concepts are visualized in Figure , where the pentapeptide Met-enkephalin is shown with the hinges numbered. This numbering system is not equivalent to the numbering used in Reference , but is used here to facilitate analysis of the dihedral angles. Hinge 0, which connects the base cluster to the reference frame, is not shown. The clusters can be assigned the same number as the hinge connecting it to its parent cluster and are listed that way in Table . In addition, the torsional degree of freedom for each hinge, other than hinge 0, can be defined to correspond to a specific dihedral angle. These dihedrals are also listed in Table , using the standardize nomenclature for protein dihedrals.
The NEIMO method uses spatial operator algebra to formulate the equations of motion in terms of relationships between parent and child clusters, and to solve the equations during several recursions from the base cluster to the tips, and the tips to the base. These Newton-Euler recursive equations of motion are described in detail in Reference , but can be summarized as:
Currently, we use a ``leapfrog'' Verlet algorithm to integrate the equations of motion, using the accelerations determined by the recursive spatial operator equations. The Verlet algorithm is a very successful and popular method in Cartesian-space dynamics, but may be less suitable for NEIMO dynamics because it calculates accelerations and velocities at alternating half-timesteps. In NEIMO dynamics, accelerations are not independent of velocities, so the half-timestep separation of accelerations and velocities must be modified. This can be done by iteratively solving for the velocities at integer timesteps. Fortunately, this iteration is very fast in practice. A major advantage of the Verlet algorithm is that it requires only a single calculation of the forces at each timestep. In simulations of large systems, the force calculation consumes the vast majority of computational time, so methods which require only a single force calculation are preferable to methods which require two or more force calculations per timestep, such as the Gear predictor-corrector algorithm. Currently, other integration schemes are being investigated for use in NEIMO dynamics, but all results presented here use the leapfrog Verlet algorithm. Details of this integration method are given in Appendix .
The NEIMO calculations presented here were performed using a version of the program written to work with the BIOGRAF/POLYGRAF program from Molecular Simulations, Inc. All calculations were performed on Iris PowerSeries and Iris Indigo workstations from Silicon Graphics, Inc.