Flex-EM   image

Fitting and refinement of atomic structures guided by cryoEM density.     

Reference: M. Topf, K. Lasker, B. Webb, H. Wolfson, W. Chiu, A. Sali. Structure 16, 295-307, 2008 PDF

The method includes a rigid fitting stage followed by a refinement stage. Rigid fitting can be performed with Mod-EM or any other rigid fitting methods. The refinement stage starts with the components rigidly fitted in the approximate positions in the map. Two methods are available: conjugate gradients minimization (CG) and simulated annealing molecular dynamics (MD). To use it:

A. Download the following scripts:

B. Edit the following files:

flex-em.py (below INPUT PARAMETERS):
1. Define the mode of optimization (optimization='MD' or optimization='CG'). 
2. Set the input parameters of the atomic structure (PDB format) that you want to fit and the EM map (MRC or XPLOR format).
3. Specify the path of your work directory.
4. For CG optimization: specify the number of CG runs (eg, 
num_of_runs=2) and the number of the initial directory in which you want the runs to be found (eg, init_dir=1 will produce the results in the directories 1_cg, 2_cg).
5. For MD optimization: specify the number of MD iterations (eg, 
num_of_iter=4) and the number of the directory in which you want the runs to be found (eg, init_dir=1 will produce the results in the directory 1_md).

Notes:
- If you know the approximate initial positions of your components running the MD refinement is recommended.
- If you are not sure about the approximate positions of the components, it is recommended:
  (a) First run the CG minimization multiple times (eg, 
num_of_runs = 20);
  (b) Cluster the different "fits";
  (c) Once you have selected your ensemble of representative "rigid fits" you can start an MD refinement for each of them (using each as an initial file for the MD optimization (eg, 
input_pdb_file='final1_cg.pdb' ).

rigid.txt
:
Define the rigid bodies using residue numbers. The format of this file is the following:
- Comment lines begin with '#'  (eg, describing what kind of a rigid body : 
'#domain''#helix''#beta').
- Other lines: each line describes one rigid body by specifying the initial and final residue of each of the segments in that rigid body
  (eg,
 '2 6 28 30' means that residues 2-6 and 28-30 will be included in the same rigid body).
- Only in CG mode: if you add 'nr' after the last segment (eg,
'2 6 28 30 nr') the rigid body will not be randomized prior to the running of the optimization.

Note that before assigning the rigid bodies the structure has to be renumbered from 1, because it is going to renumbered during the optimization. To renumber your structure you could use the script renumber.py.


C. Run the program (using MODELLER-9v2 or later):
mod9v7 flex-em.py > flex-em.log 

The refined structures will be found in the specified directory as described above.

Flex-EM can be applied to experimental atomic structures and models. A tutorial can be found here

Flex-EM Benchamrk:

The benchmark is available for download.

Notes:
- To minimize bias, the benchmark density maps were not produced with Mod-EM, but with pdb2vol in SITUS (Wriggers, et al. 1999), which uses a different Gaussian smoothing technique.
- Cα RMSDs were calculated for the benchmark using the superpose method in MODELLER-9v2.

For questions, please contact Maya Topf at m.topf@cryst.bbk.ac.uk