Odd appearance of resolution histogram in local resolution experiment


Just tried out the local resolution experiment in 0.5.3 - very nice addition!!

One question - the resulting histogram (attached), shows distinct “stair-stepping” in the resolution histogram. Is this the expected behaviour? I used the default parameters.

EDIT: Actually didn’t quite use default params - changed FSC threshold to 0.143 for consistency with global res estimates. But otherwise default.


Also, any plans to implement filtering/sharpening by local res (similar to blocfilt?)


i have also tried it and it works well. I did not get this Stair stepping but a relative normal histogram. However i did have “outliers”
around 44 (?) with the mean being 3.6Å. Is that normal?

Hi @ruki, I am also seeing the outliers, but only when I run with an FSC threshold of 0.5, not 0.143. Strange.


Also, @apunjani, is it possible to use external half maps as input? Right now, I input a single selected map, but I am guessing CSparc is actually using the final half maps from the refinement - would be good if it was possible to use imported maps for this, so we can use CSparc for local resolution analysis of refinements performed in other programs.


1 Like

@olibclarke Yeah I should add that was for my 0.5 FSC run. the 0.143 run did also have some lowres outliers but at 33Å. though the 0.143 had some high res noise (I think).

If you try and do localres on a sharpened map it states that it need half maps, so I am sure it uses the half maps from the refinement. But it would be nice if it was possible to feed it external half maps as well, just for comparison. But so far I am really happy about the ease of use and speed of the new update.

Edit: I should add the histograms:

default values 0.143 FSC:

default values 0.5 FSC:

0.5 FSC, kernal width changed to 30:

Come to think of it I do have the stair stepping oli mentions, I just did not notice it because the unit on the X-scale was upset due to the outliers.

Would it it be possible to incorporate the krr (kernal to resolution ratio) in the localres setup page instead of just setting the kernal voxel width? So the default resolution value comes from the input map and the kernal voxel width then depends on what krr you choose? with, according to the paper, a krr of 5 being pragmatic and a krr of 7 being conservative.
However they also suggest that you use the FSC 0.5 cutoff and that the resolution you use for the krr should be that of 0.5 FSC and not the 0.143. So for this to work the resolution taken from the input map should be the 0.5 FSC resolution I guess, which I guess is an easy fix.

But is it a good idea?
I personally find that it seem to work as they state in the paper, based on trying different kernal voxel width values calculated from the 5-7 krr interval using 0.5 cutoff resolution.

1 Like

It would also be nice to be able to normalize to the global resolution - I believe blocres has an option for this. So that way, one can normalize to the global “gold standard” FSC=0.143 resolution, while still using FSC=0.5 for local res estimation.

(EDIT: actually blocres doesn’t have an option to normalize to the global resolution, but sxlocres does: http://sparx-em.org/sparxwiki/sxlocres)

Hi @olibclarke this is Haowei and I am the developer working on local resolution estimate at CryoSPARC. Great to hear that you have started to use our new feature.

To answer your questions, I did not expect this “stair-stepping” in the resolution histogram and I dont have a good explanation for it now and would need some time to figure it out. And, implementation of local filtering is currently in progress and hopefully would be released in a few weeks. The “outliers” on the graph is possibly due to poor signals near the edge of the half-map structures, which should be minimal in the histogram.

Thanks for your feedback!

1 Like

Thanks for the reply @HaoweiZhang, and great work! How about normalizing local res calculated at FSC=0.5 to global res calculated at 0.143? This will be important for local filtering - I wouldn’t want to use estimates that are too conservative when filtering the map, as one risks losing information


Hi @ruki this is Haowei and I am developer working on local resolution estimate at CryoSPARC. It’s great to have your feedback. We would certainly add krr into setup page if it helps.

Hi @olibclarke I can add this into feature tracker if it helps. Hopefully it can be added in the next deployment. Thanks for your feedback.

1 Like

Hi @HaoweiZhang!

No problem!

Regarding the krr i was just thinking that it seems to fit in with your setup. It seems you put a lot of effort into identifying the best all-round default values for all of your programs. So introducing krr would make it even easier to run localRes for newbees like me, as you would not have to try many different kernal voxel width values to get a good result. Also you could maintain the ability to change the kernal value manually under advance settings etc.

So if krr is implemented i guess it should just use the resolution corresponding to the FSC cutoff the user picks, for the krr calculation, right?

Hi @ruki I suppose so. I will look more into it to add krr to option.

Hi - I just want to back up Oli’s suggestion - We also think it would be good to be able to use the local resolution job on imported maps refined with other programs… Cryosparc’s local resolution algorithm seems to be doing a really nice job!


Hi @HaoweiZhang, so it seems like the krr was implemented, right, as the “Adaptive Window Factor”? But in the tips to the right of the option, it says that a default value of 6 is fine. According to the original paper, this is true for an FSC threshold of 0.5 (where a krr >5 is recommended) but not for a threshold of 0.143 (where a krr of >35 is recommended). It might be worth altering the text for the recommended value of the adaptive window factor to reflect the fact that it is dependent on the FSC threshold. Also, any word on when local filtering (I guess an implementation of blocfilt?) might be coming? Would be very very useful!!

Also, if the user selects a threshold of 0.5, does CryoSPARC normalize the local resolution map based on the global resolution determined by FSC at 0.143?


Hi @olibclarke, what you said about krr is correct. I would alter the text in the coming cryoSPARC v2. And for local filtering, it would be officially released in cryoSPARC v2 :slight_smile:

Hi @ncoudray, I will add that option in cryoSPARC v2 :slight_smile:

That’s great news, thanks!
Do you approximately know when v2 will be released?