Tutorial: Cryo_fit2: Fit Biomolecules into Cryo-EM Maps using dynamics (commandline)

Contents

Note

cryo_fit2 is under active development.

Therefore, please consider to use cryo_fit1 instead (especially for RNA modeling).

Overview

This tutorial will show you how to fit biomolecule atomic structures into cryo-EM maps using dynamics simulation with PHENIX commandline

Theory for cryo_fit2

See the theory notes for cryo_fit2

Input

<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.

How to run

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)

How to add user specified geometries

  • 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.
  1. 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.

  2. 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.2

Sigma 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.

  • For example:

    % phenix.cryo_fit2 model.pdb map.ccp4 3.5 user_custom_geom.eff
    

Output as a static structure

A final cryo_fitted structure: output/cryo_fit2_fitted.pdb

Output as a movie

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.

How to show map contour as mesh

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

How to save a movie file (confirmed with MacPymol 2.2.2)

As a user is playing a movie (by clicking a bottom right triangle movie playing button),

File -> Export Movie As -> MPEG

Options

All options will be used as default if unspecified. e.g. secondary_structure_enabled =True

List of most useful options

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)