DYNAMO NMR Molecular Structure Engine
Creating New Residue Types


Introduction

DYNAMO residue type parameters are located in a series of parameter directories defined by the environment variable DYNAMO_PARAMS. DYNAMO provides for three general classes of residues, with parameters in these default locations:


   dynamo/params/protein   Amino Acids
   dynamo/params/dna_rna   Nucleic Acids
   dynamo/params/other     Other Molecules

A given residue is defined by a TCL procedure in one of the above directories. The TCL procedure defines the atoms, bonds, angles, and torsions that describe the residue.

The master list of all the residues is stored in a table which defines the naming details of each residue, and the name of the TCL procedure which creates that residue:


   dynamo/params/params.tab

So, in order to create a new DYNAMO residue, there are two basic steps:

  1. Create a TCL procedure to define the new residue, and place it in the appropriate parameter directory (protein dna_rna or other).
  2. Edit the "params.tab" file to include an entry for the new residue.

TCL Residue Definition

As an example of how residues are defined in DYNAMO, consider the TCL procedure "add_ala" which defines an alanine residue, in the file "params/protein/ala":

proc add_ala { seg resID } \
{
   add_Atom $seg ALA $resID C    12.0 0.0903 3.2072   0.48 -0.471  0.723 -1.504
   add_Atom $seg ALA $resID CA   12.0 0.0903 3.2072   0.22 -0.376  0.324 -0.028
   add_Atom $seg ALA $resID CB   12.0 0.0903 3.2072  -0.30  0.908  0.867  0.597
   add_Atom $seg ALA $resID HA    1.0 0.0045 2.6157   0.10 -1.225  0.735  0.499
   add_Atom $seg ALA $resID HB1   1.0 0.0045 2.6157   0.10  1.720  0.809 -0.116
   add_Atom $seg ALA $resID HB2   1.0 0.0045 2.6157   0.10  1.157  0.278  1.467
   add_Atom $seg ALA $resID HB3   1.0 0.0045 2.6157   0.10  0.763  1.895  0.893
   add_Atom $seg ALA $resID HN    1.0 0.0498 1.4254   0.26  0.391 -0.265  1.965
   add_Atom $seg ALA $resID N    14.0 0.1592 2.7618  -0.10 -0.397 -1.128  0.109
   add_Atom $seg ALA $resID O    16.0 0.2342 2.6406  -0.48 -0.877 -0.080 -2.345

   add_Bond_Intrares $seg ALA $resID C    O     1.231 1000.000
   add_Bond_Intrares $seg ALA $resID CA   C     1.525 1000.000
   add_Bond_Intrares $seg ALA $resID CA   CB    1.521 1000.000
   add_Bond_Intrares $seg ALA $resID CA   HA    1.080 1000.000
   add_Bond_Intrares $seg ALA $resID CB   HB1   1.080 1000.000
   add_Bond_Intrares $seg ALA $resID CB   HB2   1.080 1000.000
   add_Bond_Intrares $seg ALA $resID CB   HB3   1.080 1000.000
   add_Bond_Intrares $seg ALA $resID N    CA    1.458 1000.000
   add_Bond_Intrares $seg ALA $resID N    HN     0.98 1000.000

   add_Angle_Intrares $seg ALA $resID CA   C    O    120.800 500.000
   add_Angle_Intrares $seg ALA $resID CA   CB   HB1  109.500 500.000
   add_Angle_Intrares $seg ALA $resID CA   CB   HB2  109.500 500.000
   add_Angle_Intrares $seg ALA $resID CA   CB   HB3  109.500 500.000
   add_Angle_Intrares $seg ALA $resID CB   CA   C    110.500 500.000
   add_Angle_Intrares $seg ALA $resID HA   CA   C    109.500 500.000
   add_Angle_Intrares $seg ALA $resID HA   CA   CB   109.500 500.000
   add_Angle_Intrares $seg ALA $resID HB1  CB   HB2  109.500 500.000
   add_Angle_Intrares $seg ALA $resID HB1  CB   HB3  109.500 500.000
   add_Angle_Intrares $seg ALA $resID HB2  CB   HB3  109.500 500.000
   add_Angle_Intrares $seg ALA $resID HN   N    CA   120.000 500.000
   add_Angle_Intrares $seg ALA $resID N    CA   C    111.200 500.000
   add_Angle_Intrares $seg ALA $resID N    CA   CB   110.400 500.000
   add_Angle_Intrares $seg ALA $resID N    CA   HA   109.500 500.000

   add_Improper_Intrares $seg ALA $resID HA   N    C    CB    65.977 500.000
   add_Improper_Intrares $seg ALA $resID HB1  HB2  CA   HB3  -66.514 500.000
}

The first section is a series of calls to add_Atom, which defines each atom in turn, supplying its segment name, residue name, residue number, atom name, standard mass, Lennard-Jones epsilon and sigma parameters, electric charge, and optional initial coordinates. (Note: the electric charge is not currently used by the DYNAMO 2.1 energy function).

The second section defines all the covalent bonds. Each one is defined by the segment name, residue name, residue number, and the two atom names that are to be connected, together with the equilibrium distance (in Angstroms) and the bond's force constant (in kcal/mol-A^2).

The third section defines all the bond angle constraints. It works just like the bond length section, but three atom names are given, the equilibrium value is in degrees, and the force constant is in kcal/mol-radian^2.

The fourth section defines the improper torsion angle constraints. Impropers are torsion angles used to maintain chirality or planarity. They are defined just like the bond angles, except that four atom names are given.

Commonly, the TCL procedure will be created by copying a related existing one, and adjusting it manually. Alternatively, there is a crude script "pdb2dyn.tcl" which attempts to generate an initial TCL procedure based on a residue in an existing PDB file, and this can also be manually adjusted.

Adding the New Residue to the Master Table

In order for DYNAMO to be able to use the TCL procedure for a new residue, it must be listed in the master parameter table:


   dynamo/params/params.tab

The parameter table contains a header and comments to assist in adding new residue entries. In the case of alanine, the table contains this line with five items:


 ala protein add_ala ALA ala

The information about each residue is:

  1. Name to put on the graphical interface button.
  2. Residue type (must be "protein", "DNA", "RNA", or "other").
  3. Unique name of TCL procedure that can generate one of this residue type.
  4. Residue name that will be used in the PDB file.
  5. DYNAMO's unique internal residue name used during GMC creation.

Once the TCL residue procedure is created, and a suitable entry for the residue is inserted into the parameter table, DYNAMO will be able to create instances of that residue via "gmcEdit".