Homogeneous, Heterogeneous and Non-uniform refinement

Hey guys, I am a beginner in cryosparc as well as image processing. I have processed my data upto ab initio model. After that I am confused what type of refinement(homogeneous or Heterogeneous or non uniform) I should do. Can anyone explain

  1. what are these and
  2. how do I know which one is to be applied.
  1. Lot’s of info in the forum and documentation, you can find extensive descriptions in both, just search.
  2. Basic pipeline: Patch Motion > Patch CTF > Curate exposures > Pick particles > Inspect particles > Extract particles with 4-6x Fourier cropping (“binning”) > 2D classification > Discard bad classes > Ab initio with 1-8 volumes > Het. refine with same particles using ab initio volumes (good and bad) as references > Homo. refine / non-uniform of good classes > Re-extract with 2x cropping > Homo. refine / non-uniform. If resolution is near Nyquist, re-extract without any cropping, repeat homo / non-uniform. Try defocus refinement. If resolution improves use exposure group utilities to split groups and try global CTF refinement.

Links on links on links

What is the difference between these two? And how would I know which one to do? Is it kind of trial and error method where one tries both and check which one work best.

For your case, they’re the same, NU-refinement is a much improved version (regularization at every iteration - described in a dedicated manuscript), so although the job takes nearly twice as long I would suggest to run this one every time.

1 Like

Non-uniform refinement is specifically designed to handle particles with large variations in local resolution. Think of a complex with a rigid/stable component A and a more flexible component B: the map around A will look sharp, while it will look blurry around B. Non-uniform refinement tries to take this into account to produce a sharper map around B.

So, in my view it makes more sense to run homogeneous refinement first, because if the resulting map looks good then you are done and NU refinement will not improve it much.


Alternative pipeline:

  • Patch Motion
  • Patch CTF
  • Curate exposures
  • Pick particles
  • Inspect particles
  • Extract particles with Fourier cropping to 128 pixels
  • Run cryodrgn abinit_het
  • Explore the results, discover what you might have missed from the several rounds of excluding particles in the basic pipeline

I have followed both procedures on a recent screening dataset (~1500 movies from a Glacios/Falcon3). The basic pipeline led me to the conclusion that the binding factor I am trying to observe bound to another stable protein is nowhere to be seen. The alternative pipeline suggested that I do have the complex, it is simply a very small population of particles; so, a rather encouraging result actually (better than seeing nothing and getting no clue about how to improve).


I am new to data processing. My Non-uniform refinement and Homogenous refinement jobs keep failing when I give bigger box size. I gave a box size of 672 pixels. I discarded bad classes and tried to refine my classes. But still my refinements keep failing. When I tried running the jobs with smaller box size they seem to run fine. How do I overcome this issue. Should I change any parameters?