More precisely, the command first flags violated selected atoms. An atom is violated if it is part of a violated restraint. A restraint of physical group (Table 2.4) is violated when its relative deviation from the optimal value is larger than specified in VIOL_REPORT_CUT[i]. For restraints that are based on probability density functions, relative violation is defined as the difference between the actual and the ideal values divided by the standard deviation (`relative heavy violation'); energy based restraints have ad hoc definition of violations (Table 2.2).
The command then flags those selected atoms that are within the PICK_HOT_CUTOFF angstroms of any of the already flagged atoms.
Next, if SELECTION_MODE is 'RESIDUE', all atoms in the residues that have at least one atom flagged are also flagged. In addition, the contiguous segments of flagged residues are extended for EXTEND_HOT_SPOT residues on either side.
This command is usually followed by the PICK_RESTRAINTS and OPTIMIZE commands to select all the restraints that operate on selected (hot) atoms and optimize positions of these hot atoms.
In addition to the keywords above, all the keywords for the ENERGY command also apply here.
# Example for: PICK_HOT_ATOMS # This will pick atoms violated by some restraints (bond length restraints here), # select restraints operating on violated atoms, and calculate the energy for # the selected restraints only (note that a list of violated restraints # can be obtained by the ENERGY command alone, without preceding it with # PICK_HOT_ATOMS). READ_TOPOLOGY FILE = '$(LIB)/top_heav.lib' READ_PARAMETERS FILE = '$(LIB)/par.lib' # Read the sequence, calculate its topology and coordinates: READ_MODEL FILE = '1fas' SEQUENCE_TO_ALI ATOM_FILES = '1fas', ALIGN_CODES = '1fas' SEQUENCE_TO_ALI ADD_SEQUENCE = on, ATOM_FILES = ATOM_FILES '1fas.ini', ; ALIGN_CODES = ALIGN_CODES '1fas-ini' GENERATE_TOPOLOGY SEQUENCE = '1fas-ini' TRANSFER_XYZ # Just to get some violations: RANDOMIZE_XYZ DEVIATION = 0.03 # Create the bond length restraints and ignore the hard sphere overlap: MAKE_RESTRAINTS RESTRAINT_TYPE = 'bond', DYNAMIC_SPHERE = off # Pick hot atoms and the corresponding violated and neighbouring restraints: PICK_HOT_ATOMS PICK_RESTRAINTS ADD_RESTRAINTS = off # Calculate the energy of the selected restraints and write them out in detail: ENERGY OUTPUT = 'VERY_LONG'