phenix.dynamics: simple model perturbation
This program performs very crude molecular dynamics on a model, usually for
the purpose of removing any bias in R-free due to previous refinement against
a different test set. It is not suitable for generating physically realistic
trajectories, due to the lack of attractive forces such as electrostatics,
and lengthy runs will result in the model falling apart. However, it is very
effective for de-biasing while maintaining approximately correct geometry, and
is also very fast (unlike simulated annealing in phenix.refine).
The inputs for the program are very similar to those for
phenix.geometry_minimization; the only
required files are a model and any necessary restraints (CIF) files for
non-standard ligands. By default the dynamics is run at approximately room
temperature; higher temperatures will result in faster movement. Note however
that unlike simulated annealing, the model will tend to unfold rapidly at
high temperatures.
Alternatives and complementary programs
- Simulated annealing has some advantages due to the ability to
simultaneously de-bias and optimize the model against the data, which
prevents the structure from unfolding at high temperatures. The
main disadvantage is the much longer runtime.
- phenix.pdbtools can be used to reset B-factors, or
shake coordiantes without geometry restraints. The latter is redundant
if dynamics is run, but setting the B-factors to suitably low starting
values (approximately 10 for most resolutions) will help remove bias.
- Both of the above steps can also be run at the start of phenix.refine; click the "Modify start model" button in the GUI
to access options.
- To perturb structures for use as molecular replacement models, there is
a separate program providing an interface to the normal modes method in
Phaser (also available in the GUI under "Model tools"). This does a
better job conserving local structure.
List of all available keywords
- silent = False
- write_geo_file = True
- file_name = None
- show_states = False
- restraints = None
- restraints_directory = None
- output_file_name_prefix = None
- directory = None
- job_title = None Job title in PHENIX GUI, not used on command line
- fix_rotamer_outliers = True Remove outliers
- allow_allowed_rotamers = True More strict fixing outliers
- stop_for_unknowns = True
- dynamics_type = *cartesian
- stop_at_diff = None stop after reaching specified cutoff value
- pdb_interpretation
- sort_atoms = True
- flip_symmetric_amino_acids = True
- superpose_ideal_ligand = *None all SF4 F3S DVT
- disable_uc_volume_vs_n_atoms_check = False
- allow_polymer_cross_special_position = False
- correct_hydrogens = True
- c_beta_restraints = True
- use_neutron_distances = False Use neutron X-H distances (which are longer than X-ray ones)
- disulfide_bond_exclusions_selection_string = None
- exclusion_distance_cutoff = 3 If SG of CYS forming SS bond is closer than this distance to an atom that it may coordinate then this SG is excluded from SS bond.
- link_distance_cutoff = 3 Length of link between the linked residues
- disulfide_distance_cutoff = 3
- add_angle_and_dihedral_restraints_for_disulfides = True
- dihedral_function_type = *determined_by_sign_of_periodicity all_sinusoidal all_harmonic
- chir_volume_esd = 0.2
- max_reasonable_bond_distance = 50.0
- nonbonded_distance_cutoff = None
- default_vdw_distance = 1
- min_vdw_distance = 1
- nonbonded_buffer = 1 **EXPERIMENTAL, developers only**
- nonbonded_weight = None Weighting of nonbonded restraints term. By default, this will be set to 16 if explicit hydrogens are used (this was the default in earlier versions of Phenix), or 100 if hydrogens are missing.
- const_shrink_donor_acceptor = 0.6 **EXPERIMENTAL, developers only**
- vdw_1_4_factor = 0.8
- min_distance_sym_equiv = 0.5
- custom_nonbonded_symmetry_exclusions = None
- translate_cns_dna_rna_residue_names = None
- proceed_with_excessive_length_bonds = False
- restraints_library
- cdl = True Use Conformation Dependent Library (CDL) for geometry restraints
- mcl = True Use Metal Coordination Library (MCL) for tetrahedral Zn++ and iron-sulfur clusters SF4, FES, F3S, ...
- cis_pro_eh99 = False
- omega_cdl = False Use Omega Conformation Dependent Library (omega-CDL) for geometry restraints
- cdl_svl = False
- rdl = False
- rdl_selection = *all TRP
- hpdl = False
- secondary_structure
- ss_by_chain = True Find secondary structure only within individual chains. Alternative is to allow H-bonds between chains. Can be much slower with ss_by_chain=False. If your model is complete use ss_by_chain=True. If your model is many fragments, use ss_by_chain=False.
- from_ca_conservative = False various parameters changed to make from_ca method more conservative, hopefully to closer resemble ksdssp.
- max_rmsd = 1 Maximum rmsd to consider two chains with identical sequences as the same for ss identification
- use_representative_chains = True Use a representative of all chains with the same sequence. Alternative is to examine each chain individually. Can be much slower with use_representative_of_chain=False if there are many symmetry copies. Ignored unless ss_by_chain is True.
- max_representative_chains = 100 Maximum number of representative chains
- enabled = False Turn on secondary structure restraints (main switch)
- protein
- enabled = True Turn on secondary structure restraints for protein
- search_method = *ksdssp mmtbx_dssp from_ca cablam Particular method to search protein secondary structure.
- distance_ideal_n_o = 2.9 Target length for N-O hydrogen bond
- distance_cut_n_o = 3.5 Hydrogen bond with length exceeding this value will not be established
- remove_outliers = True If true, h-bonds exceeding distance_cut_n_o length will not be established
- restrain_hbond_angles = True
- helix
- serial_number = None
- helix_identifier = None
- enabled = True Restrain this particular helix
- selection = None
- helix_type = *alpha pi 3_10 unknown Type of helix, defaults to alpha. Only alpha, pi, and 3_10 helices are used for hydrogen-bond restraints.
- sigma = 0.05
- slack = 0
- top_out = False
- angle_sigma_scale = 1 Multiply sigmas for h-bond angles by this value. Original sigmas range from 5 to 10.
- angle_sigma_set = None Use this parameter to set sigmas for h-bond angles to a particular value
- hbond
- donor = None
- acceptor = None
- sheet
- enabled = True Restrain this particular sheet
- first_strand = None
- sheet_id = None
- sigma = 0.05
- slack = 0
- top_out = False
- angle_sigma_scale = 1 Multiply sigmas for h-bond angles by this value. Original sigmas range from 5 to 10.
- angle_sigma_set = None Use this parameter to set sigmas for h-bond angles to a particular value
- strand
- selection = None
- sense = parallel antiparallel *unknown
- bond_start_current = None
- bond_start_previous = None
- hbond
- donor = None
- acceptor = None
- nucleic_acid
- enabled = True Turn on secondary structure restraints for nucleic acids
- hbond_distance_cutoff = 3.4 Hydrogen bonds with length exceeding this limit will not be established
- angle_between_bond_and_nucleobase_cutoff = 35.0 If angle between supposed hydrogen bond and basepair plane (defined by C4, C5, C6 atoms) is less than this value (in degrees), the bond will not be established.
- scale_bonds_sigma = 1. All sigmas for h-bond length will be multiplied by this number. The smaller number is tighter restraints.
- base_pair
- enabled = True Restraint this particular base-pair
- base1 = None Selection string selecting at least one atom in the desired residue
- base2 = None Selection string selecting at least one atom in the desired residue
- saenger_class = 0 Type of base-pairing
- restrain_planarity = False Apply planarity restraint to this base-pair
- planarity_sigma = 0.176
- restrain_hbonds = True Restrain hydrogen bonds length for this base-pair
- restrain_hb_angles = True Restrain angles around hydrogen bonds for this base-pair
- restrain_parallelity = True Apply parallelity restraint to this base-pair
- parallelity_target = 0
- parallelity_sigma = 0.0335
- stacking_pair
- enabled = True Restraint this particular base-pair
- base1 = None Selection string selecting at least one atom in the desired residue
- base2 = None Selection string selecting at least one atom in the desired residue
- angle = 0
- sigma = 0.027
- reference_coordinate_restraintsRestrains coordinates in Cartesian space to stay near their starting positions. This is intended for use in generating simulated annealing omit maps, to prevent refined atoms from collapsing in on the region missing atoms. For conserving geometry quality at low resolution, the more flexible reference model restraints should be used instead.
- enabled = False
- exclude_outliers = True
- selection = all
- sigma = 0.2
- limit = 1.0
- top_out = False
- automatic_linking
- link_all = False If True, bond restraints will be generated for any appropriate ligand-protein or ligand-nucleic acid covalent bonds. This includes sugars, amino acid modifications, and other prosthetic groups.
- link_none = False
- link_metals = Auto
- link_residues = False
- link_amino_acid_rna_dna = False
- link_carbohydrates = True
- link_ligands = True
- link_small_molecules = False
- metal_coordination_cutoff = 3.5
- amino_acid_bond_cutoff = 1.9
- inter_residue_bond_cutoff = 2.2
- buffer_for_second_row_elements = 0.5
- carbohydrate_bond_cutoff = 1.99
- ligand_bond_cutoff = 1.99
- small_molecule_bond_cutoff = 1.98
- include_in_automatic_linking
- selection_1 = None
- selection_2 = None
- bond_cutoff = 4.5
- exclude_from_automatic_linking
- selection_1 = None
- selection_2 = None
- apply_cis_trans_specification
- cis_trans_mod = cis *trans
- residue_selection = None Residues containing C-alpha atom of omega dihedral
- apply_cif_restraints
- restraints_file_name = None
- residue_selection = None
- apply_cif_modification
- data_mod = None
- residue_selection = None
- apply_cif_link
- data_link = None
- residue_selection_1 = None
- residue_selection_2 = None
- peptide_link
- ramachandran_restraints = False !!! OBSOLETED. Kept for backward compatibility only !!! Restrains peptide backbone to fall within allowed regions of Ramachandran plot. Although it does not eliminate outliers, it can significantly improve the percent favored and percent outliers at low resolution. Probably not useful (and maybe even harmful) at resolutions much higher than 3.5A.
- cis_threshold = 45
- apply_all_trans = False
- discard_omega = False
- discard_psi_phi = True
- apply_peptide_plane = False
- omega_esd_override_value = None
- rama_weight = 1.0
- scale_allowed = 1.0
- rama_potential = *oldfield emsley
- rama_selection = None Selection of part of the model for which Ramachandran restraints will be set up.
- restrain_rama_outliers = True Apply restraints to Ramachandran outliers
- restrain_rama_allowed = True Apply restraints to residues in allowed region on Ramachandran plot
- restrain_allowed_outliers_with_emsley = False In case of restrain_rama_outliers=True and/or restrain_rama_allowed=True still restrain these residues with emsley. Make sense only in case of using oldfield potential.
- oldfield
- esd = 10.0
- weight_scale = 1.0
- dist_weight_max = 10.0
- weight = None
- plot_cutoff = 0.027
- ramachandran_plot_restraints
- enabled = False
- favored = *oldfield emsley emsley8k phi_psi_2
- allowed = *oldfield emsley emsley8k phi_psi_2
- outlier = *oldfield emsley emsley8k phi_psi_2
- selection = None Selection of part of the model for which Ramachandran restraints will be set up.
- inject_emsley8k_into_oldfield_favored = True Backdoor to disable temporary dirty hack to use both
- oldfield
- weight = 0. Direct weight value. If 0 the weight will be calculated as following: (w, op.esd, op.dist_weight_max, 2.0, op.weight_scale) 1 / esd^2 * max(2.0, min(current_distance_to_allowed, dist_weight_max)) * weight_scale max(2.0, current_distance_to_allowed) 1 / esd^2 * weight_scale * max(distance_to_allowed_cutoff, current_distance_to_allowed) weight_scale(=0.01) * max(distance_weight_min(=2.), min(distance_weight_max(=10.), current_distance_to_allowed))
- weight_scale = 0.01
- distance_weight_min = 2.0 minimum coefficient when scaling depending on how far the residue is from allowed region.
- distance_weight_max = 10.0 maximum coefficient when scaling depending on how far the residue is from allowed region.
- plot_cutoff = 0.027
- emsley
- weight = 1.0
- scale_allowed = 1.0
- emsley8k
- weight_favored = 5.0
- weight_allowed = 10.0
- weight_outlier = 10.0
- phi_psi_2
- favored_strategy = *closest highest_probability random weighted_random
- allowed_strategy = *closest highest_probability random weighted_random
- outlier_strategy = *closest highest_probability random weighted_random
- rna_sugar_pucker_analysis
- bond_min_distance = 1.2
- bond_max_distance = 1.8
- epsilon_range_min = 155.0
- epsilon_range_max = 310.0
- delta_range_2p_min = 129.0
- delta_range_2p_max = 162.0
- delta_range_3p_min = 65.0
- delta_range_3p_max = 104.0
- p_distance_c1p_outbound_line_2p_max = 2.9
- o3p_distance_c1p_outbound_line_2p_max = 2.4
- bond_detection_distance_tolerance = 0.5
- show_histogram_slots
- bond_lengths = 5
- nonbonded_interaction_distances = 5
- bond_angle_deviations_from_ideal = 5
- dihedral_angle_deviations_from_ideal = 5
- chiral_volume_deviations_from_ideal = 5
- show_max_items
- not_linked = 5
- bond_restraints_sorted_by_residual = 5
- nonbonded_interactions_sorted_by_model_distance = 5
- bond_angle_restraints_sorted_by_residual = 5
- dihedral_angle_restraints_sorted_by_residual = 3
- chirality_restraints_sorted_by_residual = 3
- planarity_restraints_sorted_by_residual = 3
- residues_with_excluded_nonbonded_symmetry_interactions = 12
- fatal_problem_max_lines = 10
- ncs_groupThe definition of one NCS group. Note, that almost always in refinement programs they will be checked and filtered if needed.
- reference = None Residue selection string for the complete master NCS copy
- selection = None Residue selection string for each NCS copy location in ASU
- ncs_searchSet of parameters for NCS search procedure. Some of them also used for filtering user-supplied ncs_group.
- enabled = False Enable NCS restraints or constraints in refinement (in some cases may be switched on inside refinement program).
- exclude_selection = "element H or element D or water" Atoms selected by this selection will be excluded from the model before any NCS search and/or filtering procedures. There is no way atoms defined by this selection will be in NCS.
- chain_similarity_threshold = 0.85 Threshold for sequence similarity between matching chains.
A smaller value may cause more chains to be grouped together and can lower
the number of common residues
- chain_max_rmsd = 2. limit of rms difference between chains to be considered
as copies
- residue_match_radius = 4.0 Maximum allowed distance difference between pairs of matching atoms of two residues
- try_shortcuts = False Try very quick check to speed up the search when chains are identical. If failed, regular search will be performed automatically.
- minimum_number_of_atoms_in_copy = 3 Do not create ncs groups where master and copies would contain less than specified amount of atoms
- clash_guard
- nonbonded_distance_threshold = 0.5
- max_number_of_distances_below_threshold = 100
- max_fraction_of_distances_below_threshold = 0.1
- geometry_restraints
- edits
- excessive_bond_distance_limit = 10
- bond
- action = *add delete change
- atom_selection_1 = None
- atom_selection_2 = None
- symmetry_operation = None The bond is between atom_1 and symmetry_operation * atom_2, with atom_1 and atom_2 given in fractional coordinates. Example: symmetry_operation = -x-1,-y,z
- distance_ideal = None
- sigma = None
- slack = None
- limit = -1.0
- top_out = False
- angle
- action = *add delete change
- atom_selection_1 = None
- atom_selection_2 = None
- atom_selection_3 = None
- angle_ideal = None
- sigma = None
- dihedral
- action = *add delete change
- atom_selection_1 = None
- atom_selection_2 = None
- atom_selection_3 = None
- atom_selection_4 = None
- angle_ideal = None
- alt_angle_ideals = None
- sigma = None
- periodicity = 1
- planarity
- action = *add delete change
- atom_selection = None
- sigma = None
- parallelity
- action = *add delete change
- atom_selection_1 = None
- atom_selection_2 = None
- sigma = 0.027
- target_angle_deg = 0
- remove
- angles = None
- dihedrals = None
- chiralities = None
- planarities = None
- parallelities = None
- reference_model
- enabled = False Restrains the dihedral angles to a high-resolution reference structure to reduce overfitting at low resolution. You will need to specify a reference PDB file (in the input list in the main window) to use this option.
- file = None
- use_starting_model_as_reference = False
- sigma = 1.0
- limit = 15.0
- hydrogens = False
- main_chain = True
- side_chain = True
- fix_outliers = True
- strict_rotamer_matching = False
- auto_shutoff_for_ncs = False
- secondary_structure_only = False
- reference_group
- reference = None
- selection = None
- file_name = None this is to used internally to disambiguate cases where multiple reference models contain the same chain ID. This normally does not need to be set by the user
- search_optionsSet of parameters for NCS search procedure. Some of them also used for filtering user-supplied ncs_group.
- exclude_selection = "element H or element D or water" Atoms selected by this selection will be excluded from the model before any NCS search and/or filtering procedures. There is no way atoms defined by this selection will be in NCS.
- chain_similarity_threshold = 0.85 Threshold for sequence similarity between matching chains.
A smaller value may cause more chains to be grouped together and can lower
the number of common residues
- chain_max_rmsd = 100. limit of rms difference between chains to be considered
as copies
- residue_match_radius = 1000 Maximum allowed distance difference between pairs of matching atoms of two residues
- try_shortcuts = False Try very quick check to speed up the search when chains are identical. If failed, regular search will be performed automatically.
- minimum_number_of_atoms_in_copy = 3 Do not create ncs groups where master and copies would contain less than specified amount of atoms
- cartesian_dynamics
- temperature = 300
- number_of_steps = 200
- time_step = 0.0005
- initial_velocities_zero_fraction = 0
- n_print = 100
- verbose = -1
- random_seed = None
- n_collect = 10
- stop_cm_motion = True