e2refine

This program is the heart of single particle reconstruction in EMAN2. It embodies the concept of an iterative 3-D single particle reconstruction in a single step, starting with a 3-D starting model and a set of preprocessed particle data. The overall strategy is similar to that used in EMAN1, with a number of improvements for speed and accuracy. The general idea is that the 3-D orientation of each particle is determined by comparison to a set of projections of the current 3-D model. Particles in near-identical orientations are then aligned and averaged in 2-D. These averages are then used to construct a new 3-D model, which is then reprojected for use in the next cycle of refinement. This process of reference-based classification is somewhat unique to EMAN, and is one reason why it can converge so rapidly to the correct answer even with a poor starting model.

EMAN2 refinement has many more options than EMAN1, and permits much more precise control over the refinement process. This can be both a blessing and a curse. We suggest launching your refinements from the workflow interface which simplifies specifying all of the necessary options. For those in search of detail, we document everything here.

Command Line Arguments

General Options

–versionboolshow program's version number and exit
-h–helpboolshow this help message and exit
-c–checkboolChecks the contents of the current directory to verify that e2refine.py command will work - checks for the existence of the necessary starting files and checks their dimensions.
-v–verboseintverbose level [0-9], higner number means higher level of verboseness

Options impacting the overall refinement

–iterintThe total number of refinement iterations to perform
–startiterintIf a refinement crashes, this can be used to pick it up where it left off. This should NOT be used to change parameters, but only to resume an incomplete run.
–modelstringThe name 3D image that will seed the refinement
–inputstringThe name of the image containing the particle data
–usefiltstringNote: some unresolved bugs may exist with this option (6/2011) Specify a particle data file that has been low pass or Wiener filtered. Has a one to one correspondence with your particle data. If specified will be used in projection matching routines, and elsewhere.
–pathstringThe name of a directory where results are placed. If not specified (suggested), will use a path of the form refine_xx.
–massfloatThe mass of the particle in kilodaltons, used to run normalize.bymass. If unspecified nothing happens. Requires the –apix argument.
–apixfloatThe angstrom per pixel of the input particles. This argument is required if you specify the –mass argument. If unspecified, the convergence plot is generated using either the project apix, or an apix of 1.
–symstringSymmetry to be imposed throughout: c<n>, d<n>, h<n>, tet, oct, icos. Omit this option or specify 'c1' for asymmetric reconstructions.
–lowmemboolMake limited use of memory when possible. Slight speed penalty.
-P–parallelstringRun in parallel, specify type:<option>=<value>:<option>:<value>. See Parallel

See also e2project3d

–projectorstringProjector to use. 'standard' is the default
–orientgenstringThe orientation generation argument for e2project3d.py. Typically something like: –orientgen=eman:delta=2.0:inc_mirror=0

These parameters are used by e2project3d. Several orientation generation techniques provide alternative methods for distributing orientations in the asymmetric unit. Orientations can be generated based on your desired angular spacing, or alternatively on the desired total number of projections. In the latter case EMAN2 will generate a number as close as possible to the specified number, but note that there is no guarantee of a perfect match. You can also vary the method by which projections are generated. If you check the 'include mirror' option you should be sure to use aligners to that do not perform mirror alignment.

Options for comparing particles to projections

See also e2simmx

–twostageintOptionally run a faster 2-stage similarity matrix, ~5-30x faster, almost identical results. Value specifies shrink factor for first stage, typ 1-3
–shrinkintOptionally shrink the input particles by an integer amount prior to computing similarity scores. For speed. If used with –twostage, this specifies the second stage shrink factor.
–simcmpstringThe name of a comparator to be used in comparing the aligned images
–simalignstringThe name of an aligner to use prior to comparing the images
–simaligncmpstringName and options for a comparator to use in first stage alignment for classification
–simralignstringThe name and parameters of the second stage aligner which refines the results of the first alignment. Currently this is either not specified or is 'refine'.
–simraligncmpstringThe name and parameters of the comparator used by the second stage aligner. Default is dot.
–simmaskstringA file containing a single 0/1 image to apply as a mask before comparison but after alignment
–prefiltboolFilter each reference © to match the power spectrum of each particle ® before alignment and comparison

