Job: 2D Classification
2D classification for stack cleaning and exploration of heterogeneity.
Rapidly classify particles into multiple 2D classes to facilitate stack cleaning and removal of junk particles. 2D Classification is also useful for investigating particle quality before moving into the 3D reconstruction stage, and to qualitatively explore the distribution of views within the dataset.
In CryoSPARC v4.1, by default the 2D classification job now also detects and removes duplicate particle picks at the end of processing (in the same way as Job: Remove Duplicate Particles), when the input particles contain information about the pick locations. This can be turned off using the
Remove duplicate particlesparameter. Duplicate particles are considered to be those spaced together closer than the
Minimum separation distance (A)parameter. Note that for filaments, it is recommended to deactivate this parameter, since picks are often intentionally dense.
- Particles (
Number of 2D Classes:In a typical dataset comprising hundreds of thousands of particles, the Number of 2D Classes is typically set between 50 and 200, or even as high as 300 classes. In general, as the Number of 2D Classes increases, the likelihood of finding "junk" classes also increases because "good" classes will become visually more obvious. With too few classes, "junk" particles may be hidden within what otherwise looks like a "good" class.
Initial classification uncertainty factor:The Initial Classification Uncertainty Factor (ICUF) tries to capture the user's knowledge of the similarity in quality of particles within a dataset. When the ICUF is set to a value of 1, this reflects that "junk" particles look very different from good particles within the same dataset. On the other hand, a larger ICUF means that the "junk" may look very similar to good particles, and therefore the algorithm should at first be more uncertain about assigning particles to classes. Modifying this parameter instructs the optimization algorithm to search for 2D classes that are more similar (ICUF large) or less similar (ICUF small) to each other.
Maximum alignment res (A): This is the highest resolution used to align particles to classes. By default, this is the same as the maximum reconstruction resolution, however this can be set to a higher value (lower resolution) which may help with overfitting, along with disabling the
Force Max over poses/shiftsparameter.
Circular mask diameter (A): This controls the diameter of the circular mask applied to the 2D classes at each iteration. For crowded particles, setting the circular mask diameter to a value slightly greater than the maximum particle diameter helps prevent the algorithm from converging to classes with two particles in them. This should generally be used in combination with the
Re-center 2D classesparameter.
Force Max over poses/shifts: This controls whether during reconstruction, the algorithm will only use the maximum posterior pose, or will marginalize over poses. By default this is
true, meaning maximization is used, but this can be set to
falseto help achieve better 2D classes especially for very small molecules. Note: When the
Number of 2D Classesis set to 20 or fewer,
Force Max over poses/shiftswill turn off by default.
Align filament classes vertically: For filaments, this can be set to align all class averages vertically in the final iteration, enabling estimation of in-plane rotation. Note that this is approximate, and will not attempt to estimate the relative polarity of class averages.
Number of online-EM iterations: By default, 20 iterations of Expectation-Maximization are done, but this can be increased for particularly small particles or low SNR particles.
Batchsize per class: This controls the number of particles that are used for each iteration of Expectation-Maximization, per class. This can also be increased for particularly small or low SNR particles.
2D Zeropad Factor: This is the factor by which the classes are padded to in Fourier space. By default, classes are padded to twice their box size in Fourier space, but for particles that already have a large box size, this can be set to a minimum of 1 to reduce GPU memory requirements.
Min over scale after first iteration: This enables estimation of per-particle scale factors during Expectation-Maximization. This can help if ice thicknesses varied greatly during data collection.
- Depending on the results, in subsequent rounds of 2D Classification, you may also wish to adjust the following to achieve better visual class averages:
- Use clamp-solvent: If the classes appear to have a lot of unwanted artefacts in the background, you can use a special optimization method to ensure that all classes will have a blank background. Set
Use clamp-solvent to solve 2D classesto
- Enforce non-negativity: Along with activating the clamp-solvent parameter, non-negativity can be enforced in the class averages by setting the
Enforce non-negativityparameter to
- Class averages
- Particles, with assignments (and alignments) to classes
- Rejected Particles (only if
Remove duplicate particleswas on), the particles that were rejected as being duplicate particle picks.
Example of classes from a 2D Classification of a GPCR, ordered by the number of particles assigned to each class.
For particularly small or low signal-to-noise ratio particles, the following may improve results of 2D Classifications:
- Increasing the
Batchsize per classparameter, which increases the number of images seen during each EM iteration.
- Increasing the
Number of online-EM iterationsparameter.
- Deactivating the
Force max over poses/shiftsparameter, which enables marginalization and may help with overfitting.
- After 2D Classification, some of the classes may end up as "junk" classes (e.g., corresponding to non-particle images, ice crystals, or two particles stuck together, etc.), and you may want to filter the associated particles out from your particle dataset. This can be done with the Interactive Select 2D Classes Job.
- If your dataset has strong preferred orientation, you can use the Rebalance 2D Classes job (after removing junk classes using the Select 2D Classes job) to cluster together similar views and remove particles from over-represented views.
- You may also want to iterate the process of template-based particle picking, in which case good classes (selected using a Select 2D Classes job) can be input back into a Template Picker or Filament Tracer job.