Fixing register errors in a model with fix_insertions_deletions
Author(s)
- fix_insertions_deletions: Tom Terwilliger
Purpose
The routine fix_insertions_deletions is a tool for fixing register errors
in a model by comparing the density at side-chain positions to a
sequence file.
Usage
Normally you will access the functionality of fix_insertions_deletions
by running the Phenix map_to_model tool in the Phenix GUI.
However you can run it directly as well (there is no GUI for
fix_insertions_deletions).
How fix_insertions_deletions works:
The fix_insertions_deletions tool examines the density in the supplied map
at the position of each side chain in the supplied model and creates a table
of side-chain probabilities corresponding to each segment in the model.
These side-chain probabilities are used to generate a map-based sequence for
the model and map. This map-based sequence is then compared to the actual
sequence to identify positions where the sequence register is likely to
be incorrect, and what changes in register are needed to fix it.
Each place a register shift is needed is used as a target for main-chain
rebuilding. During rebuilding the specified insertion or deletion is
enforced so that only models with the desired changes are obtained (if
possible).
Additional rebuilding of the worst-fitting regions is also carried out.
Using fix_insertions_deletions:
The tool fix_insertions_deletions is usually run automatically as part of
trace_and_build. However you can run it yourself to try and fix up a model.
Input map file: The map file should cover the model you supply.
Resolution: Specify the resolution of your map (usually the
resolution defined by your half-dataset Fourier shell correlation
Model: Supply a model that you want to fix. Only the main-chain will matter.
Sequence: Supply a sequence file that covers at least the part of the
model that is supplied
Examples
Standard run of fix_insertions_deletions:
You can use fix_insertions_deletions to fix register shifts in
a model based on a cryo-EM map:
phenix.fix_insertions_deletions my_map.mrc resolution=3 my_model.pdb seq.dat
Possible Problems
Specific limitations and problems:
Literature
Additional information
List of all available keywords
- job_title = None Job title in PHENIX GUI, not used on command line
- input_files
- map_file = None File with CCP4-style map. May have origin in any location.
- model_file = None Input PDB file with chains to be adjusted.
- seq_file = None Optional sequence file
- placement_pickle_file = None Read placements from this file
- output_files
- pdb_out = fix_insertions_deletions.pdb Output rebuilt model
- output_placement_pickle_file = None Write placements to this file
- temp_dir = None Temporary directory. Default is fix_insertions_deletions_xx where xx creates new directory
- crystal_info
- resolution = None High-resolution limit for map analysis.
- scattering_table = n_gaussian wk1995 it1992 *electron neutron Choice of scattering table for structure factor calculations. Standard for X-ray is n_gaussian, for cryoEM is electron.
- chain_type = *PROTEIN Chain type. Must be PROTEIN
- solvent_content = None Solvent fraction of the cell. If this is density cut out from a bigger cell, you can specify the fraction of the volume of this cell that is taken up by the macromolecule. Normally set automatically. Values go from 0 to 1.
- solvent_content_iterations = 3 Iterations of solvent fraction estimation
- use_mask_if_present = True If map is masked, use the mask as solvent content
- sequence = None Sequences
- origin_cart = None Origin (cartesian coordinates, overrides value based on map)
- strategy
- first_cycle_for_fixing = 1 First macro-cycle where insertions/deletions should be tested
- loop_method = *trace_chain *extend_only Method for loop building. None means try everything. trace_chain is finding CA positions to trace chai. Extend-only is using resolve model-building to build loop.
- rebuilding
- fix_insertions_deletions = True Fix insertions and deletions using sequence_from_map to adjust alignment to match sequence that is supplied.
- fix_insertions_deletions_only = None Only fix clear insertions and deletions (default if quick=True)
- take_all_insertions_deletions = None Accept insertions/deletions without scoring (default quick is True)
- ratio_for_sequence_register = 1.0 Accept fixes for insertions/deletions if score is above ratio_for_sequence_register times previous score
- try_as_is = None Try rebuilding without insertions/deletions
- try_insertions = None Try insertions
- try_deletions = None Try deletions
- refine = None Refine models at start of procedure. Default is True unless quick is set.
- refine_cycles = 1 Refinement cycles (except final cycles)
- final_refine_cycles = 5 Cycles of refinement for final model
- good_enough_cc = None If all residues have this CC, don't bother rebuilding them. Default is 0.7 (0.6 if quick=True)
- rebuild_length_worst = 7 Longest rebuild length to try
- max_insert_or_delete = 1 Maximum residues to insert or delete in on rebuild stage
- average_rebuild_length = True Choose rebuild length as average of minimum and optimal if optimal is longer than rebuild_length_worst. Alternative is use minimum if optimal is too long.
- time_per_residue = 1 How long to try in fitting loops (sec/residue)
- max_rebuild_cycles = None Maximum rebuilding cycles per macro cycle. Default is 20 (1 if quick is set and sequence is present)
- macro_cycles = None Macro cycles of rebuilding and refinement. Default is 4 (1 if quick is set)
- start_rebuild = None Starting residue to rebuild. If specified, this is all that is done
- end_rebuild = None Ending residue to rebuild. If specified, this is all that is done
- rebuild_segment = 1 Segment to rebuild from start_rebuild to end_rebuild. None means rebuild all segments from start_rebuild to end_rebuild.
- minimum_contact_distance = 3 Minimum distance between CA atoms not immediately connected
- split_with_sequence = False Use assign_sequence to identify sequence register errors. Runs replace_side_chains with reassign_sequence=true and assign_sequence with iterative_assignment=true.
- first_cycle_for_split = 2 First macro-cycle where splitting should be tested
- split_input_model = True Input model will be split into segments
- weights
- weight_vdw = 10 weight on very close CA-CA contacts
- weight_ca_ca_dist = 1. weight on CA-CA distance
- weight_proximity_to_known_position = 0.5 weight on proximity to well-identified CA position
- weight_density = 1.0 weight on density at mid-points between CA atoms
- weight_cc_mask_score = 1.0 Weight on map correlation in evaluating chain direction
- weight_seq_score = 1.0 Weight on sequence-map matchin evaluating chain direction
- weight_x_gly_score = 1.0 Weight on excess Gly and X residues in evaluating chain direction
- sequencing
- random_sequences = 100 Number of random sequences of each length to use as baseline
- positive_gap_penalty = 1 Penalty for missing residues is positive_gap_penalty * gap**2
- negative_gap_penalty = 2 Gap penalty for extra residues is negative_gap_penalty * gap**2
- max_gap_length = 2 Maximum gap length for adjacent alignments
- minimum_alignment_length = 5 Minimum length of an alignment
- trace_chain
- helices_strands_cc_min = 0.5 Minimum map CC for helices/strands
- n_random_frag = 100
- control
- multiprocessing = *multiprocessing sge lsf pbs condor pbspro slurm Choices are multiprocessing (single machine) or queuing systems
- queue_run_command = None run command for queue jobs. For example qsub.
- nproc = 1 Number of processors to use
- random_seed = 171731 Random seed
- verbose = False Verbose output
- quick = True Quick run
- superquick = False Very quick run
- max_dirs = 1000 Maximum number of directories (fix_insertions_deletions_xxxx)
- resolve_size = None Size of resolve to use.
- coarse_grid = None Use a coarse grid in RESOLVE (saves on memory)
- em_side_density = None Use EM side chain density
- guiGUI-specific parameter required for output directory