These parameters are used by e2simmx, a program that compares each particle to each projection and records quality scores. To do this the particles must first be aligned to the projections using the aligners you specify. Once aligned the 'Main comparator' is used to record the quality score. These quality values are recorded to an image matrix on handed on to the next stage in the refinement process.

For comparators here are some possible choices:

Options for classifying particles based on similarity matrix

See also e2classify

–sepintThe number of classes a particle can contribute towards (default is 1). This is a precursor to full maximum-liklihood.

Options for generating class-averages

See also e2classaverage

–classiterintThe number of iterations to perform. Default is 1. Larger values reduce model/noise bias, but slightly decrease resolution.
–classcmpstringThe name and parameters of the comparitor used to generate similarity scores, when class averaging. Default is 'dot:normalize=1'
–classalignstringIf doing more than one iteration, this is the name and parameters of the aligner used to align particles to the previous class average.
–classaligncmpstringThis is the name and parameters of the comparator used by the fist stage aligner Default is dot.
–classralignstringThe second stage aligner which refines the results of the first alignment in class averaging. Currently this is either not specified or is 'refine'.
–classraligncmpstringThe comparator used by the second stage aligner in class averageing. Default is dot:normalize=1.
–classaveragerstringThe averager used to generate the class averages. Default is 'mean'.
–classkeepfloatThe fraction of particles to keep in each class, based on the similarity score generated by the –cmp argument (see also –classkeepsig).
–classkeepsigboolChange the keep ('–keep') criterion from fraction-based to sigma-based. eg - with this set, 1.0 would correspond to discarding particles more than 1 standard deviation from the mean
–classnormprocstringNormalization processor and options applied during class averaging. Typically 'normalize.edgemean'
–classrefsfboolThis will impose the 1-D structure factor of each model projection onto the corresponding class-average to improve its filtration. This is an alternative to Wiener filtration if the map resolution is regulated.
–classautomaskboolExperimental. This will apply a 2-D automask to the class-average during iterative alignment for better accuracy. The final class averages are unmasked.

These parameters address how class-averages are made. For the comparators see the previous tab:

Options related to 3-D Reconstruction of Class-averages and post-processing

–padintTo reduce Fourier artifacts, the model is typically padded by ~25% - only applies to Fourier reconstruction. Please read BoxSize
–reconstringreconstructor to use. Main choices are 'fourier' or 'wiener_fourier'
–m3dkeepfloatThe percentage of slices to keep in e2make3d.py
–m3dkeepsigboolSimilar to classkeepsig above, changes the meaning of –m3dkeep to be in terms of standard deviations
–m3dsetsfboolFilters the final 3-D map to match the precomputed structure factor (stored in the project database). Normally used with a –m3dpostprocess=filter.lowpass.* option
–m3diterintThe number of times the 3D reconstruction should be iterated. 2 and 3 are the only valid values. 2 is faster and normally has sufficient accuracy.
–m3dpreprocessstringNormalization processor applied before 3D reconstruction
–m3dpostprocessstringPost processor to be applied to the 3D volume once the reconstruction is completed
–automask3dstringThe 5 parameters of the mask.auto3d processor, applied after 3D reconstruction. These parameters are, in order: isosurface threshold,radius,nshells and nshellsgauss. From e2proc3d.py you could achieve the same thing using –process=mask.auto3d:threshold=1.1:radius=30:nshells=5:nshellsgauss=5. e2help.py processors -v2 for more information on mask.auto3d.

Parameters for 3D reconstruction:

Please note that the box-sizes suggested in EMAN2 are larger than those in EMAN1 for improved CTF correction. Details on box size selection are here.

The refinement process produces a large number of different output files in databases within directories named refine_xx. The easiest way to browse these files is with e2display, the file browser. For documentation of the file contents, please see the items towards the bottom of this page.