e2initialmodel.py

This program will take a set of class-averages/projections and build a set of 3-D models suitable for use as initial models in single particle reconstruction. The set is theoretically sorted in order of quality (best one is numbered 1), though it's best to look at the other answers as well.

Options:

--input

string

The name of the image containing the particle data

--iter

int

The total number of refinement iterations to perform

--tries

int

The number of different initial models to generate in search of a good one

--sym

string

Specify symmetry - choices are: c<n>, d<n>, h<n>, tet, oct, icos

--savemore

bool

Will cause intermediate results to be written to flat files

--orientgen

string

The type of orientation generator. Default is safe. See e2help.py orientgens

--dbls

string

data base list storage, used by the workflow. You can ignore this argument.

-v

--verbose

int

verbose level [0-9], higner number means higher level of verboseness

Results

When the program is complete, you will find several BDBs in the initial_models directory. There are 4 types of files:

model_xx_yy

This is the refined model you would use as a starting model

model_xx_yy_aptcl

Contains the class-averages alternating with the corresponding projections of the model after the final iteration. Poor agreement between pairs is an indication of a bad initial model.

model_xx_yy_proj

Projections from the final round of refinement covering the asymmetric triangle.

model_xx_yy_init

The random, blobby initial model for this refinement. Just in case you want to see it.

How it Works

The program begins by making a pure noise image. This image is then low-pass filtered to produce a fairly random pattern of blobs, which is then masked. The size of the mask is a fixed proportion of the total box size, basically assuming that you followed the advice in the tutorial and used a box 1.5 - 2.0x larger than the longest dimension of your particle.

This random blob model is then used to seed a single particle refinement, very similar to that used in e2refine.py. However, in this case, the input images are just a few class-averages, not a massive stack of particle images, and usually these class averages have been scaled down from the full-size images. In addition, a number of steps are taken to make the refinement run very quickly (and completely in RAM, the intermediate results are not stored to disk). For example, only the fast, correlation-based comparator is used, a large angular step is used, etc. This refinement is allowed to run for a relatively large number of iterations, and finally, the final model is written to disk as model_xx_yy. Additional diagnostic files are also written to disk.

This whole process is repeated tries times, producing a set of output files sorted in order of the presumed quality of each result.

Evaluating Results

This process is not guaranteed to give a good model. For most structures there are only 2 or 3 different 'local minima' that the refinement process could reasonably converge to, but this number increases as you shrink the input particles more and more. In some cases there may be as many as 10-15 different possible pseudostable answers. These 'local minima' are almost always obviously wrong, but you must take time to look through the results to make sure you identify them, and if necessary, run the initial model generator again to look for more possible solutions. In most cases generating 5-10 solutions will get you at least 1 good enough structure for a high resolution refinement.

To evaluate the results, first look at the structure itself, and make sure it looks reasonable given what you've seen of the data and class-averages. Next, look at the aptcl file, which contains a projection of the final model corresponding to each class-average, in pairs. Look through the file, and you should see all of the class-averages have reasonably good agreement with their projections. If you find a class-average which is not well-matched to any projection, then either you have a bad structure, or a bad class-average. Reasonable agreement between these pairs is a necessary but not a sufficient condition for a correct reconstruction.

Finally, take a look at the set of projections of the 3-D model and make sure that also seems sensible. If everything seems to fit together well, then you should be set, and can use the model to seed your higher resolution reconstructions. For real proof that your final structure is accurate, please see the single particle reconstruction tutorial, which discusses this point.

EMAN2/Programs/e2initialmodel (last edited 2011-09-09 17:07:05 by SteveLudtke)