Skip to content

Conventional Methods in Cryo-ET Studies

cylindra provides several common methods used in cryo-ET studies.

Subtomogram Averaging

API: average_all

GUI: STA widget > Averaging > Average all molecules

This method uses one or more molecules-layer to calculate the subtomogram average.

Average all

List of parameters
  1. Select the template image in the "template" combobox of STA widget.
  2. "layers" is the molecules layer(s) that will be averaged. If you selected multiple layers, all the molecules will be averaged to a single image.
  3. "size (nm)" is the size of the output image. If not given, it tries to use the size of the template image. It will raise an error if the size cannot be unambiguously determined.
  4. "interpolation" is the interpolation method used for resampling the sub- volumes.
  5. "bin size" is the binning factor for resampling.

After running the method, a new napari viewer will be opened to show the average image. This viewer can be accessed via ui.sta.sub_viewer.

Averaged tubulin

Note

There are more options for averaging molecules in the Averaging menu:

Subtomogram Alignment

API: align_all

GUI: STA widget > Alignment > Align all molecules

Align all

Alignment is a step in which each coordinate of a molecules layer is updated to maximize the correlation score between the subtomogram around the molecule and the template image. New molecules layer will be suffixed with "ALN1", "ALN2", etc.

List of parameters
  1. Set the template image and mask parameters in the STA widget.
  2. "layers" is the molecules layer(s) that will be averaged. If you selected multiple layers, all the molecules will be averaged to a single image.
  3. "Max shifts (nm)" is the maximum allowed shift in (z, y, x) direction.
  4. "rotations" is the maximum allowed rotation angles in degree around each axis. Two float values are expected for each axis. (a, b) means the rotation angle will be between -a and a with step b. For example, (4, 2) means the rotation angles will be -4, -2, 0, 2, 4.
  5. "cutoff" is the relative cutoff frequency of the low-pass filter.
  6. "interpolation" is the interpolation method used for resampling the sub- volumes.
  7. "method" is the method used to calculate cross correlation.
  8. "bin size" is the binning factor for resampling.

Align Averaged Image

API: align_averaged

GUI: STA widget > Alignment > Align average to template

This method is mostly used after molecules are initialized by map_monomers. It first calculates the average, then fit the average to the template image. The optimal fitting parameters are then used to shift and rotate all the molecules. It means that if you run average_all on the aligned molecules, the average image should be almost well fitted to the template image.

Align averaged

List of parameters
  1. Select the template image and mask parameters in the STA widget. The mask is usually not needed, as the average image does not have much noise outside.
  2. "layers" is the molecules layer(s) that will be averaged. If you selected multiple layers, all the molecules will be averaged to a single image.
  3. "Max shifts (nm)" is the maximum allowed shift in (z, y, x) direction. If not lattice parameters will be used to infer the maximum shift, so you don't have to set this parameter in most cases.
  4. "rotations" is the maximum allowed rotation angles in degree around each axis. Two float values are expected for each axis. (a, b) means the rotation angle will be between -a and a with step b. For example, (4, 2) means the rotation angles will be -4, -2, 0, 2, 4.
  5. "bin size" is the binning factor for resampling.
  6. "method" is the method used to calculate cross correlation.

Fourier Shell Correlation (FSC)

API: calculate_fsc

GUI: STA widget > Analysis > Calculate FSC

This method automatically split the selected molecules into two groups, and calculate the Fourier Shell Correlation (FSC) between the two groups. The FSC curve will be shown in the logger widget. Since the average image can easily be calculated after FSC, this method also adds the average image to the sub-viewer as average_all does. The FSC results will also be stored in the metadata attribute of the image layer for the average image.

Calculate FSC

List of parameters
  1. Set the mask parameters (and the template image if you are going to create the mask from the template) in the STA widget.
  2. "layers" is the molecules layer(s) that will be averaged. If you selected multiple layers, all the molecules will be averaged to a single image.
  3. "size (nm)" is the size of the output image. If not given, it tries to use the size of the template image. It will raise an error if the size cannot be unambiguously determined.
  4. "seed" is the random seed value used to split the molecules into two groups.
  5. "interpolation" is the interpolation method used for resampling the sub- volumes.
  6. You can set "number of image pairs" if you want to split molecules many times to get a more accurate FSC curve.
  7. Uncheck "show average" if it is not needed.
  8. "Frequency precision" will be automatically determined but you can set it manually.

Note

Half maps are stored in "fsc_halfmaps" attribute of the average image layer.

ui.sub_viewer.layers["layer-name"].metadata["fsc_halfmaps"]

Template-free Alignment (Create an Initial Model)

API: align_all_template_free

GUI: STA widget > Alignment > Align all molecules (template-free)

This method iteratively align molecules to the current average image, and validate the alignment by FSC. The low-pass cutoff frequency is updated according to the resolution determined by FSC to avoid overfitting.

Align all template-free

Classification

✨ New in v1.1.0

Classification uses expectation-maximization (EM) algorithm to iteratively calculate the correlation score of each subtomogram to template images, and calculate new averages for each class.

  • Depending on the target structure you want to classify, you can use binning to speed up the classification and reduce overfitting. For example, to classify ~6000 tubulins into kinesin-bound and non-bound classes, ~0.5 nm/pixel is sufficient. Classified tubulins
  • The target structure is better but not necessarily centered, given that you provided a proper mask. Nevertheless, you can substantially reduce the subtomogram volume size by centering the structure. You may use translate_molecules to interactively translate the molecules to the center of the target structure.

User-supplied templates

API: classify_em

GUI: STA widget > Analysis > 3D classification

"EM classification"

This method classifies the subtomograms into user-supplied template images. You can classify all the molecules with a single iteration, but it is recommended to run multiple iterations to get unbiased results.

Template-free classification

API: classify_em_template_free

GUI: STA widget > Analysis > 3D classification (template-free)

"EM classification template free"

This method randomly splits the molecules into the specified number of classes to create initial templates, then iteratively updates the them by the EM algorithm. 10 or more iterations are usually needed to get well-classified results.