refine2d.py

Usage

refine2d.py [--iter=<iterations>] [--ninitcls=<# initial classes>] [--finalsep=<# split each class>] [--minptcl=<min ptcl/class>] [--proc=<# processors>] [--ctfcw=<SF file for ctf cor>]

Parameters

--version

show program's version number and exit

-h, --help

show this help message and exit

--debug

debuging output

--iter=ITER

Number of refinement iterations

-ININITCLS, --ninitcls=NINITCLS

Number of initial classes for alignment iterations

-FFINALSEP, --finalsep=FINALSEP

number of additional class subsplits in final iteration

--minptcl=MINPTCL

Minimum number of particles in a final class-average

-PPROC, --proc=PROC

Processors to use

-CCTFCW, --ctfcw=CTFCW

Structure factor file for full CTF correction

-BNBASIS, --nbasis=NBASIS

Number of basis vectors to use in classification

--nosvd

Use straight k-means for classification instead of SVD based vectorization

--nofinalsort

Do not sort the final class-averages (this can be very slow)

--logptcl

Makes a logfile containing the identity of the class-average for each particle

Description

refine2d.py performs 2-D refinement of a stack of particles with no reference to 3-D models, with or without CTF correction. The overall process is:

  1. make a small set of initial rough class-averages using startnrclasses (these are not intended to be good)
  2. align each particle to each class-average, and keep the alignment from the best match (particles are aligned, not classified)
  3. perform SVD on the set of particles. (for this purpose, equivalent to MSA)

  4. project each particle into the SVD basis, and perform k-means classification on the result
  5. make new averages, and sort/align them
  6. iterate (to step 2)

After several iterations this will produce a very robust set of class-averages without any requirement that they form a consistent 3-D model. This is a very good way to test for heterogeneity among your particles, and as a cross-check to insure that the results of a 3-D refinement agree with the original data (projections of the 3-D model should look like the class-averages from refine2d).

Running refine2d.py

refine2d.py is best run in an empty directory, as many intermediate files are created. Unlike refine, refine2d cannot resume an interrupted refinement in the middle. Each time you run the command, it starts from scratch. The input file may have any name. The program works well with phase-flipped images, with or without CTF correction enabled. If CTF correction is used, it is applied only at the very end of processing, and both corrected and uncorrected averages are produced. Output files are as follows:

EMAN1/Programs/Refine2D (last edited 2008-11-26 04:42:29 by localhost)