| Command line arguments | Check functionality | e2refine FAQ |

e2refine

e2refine.py runs in much the same way as refine in EMAN1

This programs oversees iterative single particle reconstruction. The overall process is to take a pre-existing 3D image and a set of 2D images and to run a variety of (often intensive) image processing applications which produces a refined 3D model. In particular, the program iteratively executes a sequence of python scripts which perform specific tasks, starting with with 3D projection (e2project3d.py), comparision of particle data to projections (e2simmx.py), classification (e2classify.py), the generation of class averages (e2classaverage.py), and finally the generation of a new 3D model (e2make3d.py). This pipeline is depicted graphically in Figure 1 below, along with accompanying data inputs and outputs.

Fig. 1. Overview of data inputs and outputs in the EMAN2 refinement pipeline. Pink objects are data supplied by the user, blue objects are programs, and green objects are data output by EMAN2 programs.

Command Line Arguments

Most of the command line arguments have defaults, those which are absolutely. The user must atleast specify the total number of iterations, the symmetry and the proportional distribution or number of projections.

General parameters

version

bool

Show program's version number and exit

h, help

bool

Show help

c, check

bool

Checks the contents of the current directory to verify that e2refine.py will work

v, verbose

int

Toggle verbose mode - prints extra infromation to the command line while executing

input

string

The input image stack of 2D particles

iter

int

The number of refinement iterations

lowmem

boolean

A low memory flag used to indicate memory should be used as sparsely as possible

model

string

The seeding 3D model

path

string

The directory where output will be stored

sym

string

The symmetry being output 3D models and the limit the range of generated projections

Arguments used to execute e2project3d.py

See e2project3d.py.

orientgen

string:args

The OrientationGenerator and parameters used for generation orientations in the asymmetric unit of the 3D model

projector

string:args

The projector used for generating projections

Arguments used to execute e2simmx.py

See e2simmx.py.

shrink

int

The shrink factor applied to particles prior to generation of the similarity matrix (e2simmx.py)

simalign

string:args

The main aligner used during similarity matrix generation

simaligncmp

string:args

The comparator used by the main aligner during similarity matrix generation

simcmp

string:args

The comparator used to generate the final score which is stored in the similarity matrix

simralign

string:args

The refinement aligner used during similarity matrix generation

simraligncmp

string:args

The comparator used by the refine align in similarity matrix generation

twostage

bool

Performs particle classification in two stages, first coarsely, then locally. Generally gives 5-10x speedups with no accuracy penalty. See e2simmx2stage for details.

Arguments used to execute e2classify.py

See e2classify.py

sep

int

The number of classes each particles can be associated with

Arguments used to execute e2classaverage.py

See e2classaverage.py.

classalign

string:args

The aligner used for alignment during iterative class averaging

classaligncmp

string:args

Comparator used by the main aligner during iterative class averaging

classaverager

string::args

Averager used for averaging the images in each class

classcmp

string:args

The main comparator used to quality and exclude bad particles in iterative class averaging

classiter

int

The number of class averaging iterations

classkeep

float

The keep threshold used for excluding bad particles in iterative class averaging

classnormproc

string:args

The normalization processor used in class averaging

classralign

string:args

The refinement aligner used in iterative class averagin

classraligncmp

string:args

The comparator used by the refinement aligner in iterative class averaging

Arguments used to execute e2make3d.py

See e2make3d.py.

m3diter

int

The number of iterations used my make3d when performing the Fourier inversion method of 3D reconstruction

m3dkeep

float

The keep threshold used by e2make3d for the purpose of slice exclusion during 3D reconstruction

m3dpreprocess

string:args

The normalization processor applied prior to slice insertion during 3D reconstruction

pad

int

The amount of padding used by the Fourier inversion 3D reconstruction technique

recon

string:args

The reconstructor used for performing 3D reconstruction

Arguments used to post process the 3D reconstruction

The ByMass links will resolve on January 22

mass

float

The estimated mass of the particle in kilodalton that, along with the apix argument, is used to run the normalize.bymass processor immediately after 3D reconstruction

apix

float

The physical distance represented by a single pixel. This parameter, along with the mass argument, is used to run the normalize.bymass processor immediately after 3D reconstruction. The apix argument is also used for generating the x-axis of the automatically generated convergence plots.

automask3d

float,int,int,int

The threshold, radius, nshells and nshellsgauss parameters, respectively, of the mask.auto3d processor, which is applied directly after the application of the normalize.bymass processor.

Check functionality

By specifying the --check flag, e2refine.py checks only whether the specified parameters are valid, and nothing more. Example output is shown below.

[someone@localhost]$ e2refine.py --check
#### Testing directory contents and command line arguments for e2refine.py
Error: you must specify the --it argument
start.img contains 2498 images of dimensions 100x100
threed.0a.mrc has dimensions 100x100x100
e2refine.py test.... FAILED
#### Test executing projection command: e2project3d.py threed.0a.mrc -f --sym=None --projector=standard --out=e2proj.img --check
Error: you must specify one of either --prop or --numproj
Error: none is an invalid symmetry type. You must specify the --sym argument
e2project3d.py command line arguments test.... FAILED
#### Test executing simmx command: e2simmx.py e2proj.img start.img e2simmx.img -f --saveali --cmp=dot:normalize=1 --align=rotate_translate --aligncmp=dot --check --nofilecheck
e2simmx.py command line arguments test.... PASSED
#### Test executing classify command: e2classify.py e2simmx.img e2classify.img --sep=2 -f --check --nofilecheck
e2classify.py command line arguments test.... PASSED
#### Test executing classaverage command: e2classaverage.py start.img e2classify.img e2classes.1.img --ref=e2proj.img --iter=3 -f --keepsig=1.000000 --cmp=dot:normalize=1 --align=rotate_translate --aligncmp=phase --check --nofilecheck
e2classaverage.py command line arguments test.... PASSED
#### Test executing make3d command: e2make3d.py e2classes.1.img --sym=None --iter=4 -f --recon=fourier --out=threed.0a.mrc --keepsig=1.000000 --check --nofilecheck
Error: none is an invalid symmetry type. You must specify the --sym argument
e2make3d.py command line arguments test.... FAILED

This functionality will be useful for people who have to submit their jobs to queues - being able to check that the script will work will ensure its successful execution.