Table of Contents

refine2d.py

This program performs 2-D refinement of particle sets. No 3-D references or models are used.

Usage

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

Parameters

–versionshow program's version number and exit
-h, –helpshow this help message and exit
–debugdebuging output
–iter=ITERNumber of refinement iterations
-ININITCLS, –ninitcls=NINITCLSNumber of initial classes for alignment iterations
-FFINALSEP, –finalsep=FINALSEPnumber of additional class subsplits in final iteration
–minptcl=MINPTCLMinimum number of particles in a final class-average
-PPROC, –proc=PROCProcessors to use
-CCTFCW, –ctfcw=CTFCWStructure factor file for full CTF correction
-BNBASIS, –nbasis=NBASISNumber of basis vectors to use in classification
–nosvdUse straight k-means for classification instead of SVD based vectorization
–nofinalsortDo not sort the final class-averages (this can be very slow)
–logptclMakes 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: