Issue with Real Space Slices in CryoSPARC Local Refinement

Hi everyone,

I am working on local refinement in a new dataset of a protein that I have experience with, using CryoSPARC v4.5.3. I am attempting to perform local refinement on one of the two identical monomers of my protein. Previously, I applied symmetry expansion (C2) and particle subtraction to remove the monomer that I am not focusing on.

I designed a mask to focus on one monomer and another mask to subtract the other monomer. While I do see an improvement in resolution (as I was expecting based in previous datesets), and the resulting map seems better, the local refinement job is not providing the Real Space Slices and Real Space Mask Slices. The rest of the output visual results seem fine.

Basically I am following the YouTube tutorial and did not encounter this issue in the past with previous cryoSPARC version. I am wondering if this could be a bug in my CryoSPARC version or if there might be something I am doing wrong in my analysis.

Here is the list of parameters for my job:
Processing: FSC.png…Processing: Orientations.png…

  1. Rotation search extent (deg): 1
  2. Shift search extent (Ă…): 1
  3. Override fulcrum coordinates (Ă… or px): 326,262,280px
  4. Maximum alignment resolution (degrees): 0.1
  5. Number of extra final passes: 10
  6. Non-uniform refinement enabled: false
  7. Dynamic mask far (Ă…): 1
  8. Dynamic mask near (Ă…): 1

Thanks,
Alejandro

Hi Alejandro,

The slices are centered on the fulcrum coordinates, which are very close to the edge of the box. Is it possible that these do not correspond to the center of your mask?

Cheers
Oli

EDIT:

Also, what are the custom dynamic masking settings intended to do? Local refinement will by default use the static, soft mask you provide, so you shouldn’t normally need to edit these settings.

Hi Oli,

Thanks for answering! You are right—the values overriding the fulcrum coordinates were wrong. In the CryoSPARC video tutorial, it mentioned that you need to divide the pixel values reported by Chimera by the pixel size.

In my previous dataset, it didn’t matter much because my pixel size was 1.0691, so the values in pixels and Ångströms were almost identical before or after dividing, making no noticeable difference. However, my current pixel size is 0.647, and dividing by that number gives values in Ångströms that don’t make sense.

It turns out that the video tutorial contains a mistake—we don’t have to divide by the pixel size, but rather multiply by it: px * (Å/px) = Å. It was my mistake for following the instructions without thinking critically.

I corrected the numbers and updated the coordinates, now in pixels, since the new version of CryoSPARC no longer requires them in Ångströms. Now everything is working like a charm.

Thank you so much, Oli!

Warm regards,
Alejandro

Oh! and I am using Dynamic Mask Far and Near: 1 because I already set the mask size I want, as explained in their tutorial. I don’t want it to be further extended during local refinement.
thanks
Alejandro

Hi Alejandro,

Glad it is working now! If you are using a static mask, you should not need to edit these parameters - If the mask type is set to “static” (which it should be), these parameters will (or should!) have no impact.

Cheers
Oli

Yes, I am using a static mask. I now see that, in the past, the default parameter for the mask in local refinement was dynamic, which is why I had to set those values to 1. But you’re absolutely right—since I’m now using a static mask, I no longer need to adjust those settings.

Thanks again, Oli!

1 Like

Hi @AlejandroLlorente!

I’m glad you were able to get the refinement working. I just want to clarify one thing – ChimeraX reports the position of a maker (and most other things) in Å, not in pixels. This is easy enough to test for yourself:

  1. Open any map with a pixel size that’s not 1.0
  2. Drag the contour all the way down so that you’re just looking at a solid cube
  3. Set the right mouse mode to maker - surface
  4. Click the corners of the cube. The log reads out the coordinate of the marker. Corners will have values up to the box extent in Ă…, not px.

This is why the video said to divide by the pixel size: Ă… / (Ă…/px) = px. However, since version 4.5, you can provide the fulcrum in Ă… or voxels, so this conversion is optional.

Hi @rposert this is absolutely right for ChimeraX, but not (or at least not always) for old school Chimera.

In old school Chimera, measure center on atom selections reports values in Ă…, but the same command applied to maps/masks gives values in px, which can be a bit confusing.

Good to know! I’ll be sure to emphasize I’m talking about ChimeraX in future videos.

2 Likes

Hi all,
This is all so good to know! In fact, I was confused about this for a while. Although I use ChimeraX for most things, ChimeraX still can’t extract densities with Segger. To do this, you still need to use Chimera, which is what I was using.

I found it confusing when Chimera was giving values in Ă… or px, so thank you, Oli, for clarifying that. I figured out that Chimera was giving values in px for the maps just by trial and error, but as I mentioned, I got confused when following the tutorial because the units no longer made sense.

Thanks to both of you—this is much clearer to me now.

P.S.: You can do segmentation with ChimeraX, export the .seg file to Chimera, and extract densities there before importing the maps back. I find this option more user-friendly than doing segmentation with Segger in Chimera, although both approaches work.

2 Likes