Customizing Torsional Controls for Docking Planar and Other Groups

The mechanism for controlling rotations about amide bonds in earlier Glide releases has been generalized to allow control of any class of torsions—for example, around ester linkages. The torsions and the type of control applied are defined in a resource file, torcontrol.txt, which is included in the glide-vversion/data directory of the installation. You can override the default definitions by copying this file to the glide directory in your Schrödinger user resources directory, or to your working directory, and editing the file to provide your own definitions. The file has a summary of the syntax at the top.

Each torsion control is defined by a keyword for the control type, a unique name, a SMARTS pattern, and four atom numbers to define the torsion, then values that depend on the control type. These must all be on the same line, separated by spaces. The control type syntax is:

free        name smarts atoms
freezeinput name smarts atoms
freeze      name smarts atoms angle
force       name smarts atoms angle tolerance
penalize    name smarts atoms angle multiplicity penalty barrier exponent

The various fields in the torsion control are described in Table 1.

Table 1. Description of fields in the definition of a torsion control

Field

Description

keyword

Case-insensitive control type. Allowed values:

free

do not constrain the torsion

freezeinput

freeze the torsion at its input value

freeze

freeze the torsion at the specified angle

force

reject poses for which the torsion does not lie within the given tolerance of the specified angle.

penalize penalize torsions during scoring that do not adopt the given angle, using a periodic penalty function with a global minimum (zero penalty) and other penalized minima.

name

Name of the torsion (case-sensitive). Must be unique within the file, and cannot contain spaces.

smarts

SMARTS pattern that defines the torsion.

atoms

Indexes of the four atoms in the SMARTS pattern that define the torsion.

angle

Value of the angle (in degrees) to which the torsion is frozen or forced, or at which the penalty is at its minimum (zero).

tolerance

Tolerance for the angle to which the torsion is forced, in degrees. The tolerance defines the range of acceptable angles.

multiplicity

Number of maxima (or minima) in the torsional potential. Must be 1, 2, 3, 4, or 6. If the number is 4 or 6, the potential is assumed to have two global minima separated by 180°, with higher energies for the other minima.

penalty

Penalty value for torsions at the nonglobal minima.

barrier

Maximum value of the torsional potential, which is the barrier between the global minimum and the next minimum.

exponent

Power to which the torsional potential function is raised (while maintaining the barrier heights. Useful for flattening the potential around the minima. A value of 2 is recommended to enable some flexibility around the minima.

The order in which the torsions are included in the file matters: the last torsion that is matched is the one that is used. This means that you should put the more general SMARTS patterns first, followed by the more specific patterns. You can even include torsions around double bonds, as the torsion patterns are matched to determine the bonds to be restricted before determining the rotatable bonds.

When looking for matches to a pattern in a molecule, it is possible to find multiple matches—for example, the pattern CN(=O)cc to constrain the CNcc dihedral angle for an aromatic amide matches a molecule that has a benzene ring attached to the amide in two ways, and therefore the penalty could be applied in two different ways. In such cases, the “favored” orientation is chosen to be the one that is closest to the input dihedral angle from the molecule.

The freeze and freezeinput controls on the torsions are only applied during docking: they make the bond non-rotatable. However, post-docking minimization can change these frozen torsions. The force and penalize controls are applied after post-docking minimization.

An example of a torsion control is given below, for an ester.

penalize  ester  O=C(-O[#6])  1 2 3 4   0.0  2  4.0  9.0  2.0

If a penalty is applied, the name of the torsion control and the penalty value are added as bond properties (s_glide_torcontrol_name, r_glide_torcontrol_penalty) to the output structure.