Back to Mover page.

DistanceConstraintGenerator overview

Generates constraints to attempt to enforce a distance between residues. Constraints are generated by default for all pairs of residues (r1, r2), where r1 is a residue selected by residue_selector1 and r2 is a residue selected by residue_selector2. The atoms to be constrained can be user-specified via xml.

The functions to be used for these constraints are user-configurable. By default, harmonic functions are used. See the constraint documentation for more information about functions.

Selection of multiple residues

It is possible for each residue selector to select multiple residues. If this occurs, Ambiguous constraints will be generated for each (r1, r2) pair, where r1 is selected by residue_selector1 and r2 is selected by residue_selector2. The result is that only the constraints from the best-scoring residue pair will be used.

If you want to constrain multiple distances simulataneously, you should use a seperate DistanceConstraintGenerator for each.

Caveats

To have effect, the atom_pair_constraint scoreterm must be turned on in the scorefunction.

Definition

<DistanceConstraintGenerator name=(&string)
    residue_selector1=(&string TrueSelector)
    residue_selector2=(&string TrueSelector)
    atom_name1=(&string "")
    atom_name2=(&string "")
    function=(&string "HARMONIC 11.0 1.0") />
  • residue_selector1 - If given, the residues r1 (see above) will come from the subset of residues selected by residue_selector1. This should probably always be given to avoid huge numbers of constraints being generated.
  • residue_selector2 - If given, the residues r2 (see above) will come from the subset of residues selected by residue_selector2. This should probably always be given to avoid huge numbers of constraints being generated.
  • atom_name1 - (default: nbr_atom()) Allows specification of that atom name which will be used for the constraints. Every residue in the subset selected by residue_selector1 should have an atom with this name.
  • atom_name2 - (default: nbr_atom()) Allows specification of that atom name which will be used for the constraints. Every residue in the subset selected by residue_selector2 should have an atom with this name.
  • function -- Function to be used for atom pair constraints. By default, "HARMONIC 11.0 1.0" is used, which will attempt to ensure that the distance between a pair of constrained atoms is 11.0 A. This should be set based on the needs of the protocol.

Example

This example creates constraints to enforce a distance of 8.0 with flat-bottom harmonic function, with flat-bottom width of 1.0 ((8-0.5)-(8+0.5)) and a standard deviation of 1.0 angstroms. Constraints will be generated for all residues in "H1" to the C-terminus (residue 99). Only the best-scoring constraint will be included in the scores.

<SCOREFXNS>
    <ScoreFunction name="sfxn_beta" weights="beta_nov16_cst">
        <Reweight scoretype="atom_pair_constraint" weight="1.0" />
    </ScoreFunction>
</SCOREFXNS>
<RESIDUE_SELECTORS>
    <Index name="H1" resnums="2-20" />
    <Index name="cterm" resnums="99" />
</RESIDUE_SELECTORS>
<MOVERS>
    <AddConstraints name="add_csts" >
        <DistanceConstraintGenerator name="gen_my_csts"
            residue_selector1="H1"
            residue_selector2="cterm"
            function="FLAT_HARMONIC 8.0 1.0 0.5" />
    </AddConstraints>
    <RemoveConstraints name="rm_csts" constraint_generators="gen_my_csts" />
</MOVERS>
<PROTOCOLS>
    <Add mover="add_csts" />
    <!-- do things with constraints -->
    <Add mover="rm_csts" />
</PROTOCOLS>

See Also