Docking a model into a cryo-EM map with dock_in_map
Author(s)
- dock_in_map: Tom Terwilliger
Purpose
The routine dock_in_map will automatically dock a model or models into a map.
Usage
How dock_in_map works:
Dock-in-map uses a convolution-based shape search to find a part of a map
that is similar to the model. The key elements of the search are:
Initial search at lower resolution that focuses on overall shape of the
molecule. This allows a quick search but is less effective if the
map contains more than one molecule
Initial search without rotation. This allows a fast search that can place
a molecule that is just shifted by a translation
Optional initial search based on matching moments of inertia of model and map.
This is also a fast search but requires an accurate map that looks a lot
like the model and does not have extra density.
Full search at the full resolution of the map. This search can be run on
multiple processors to speed it up.
Uses
You can use dock_in_map to place any number of copies of any number of unique
molecules. You specify the molecules one by one:
search_model=model1.pdb
search_model=model2.pdb
search_model=model3.pdb
and the number of copies all at once with:
search_model_copies="3 1 2"
to look for 3 copies of model1.pdb, one of model2.pdb and two of model3.pdb.
You can also use dock_in_map to superimpose density from one map on another
map. You just specify the second map with the density:
search_map_file=map_file.ccp4
and dock_in_map will find the density in this map, convert it to a pseudo-model
that corresponds to this density, and then search for the pseudo-model just as
any other model. When dock_in_map is done finding the pseudo-model, it applies
the transformation that it found to the original density in your search_map_file
to create a new map that superimposes on the target map.
Examples
Standard run of dock_in_map:
Running dock_in_map is easy. From the command-line you can type:
phenix.dock_in_map 1ss8_A.pdb emd_8750.map resolution=4 nproc=4 \
pdb_out=placed_model_from_emd_8750.pdb
where 1ss8_A.pdb is the model you would like to place,
emd_8750.map is a CCP4, mrc or other related map format, and you
specify the nominal resolution of the map and the number of processors to use.
For docking density into a map:
- phenix.dock_in_map emd_8750.map density.ccp4 resolution=4
- superposed_map_file=density_superposed.ccp4
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.
- seq_file = None Optional sequence file
- search_model = None Input PDB file(s) to be placed in the map.
- search_map_file = None Search map file with CCP4-style map to be superimposed on the reference map. Map will be converted to a pseudo-model that corresponds to density in map. At completion of dock_in_map the search map file will be transformed to match the target map and written out.
- search_model_copies = None You can specify how many copies for each search model by supplying one value of search_model_copies for each of your search models. Put them in all at once as in search_model_copies="1,3,2".
- search_map_copies = None You can specify how many copies for each search map by supplying one value of search_map_copies for each of your search models. Put them all in at once as in search_map_copies="3,4,5"
- fixed_model = None Fixed model marking region not to be considered. Fixed model will be added to placed search model to create new final model
- symmetry_file = None Symmetry file (.ncs_spec format or MATRX records) with reconstruction symmetry. Used in identification of unique part of map. Required if allow_symmetry is set and more than one copy is requested.
- output_files
- pdb_out = placed_model.pdb Search PDB file, transformed to superpose on the target map file.
- superposed_map_file = superposed_map.ccp4 Search map file (if just one), transformed to superpose on the target map file.
- skip_fixed_model_in_pdb_out = True Skip fixed model in output PDB file. Just write the new part.
- crystal_info
- resolution = None High-resolution limit for main search. This can be lower resolution than the data. The search is quicker at lower resolution. .short_caption = High-resolution limit
- 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.
- sequence = None Sequence as text string. Normally supply a sequence file instead
- wrapping = None You can specify whether the map is wrapped (can map values outside bounds to inside with cell translations).
- search
- low_res_search = True Try to fit by searching at low resolution first
- resolution_radius_scale = 0.5 Resolution for low-res search will be resolution_radius_scale times the radius of gyration of the search model.
- align_moments = False Try to fit by aligning moments of inertia if size of density region and molecule are similar
- max_radius_ratio = 2. Radius of gyration of molecule and density must be within max_radius_ratio of each other
- radius_scale = 1.5 Mask for density and atoms will be radius_scale times the radius of gyration of model
- use_symmetry = True If search_model_copies or search_map_copies are the same for each model and greater than one and allow_symmetry is set, use symmetry in the map to place all copies after the first one.
- skip_if_low_cc = True Skip solution before rigid-body refinement if map-model CC is less than half of cc_min.
- rigid_body_refinement = True Run rigid-body refinement on final model
- rigid_body_refinement_single_unit = True Run rigid-body refinement with just one unit (do not break up into chains)
- rigid_body_refinement_resolution = None Run rigid-body refinement at this resolution if specified
- append_to_fixed_model = True Append input model to fixed model (if any) after search
- min_cc = 0.4 If quick run, stop if minimum CC is achieved in local search. Also always skip if starting CC_mask is less than 1/2 min_cc.
- run_in_boxes = True Run on sub-boxes and combine at the end
- target_boxes = None Try to get this many boxes. Default is same as nproc.
- box_to_run = None Run only this box
- box_overlap_scale = 1 box overlap (overlap of boxes) will be box_overlap_scale times the density radius
- edge_ratio = 10 box edge box_overlap times edge_ratio
- density_radius = None Radius for density to be cut out and compared. Default is 6 times the resolution.
- model_radius = 3 Radius for removing density near fixed_model
- zero_value = 0 Value to set map in regions overlapping fixed model
- density_peaks = 20 Number of NCS-related peaks of density to check
- delta_phi = 20 Angular spacing of search
- max_rot = None Maximum rotations to try
- rotz_only = None Rotate only around Z
- single_positions_to_try = 10 Number of offset positions to try in optimizing orientation. Positions along the chain are selected as centers and a local fit near each position is carried out. The resulting offsets relative to the original placement are used to optimize the overall orientation and position.
- max_position_shift_frac = 0.05 Maximum fractional positional shift in single_positions run
- min_relative_cc = 0.67 Minimum local CC relative to original CC to keep a local search. This is a way to reject local searches that are completely wrong.
- sieve_fit = None Use sieve_fit fraction of single positions in fitting. If None, use all
- ncs_copies_max = None Maximum number of matching models to write. If more than one they will be written as MODEL records in the output PDB file. You can get them individually afterwards with phenix.pdbtools placed_model.pdb keep="model 1" etc.
- start_rot = None Three numbers rotx, rotz, rotx defining the starting rotation of the search model. Normally used along with delta_phi=1000 or max_rot=1 to generate exactly one defined rotation.
- search_center = None Optional coordinates in search model for centering search. Note this is different from target_search_center which is the location xyz in the map to look.
- search_center_selection = None Optional selection defining coordinates in search model for centering search.
- target_search_center = None Optional coordinates in reference map where search_center should be approximately located after superimposing maps. Used to eliminate possible superpositions that place the search center elsewhere. Overlap scores decreased based on distance to target_search_center/density_radius.
- rot_id_n = None Number of rotation groups. Along with rot_id_group, allows defining groups of rotations to be carried out in one run. .short_caption = Number of rotation groups
- rot_id_group = None rotation group to include. See rot_id_n.
- map_box = True Run map_box to extract useful part of map before search
- fix_search_position = False You can choose to not move your model center of mass to the origin by fixing the search position
- search_box_size = None You can choose the size of the search box for local searches. Normally set by default corresponding to 3 times density_radius
- lower_bounds = None You can select a part of your map for analysis with lower_bounds and upper_bounds.
- upper_bounds = None You can select a part of your map for analysis with lower_bounds and upper_bounds.
- keep_search_order = None Keep search order as input
- remove_water = False Remove waters and other hetero atoms from input files
- control
- nproc = 1 Number of processors to use
- random_seed = 171731 Random seed
- verbose = False Verbose output
- quick = True Try translation search first and stop if CC is at least min_cc
- guiGUI-specific parameter required for output directory