refinement of atomic structures guided by cryoEM density.
Please cite: M. Topf, K. Lasker,
B. Webb, H.
W. Chiu, A. Sali. Structure 16, 295-307, 2008
The method includes a rigid
followed by a refinement stage. Rigid
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
(MD). To use it:
A. Download the following
B. Edit the following files:
flex-em.py (below INPUT PARAMETERS):
1. Define the mode of
(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).
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
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
- If your origin is in pixels (e.g. from Chimera) please multiply by -1*voxel size.
- If you have chain breaks in your structure keep the
TER line in your PDB input file (otherwise the program will connect
- 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
the different "fits";
(c) Once you have selected your ensemble of representative
fits" you can start an MD refinement for each of them (using
each as an initial file for the MD optimization
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
- For a better description of your rigid bodies please use RIBFIND (see: Pandurangan & Topf, J Struct Biol 2011 ). The code is available upon request. The program will automatically produce your rigid.txt file.
- Before assigning the rigid bodies the
structure has to be renumbered from 1, because it is going to
renumbered during the optimization. To
structure you could use the script renumber.py.
C. Run the program (using MODELLER-9v2
mod9v9 flex-em.py > flex-em.log
refined structures will be found in the specified directory as
Flex-EM can be applied to
both experimental atomic structures and
models. A tutorial
can be found here.
Flex-EM benchamrk is available for download here.
- 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
- Cα RMSDs were calculated for the benchmark using the
superpose method in MODELLER-9v2.
For questions, please contact Maya Topf at