Contents
cryo_fit2 is under active development.
Therefore, please consider to use cryo_fit1 instead (especially for RNA modeling).
This tutorial will show you how to fit biomolecule atomic structures into cryo-EM maps using dynamics simulation with PHENIX commandline
<initial_model>, <target_map> and <map resolution>
The <initial_model> is a guide or template structure (.cif/mmCIF/.pdb) that is close to a <target_map> (.ccp4/.map) structurally.
A user can use map_to_model to build the atomic model.
A user can use either dock_in_map or UCSF chimera (Tools->Volume Data->Fit in Map) to roughly place the model into a map.
At command line:
% phenix.cryo_fit2 <initial_model> <target_map> <map resolution in Angstrom>
For example:
% phenix.cryo_fit2 model.pdb map.ccp4 3.5
Tutorial command:
% Go to <user phenix>/modules/cryo_fit2/tutorial % source run_me.sh % (run_me.sh is phenix.cryo_fit2 input/tutorial_cryo_fit2_model.pdb input/tutorial_cryo_fit2_map.ccp4 resolution=4)
- sigma_for_auto_geom
- (default value = 0.05). The lower this value, the stronger the custom made secondary structure restraints will be. Oleg once recommended 0.021 which is the sigma value for covalent bond. According to a small benchmark with a RNA molecule (e.g. L1 stalk), 0.05 best preserves the number of base-pairs.
- slack_for_auto_geom
- (default value = 0). As Doo Nam understands /modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py, default value is 0. Indeed, Oleg confirmed that slack should be always 0 for proper geometry restraints. (~Sep, 2019). However, 3.5 Angstrom is a usual width with Go-model. Therefore, Doo Nam may need to try 1.7 slack to allow more flexible equilibrium.
If a user specified geometry file is small, then simply copy/modify <user phenix>/modules/cryo_fit2/tutorial/eff_file_template/user_custom_geom.eff as you wish.
If a user specified geometry file is large, then run:
% phenix.cryo_fit2 <initial_model> <target_map> <map resolution in Angstrom> <write_custom_geom_only=True> <sigma> <slack>For example:
% phenix.cryo_fit2 model.pdb map.ccp4 3.5 write_custom_geom_only=True 0.04 0.2Sigma and slack are optional (if a user didn't specify these, cryo_fit2 will use default values). Then, automatically generated geometry file should be generated at the same folder. Modify it for a user's need.
Once a user generated an eff file (by any method), then provide it to cryo_fit2 like:
% phenix.cryo_fit2 <initial_model> <target_map> <map resolution in Angstrom> <eff file>
For example:
% phenix.cryo_fit2 model.pdb map.ccp4 3.5 user_custom_geom.eff
A final cryo_fitted structure: output/cryo_fit2_fitted.pdb
Structures of intermediate steps that can be animated with pymol play button: output/all_states.pdb
Open this pdb file with pymol, then click play button (triangle at right bottom) plays the movie.
(below difference is observed with MacPymol ver. 2.2.2)
If a user dragged all_states.pdb into pymol after opening it, the biomolecule structure looks simplified and movie playing is fast.
If a user dragged all_states.pdb into pymol icon, pymol opens along with all_states.pdb, the biomolecule structure is more detailed, and movie playing is slow.
In pymol commandline:
% load ./user_map.ccp4, map1, 1 , ccp4 % isomesh mesh1, map1, 1.5, (all), 0, 1, 3.0 % cmd.color("blue","mesh1")
Otherwise, use pymol GUI:
% A (action) -> Mesh -> @ Level 3.0
As a user is playing a movie (by clicking a bottom right triangle movie playing button),
File -> Export Movie As -> MPEG
All options will be used as default if unspecified. e.g. secondary_structure_enabled =True
Option | Default value | Description of inputs and uses |
resolution | none | A cryo-EM map resolution (angstrom) It needs to be specified by a user. |
explore | False | If True, cryo_fit2 will use maximum number of multiple cores to explore the most optimal MD parameters. However, this exploration requires a lot of computing power (e.g. > 128 GB memory, > 20 cores). Exploring at a macbook pro (16 GB memory, 2 cores) crashed |
start_temperature | 300 | Start temperature (Kelvin) for molecular dynamics simulation |
final_temperature | 0 | Final temperature (Kelvin) for molecular dynamics simulation |
MD_in_each_cycle | 4 | Cycle is each iteration of MD from start_temperature to final_temperature. |
number_of_steps | 100 | Number of MD simulation steps at each temperature |
map_weight | (automatically optimized) | A weight toward cryo-EM map |
weight_multiply | 1 | Cryo_fit2 will multiply cryo-EM map weight by this much Usually a small molecule (a helix) requires only 1. However, a large molecule needs a larger value (e.g. 10~50). |
secondary_structure.en abled | True | Most MD simulations tend to break secondary structure. Therefore, turning on this option is recommended. If HELIX/SHEET records are present in supplied .pdb file, automatic search of the existing secondary structures in the given input pdb file will not be executed. |
secondary_structure.pr otein.remove_outliers | True | False may be useful for very poor low-resolution structures by ignoring some hydrogen "bond" if it exceed certain distance threshold |
output_dir | output | Output folder name prefix |
keep_progress_on_screen | True | If True, temp=xx dist_moved=xx angles=xx bonds=xx is shown on screen rather than cryo_fit2.log |
keep_origin | True | If True, write out model with origin in original location. If False, shift map origin to (0,0,0) |