Minimize Structure

Minimize Structure energy-minimizes molecule models, optionally holding some atoms fixed. Minimization routines are provided by MMTK, which is included with Chimera. Amber parameters are used for standard residues, and Amber's Antechamber module (also included with Chimera) is used to assign parameters to nonstandard residues.

Minimize Structure is in development and has several limitations. It is intended for cleaning up small molecule structures and improving localized interactions within larger systems. It may not be able to resolve large-scale distortions or widespread structural problems. By definition, energy-minimization simply moves the system toward a local minimimum without crossing energy barriers, and does not search for the global minimum.

There are several ways to start Minimize Structure, a tool in the Structure Editing category. It is also implemented as the command minimize.

Models to minimize can be chosen from the list with the left mouse button. Ctrl-click toggles the status of an individual model. To choose a block of models without dragging, click on the first (or last) and then Shift-click on the last (or first) in the desired block. All chosen models are treated as a single system for energy calculations; other models are ignored. Within the chosen models, all atoms are included in energy calculations, regardless of whether they are held fixed. (However, parts of models can be excluded from energy calculations using the minimize command with fragment true.)

Steepest descent minimization is performed first to relieve highly unfavorable clashes, followed by conjugate gradient minimization, which is much slower but more effective at reaching an energy minimum after severe clashes have been relieved.

Clicking Minimize dismisses the dialog (unless the option to Keep dialog up after Minimize is checked) and may call Dock Prep to perform several tasks to prepare the system for energy calculations. In turn, Dock Prep may call additional tools: It is sometimes useful to run Dock Prep independent of Minimize Structure beforehand, then skip all tasks when it reappears after Minimize is clicked: Close dismisses the Minimize Structure dialog. Help opens this manual page in a browser window.

Force Field Parameters

Different procedures are used to assign parameters to standard residues, monatomic ions, and nonstandard residues.

Standard residues include water, standard amino acids, standard nucleic acids, and a few common variants and capping groups.

  1. Add Charge recognizes standard residues based on their atom and residue names and assigns Amber residue names.
  2. Add Charge assigns Amber ff99 atomic partial charges (details).
  3. Minimize Structure uses the Amber residue names to associate standard residues with Amber ff99 parameters other than charges.
Monatomic ions are assigned user-specified net charges and Amber ff99 VDW parameters. Only the ions in ff99 are handled: Na+, K+, Rb+, Cs+, Mg2+, Ca2+, Zn2+, and Cl.

Nonstandard residues are all residues not recognized as standard residues or monatomic ions.

  1. Add Charge uses Amber's Antechamber module (included with Chimera) to assign GAFF types and calculate atomic partial charges within each nonstandard residue. It is necessary to specify the formal charge of each nonstandard residue and which charge calculation method should be used. Publications involving Antechamber use should cite:
    Automatic atom type and bond type perception in molecular mechanical calculations. Wang J, Wang W, Kollman PA, Case DA. J Mol Graph Model. 2006 Oct;25(2):247-60.
    Note that Antechamber/GAFF are meant to handle most small organic molecules, but not metal complexes, inorganic compounds, or unstable species such as radicals, and may not work well on highly charged molecules.

  2. Minimize Structure uses the GAFF types to associate nonstandard residues with parameters other than charges. The GAFF atom types and associated parameters are described online and in:
    Development and testing of a general amber force field. Wang J, Wolf RM, Caldwell JW, Kollman PA, Case DA. J Comput Chem. 2004 Jul 15;25(9):1157-74.

User-Specified Partial Charges

For nonstandard residues, arbitrary partial charges (such as obtained from the literature or parameter databases) can be specified. To do so:

  1. run Dock Prep independent of Minimize Structure to perform any necessary tasks including charge addition (thus running Add Charge)
  2. reassign the charge attribute of the atoms to the desired values (using Define Attribute, defattr, or setattr)
  3. run Minimize Structure and turn off all options in the ensuing Dock Prep dialog, as the necessary tasks have already been performed
This procedure will not work for atoms in standard residues, because Minimize Structure will always associate those atoms with the standard parameters, including charges.

Limitations

No choice of force field. The only force fields in MMTK suitable for biomolecular simulations are Amber ff94 and ff99. Minimize Structure uses ff99 for standard residues and GAFF for nonstandard residues.

Lack of access to many settings. There is no way to specify several MMTK settings, including force field options such as distance cutoffs. MMTK defaults are used. Evaluating all pairwise nonbonded interactions regardless of interatomic distance makes the calculation relatively slow.

Limited ability to use arbitrary parameters. It is difficult to change or add parameters. For nonstandard residues only, arbitrary partial charges can be specified. Parameters other than charge of standard residues and monatomic ions can be adjusted by editing lib/python*/site-packages/MMTK/ForceFields/Amber/amber_parm99 within the Chimera installation, where * is a python version number. To add a new element (one that is not already handled), it is also necessary to create a file for that element in the MMTK atom database within the Chimera installation. For example, to add Li+ (which is already in the amber_parm99 file), it is necessary to create the file lib/python*/site-packages/MMTK/Database/Atoms/li containing the following:

name = 'lithium'
symbol = 'Li'
mass = 6.941
Again, * in the pathname above should be replaced with the appropriate python version number.


UCSF Computer Graphics Laboratory / November 2011