Local Refinement Beta in cryoSPARC v2

September 17, 2018
Ali Haydaroglu

With cryoSPARC v2.2, we are rolling out a beta version of a new set of tools to refine your dynamic and flexible structures down to atomic resolutions! For now, the Local Refinement toolkit includes Particle Subtraction and Local Refinement jobs that can be implemented in your standard workflow. This post gives an overview of the new job types and a few tips on how to use them. For a detailed walk-through of a typical workflow, check out a case study of the tri-snRNP (EMPIAR 10073) molecule here.

Local Refinement

When dealing with dynamic or flexible specimens, a regular refinement can leave some signal on the table. The purpose of the local refinement job is to account for the flexibility in the structure by refining regions independently, eliminating the uncertainty caused by the movement of subvolumes with respect to each other. To use this job, you must start by identifying a subregion of your structure that you want to take a closer look at. The image below shows two candidate regions of the snRNP for local refinement.

Masks for the local refinement of the tri-snRNP

After creating a mask covering only this region, you can run the job to re-align particles to the masked region of the volume. Since it is a local refinement, the shifts and poses of the particles will only be allowed to change slightly from their original values determined in the refinement. The rotations that are searched over can be centered around any arbitrary fulcrum - this accounts for subvolumes on the periphery of the structure that rotate around a point far from the origin.

Parameters of the Local Refinement Job

Read through some of the details of the algorithm to make sure that you're using it to its fullest extent:

  • Mask Creation: Once you have identified a region of interest that you would like to refine further, you can use a few methods to extract a mask from it. The recommended tool to use here is Chimera, and you can take any of the following three tools. Note that your mask should be the saved on an identical grid as the original structure, and should have an origin of [0,0,0]. To force Chimera to save your map on the same grid as your original map, you can run the vop resample #1 onGrid #2 command where #1 is your off-grid mask and #2 is your original structure.

    • Volume Eraser: The Chimera Volume Eraser tool is fairly self-explanatory. You can use a variable-sized sphere to delete chunks off the original structure to leave you with the region of interest
    • Segment Map: You can use the built-in segmentation tool in Chimera to algorithmically segment your volume, and group the subvolumes together until you have your region of interest in one segment. Then, you can save this segment as a .mrc file.
    • Fit in Map: If you already have an atomic model of the region of the structure you want to refine, you can open it in the same session as your original structure and use the Fit in Map tool to align it. Then, you can use the molmap command to create a new volume from the atomic model that can serve as a mask.
  • Mask Processing: Use the Volume Tools job to dilate your masks, add soft padding, and fill holes. This mask will be used to select a region of the structure to refine, but a dynamically generated mask will be used at each iteration of alignment.
  • Fulcrum: Instead of doing a naive search that extends uniformly in each direction from the original pose, cryoSPARC gives the option to account for rotations around the connection point between the subvolume and the original structure. Note that the fulcrum is indexed from the corner of the structure, not the center ([0,0,0] will correspond a corner of the structure, not the center). Leaving the fulcrum option unset in the job builder will default to using the center of the structure as the rotation point. If it is hard to choose an exact fulcrum, or you are unsure about your selection, it may improve results to increase the "Local shift search extent" parameter.
  • Branch and Bound: cryoSPARC's GPU-accelerated Branch and Bound algorithm accurately searches over a range of poses and shifts to find the best alignment of each image. The poses are forced to remain close to the original pose - how far it can stray away from the original pose is governed by the search extent parameters. The rotation extent (in radians) limits the magnitude of the angle of each rotation, the algorithm will search over rotations in all directions within the extent. The shift extent in pixels limits the diameter of the circle over which the shift is searched.
  • Non-Uniform Refinement Beta: The Non-Uniform Refinement job, which is particularly useful for particles that have non-uniform structural characteristics, like membrane proteins or other macromolecules with unresolved peripheral structure, is also available as a feature in local refinement. This can often improve the quality of the map in your region of interest.
  • FSC Calculation: The FSC plots will show the Global FSC, spherical masked FSC as well as the locally masked FSC. It it typical for the local FSCs (tight & loose mask) to be significantly better than the global values, since they are calculated using a dynamic mask around the computed structure.
  • Gold Standard: The local refinement job follows the Gold-Standard FSC assumptions the same way a typical refinement job does. Particles are split into two halves using the splits from the previous refinement jobs, and the alignments are computed on independent halfmaps.
  • New output plots!: The local refinement job will output heatmaps showing the magnitude of the change in poses and shifts for each initial position. Also, you will be able to see the distribution of the magnitude of changes for poses and shifts in the form of histograms.

Particle Subtraction

Particle Subtraction is used to make certain regions of a volume disappear from your particle stacks. The unwanted region of the input volume is selected with the input mask. The job then uses the pose and shift information to project this region and create a new set of images that correspond to different views of this unwanted region. The Contrast Transfer Function (CTF) is then applied to these images, and finally they are subtracted from the original images. The output images from this job ideally contains no signal from the unwanted regions of the structure.

There are a few subtleties of particle subtraction that you might want to pay attention to.

  • Masking: the mask is used the select the region of the volume that will be subtracted out of the images. As such, it might be a good idea in general to keep the mask relatively tight and exclude any of the unresolved signal around the structure. Soft edges are recommended to reduce the Fourier-space ringing that may be caused by a sharp cut through the structure.
  • Windowing and Scaling: The windowing parameters of the Particle Subtraction job must match the windowing parameters in the cryoSPARC job that was used to generate the input volume. The wrong windowing parameters may cause the subtracted volume to be at the wrong scale - this may leave "ghost particles", or outlines of the subtracted regions in your images. Note that the outputted particles will not be windowed, and this parameter is only used to calculate the required scaling factors.
  • Particles: the particles you feed into a Particle Subtraction job must already have alignment information - that means that they must have been through a refinement job prior to being imported. Particles from Local Refinement jobs can also be used, although a typical workflow would involve doing particle subtraction prior to a local refinement.
  • Gold Standard: the particles and volumes inputted to this job must be from a previous refinement, and thus will contain the two independent halfmaps and the split of the particles. This job uses this split to independently subtract each halfmap only from the particles used to generate it. This prevents the subtraction from introducing signal from one halfmap into the other in future refinements.
  • Disk Space and Outputs: The particle subtraction job will create outputs in its job directory containing an full particle stack which will be approximately the same size as the input particle stack. The particle data files (.mrc) will be outputted in smaller batches corresponding to the memory available in the GPU, but a single .cs file will contain the metadata for the entire stack. Make sure you have enough space on disk before you run this job!


A typical local refinement workflow in cryoSPARC for Local Refinement might look like the following:

  1. Generate masks for the region of the structure you want to refine, and the region that will be subtracted.
  2. Use the Particle Subtraction job to subtract unwanted signal from particles
  3. Run a Local Refinement job to refine the region of interest
  4. Sharpen the results to improve the interpretability of the maps

Here's what it might look like in a tree view. Check out our case study on the tri-snRNP molecule for more information on this workflow.


Good luck, and happy processing! Feel free to tweet us any cool results at @structurabio, and share any questions & suggestions in our discussion forum.

This website uses cookies to ensure you get the best experience. To learn more, please refer to our Privacy Policy