Deformable elastic network (DEN) refinement is a refinement protocol that uses a sparse restraint network to maintain local model geometry while allowing for larger global domain motions over the course of several macrocycles of slow-cooling simulated annealing.
The DEN restraint network is a set of atom-atom distance restraints between atoms 3 to 5 Angstrom apart and within 0 and 10 residues in sequence space. The initial target values for these distance restraints may be set to corresponding distances in a reference model (such as a higher resolution structure or homology model) or to the distances in the input model. Over the course of a simulated annealing cycle, the target distances are frequently updated to allow for improved global fit to the diffraction data. DEN restraints have been shown to be particularly useful in improving models with low resolution data.
DEN was originally described by Brunger and colleagues in:
Schroder GF, Levitt M, and Brunger AT. (2010) Super-resolution biomolecular crystallography with low-resolution data. Nature 464(7292), 1218-22.
The impact of the DEN restraint network is controlled by two variable parameters, gamma, which controls the deformability of the network, and the weight, which controls how large of a contribution the DEN restraints make to the overall refinement energy term (see the above reference for details). To get the most out of a DEN refinement, it is important to run a grid search over combinations of gamma and weight values. This process is very time intensive, and is best carried out on a machine with many processors.
The default behavior is to optimize with six gamma values [0.0, 0.2, 0.4, 0.6, 0.8, 1.0] and five weights [3.0, 10.0, 30.0, 100.0, 300.0], which will run most optimally on a machine with at least 30 processor cores. The number of processors used by Phenix is controlled by the main.nproc parameter, so setting main.nproc=30 will run the optimization step on 30 processors.
How to run the command line version:
% phenix.den_refine model.pdb data.mtz
To include a reference model, run:
% phenix.den_refine model.pdb data.mtz den.reference_file=reference.pdb
See the full list of options below.
There is also a DEN refinement GUI for those who prefer a graphical interface.
phenix.den_refine uses a modified version of the default phenix.refine parameters optimized for DEN refinement.
The DEN-specific subset of refinement parameters:
refinement { main { nproc = Auto } refine { strategy = *individual_sites rigid_body *individual_adp \ group_adp tls occupancies group_anomalous *den } den { reference_file = None gamma = 0.5 kappa = 0.1 weight = 30 sigma = 0.44 optimize = True opt_gamma_values = 0 0.2 0.4 0.6 0.8 1 opt_weight_values = 3 10 30 100 300 num_cycles = 10 kappa_burn_in_cycles = 2 bulk_solvent_and_scale = True refine_adp = True final_refinement_cycle = False verbose = False annealing_type = *torsion cartesian output_kinemage = False restraint_network { lower_distance_cutoff = 3 upper_distance_cutoff = 15 sequence_separation_low = 0 sequence_separation_limit = 10 exclude_hydrogens = True ndistance_ratio = 1 export_den_pairs = False den_network_file = None } } tardy { mode = *every_macro_cycle second_and_before_last once first first_half start_temperature_kelvin = 3300 final_temperature_kelvin = 300 number_of_cooling_steps = 1440 number_of_time_steps = 1 time_step_pico_seconds = 0.001 prolsq_repulsion_function_changes { c_rep = 100 k_rep = 1 } } simulated_annealing { start_temperature = 3300 final_temperature = 300 cool_rate = 50 number_of_steps = 24 time_step = 0.001 } }