Back to Mover page.

AtomPairConstraintGenerator

Autogenerated Tag Syntax Documentation:


Generates atom pair constraints between specified residues

References and author information for the AtomPairConstraintGenerator constraint generator:

AtomPairConstraintGenerator ConstraintGenerator's author(s): Thomas W. Linsky, Neoleukin Therapeutics tlinsky@gmail.com

<AtomPairConstraintGenerator name="(&string;)" native="(false &bool;)"
        sd="(&real;)" weight="(&real;)" ca_only="(&bool;)"
        use_harmonic="(false &bool;)" unweighted="(false &bool;)"
        max_distance="(&real;)" min_seq_sep="(&non_negative_integer;)"
        residue_selector="(&string;)" secondary_selector="(&string;)" />
  • native: Restrain to native distance?
  • sd: Standard deviation for distance constraint
  • weight: Weight of distance constraint
  • ca_only: Only make constraints between alpha carbons
  • use_harmonic: If true, use harmonic function instead of SOG function
  • unweighted: If true, SCALARWEIGHTEDFUNC is not added to the constraint definition
  • max_distance: Do not add constraints if atoms are farther apart than this
  • min_seq_sep: Minimum sequence separation between constrained residues
  • residue_selector: Selector specifying residues to be constrained. When not provided, all residues are selected. The name of a previously declared residue selector or a logical expression of AND, NOT (!), OR, parentheses, and the names of previously declared residue selectors. Any capitalization of AND, NOT, and OR is accepted. An exclamation mark can be used instead of NOT. Boolean operators have their traditional priorities: NOT then AND then OR. For example, if selectors s1, s2, and s3 have been declared, you could write: 's1 or s2 and not s3' which would select a particular residue if that residue were selected by s1 or if it were selected by s2 but not by s3.
  • secondary_selector: With a secondary selector, constraints are generated between the residues of primary selector vs. secondary selector. min_seq_seq does not apply here, but max_distance does. The name of a previously declared residue selector or a logical expression of AND, NOT (!), OR, parentheses, and the names of previously declared residue selectors. Any capitalization of AND, NOT, and OR is accepted. An exclamation mark can be used instead of NOT. Boolean operators have their traditional priorities: NOT then AND then OR. For example, if selectors s1, s2, and s3 have been declared, you could write: 's1 or s2 and not s3' which would select a particular residue if that residue were selected by s1 or if it were selected by s2 but not by s3.

Generates atom pair distance constraints to restrain pairs of atoms in the pose based on their distance. Constraints can be generated according to the state of the pose at apply time, or optionally, based on a separate native pose.

By default, the distance between the CA atoms and the first sidechain atom in each residue pair are constrained via a harmonic function, where score = w * ( x - x0 ) / sd, where w is the "weight" option, "x0" is the distance in the native/reference pose, "x" is the current distance, and "sd" is the "sd" option. Optionally, this can be changed by the harmonic function.

If ca_only=False, the neighbor atoms are constrained instead.

Remember that to have effect, the atom_pair_constraint scoreterm must be on in the scorefunction.

Example 1

This example adds and removes distance constraints to sheet residues only, and uses the pose specified by -in:file:native to obtain the coordinates.

<RESIDUE_SELECTORS>
    <SecondaryStructure name="sheet" ss="E" use_dssp="1" />
</RESIDUE_SELECTORS>
<MOVERS>
    <AddConstraints name="add_csts" >
        <AtomPairConstraintGenerator name="gen_my_csts"
            residue_selector="sheet" native="1" />
    </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>

Example 2

<RESIDUE_SELECTORS>
    <SecondaryStructure name="sheet" ss="E" use_dssp="1" />
    <SecondaryStructure name="alpha" ss="H" use_dssp="1" />
</RESIDUE_SELECTORS>
<MOVERS>
    <AddConstraints name="add_csts" >
        <AtomPairConstraintGenerator name="gen_my_csts"
            residue_selector="sheet" secondary_selector="alpha" native="1" />
    </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>

In this case, constraints will be generated between the alpha helix and the beta strand residues, but no constraint will be generated between different alpha residues or between two beta strand residues.

See Also