Is the algorithm for heterogeneous refinement described anywhere?

Re-up of this: Parameters for heterogeneous refinement?

It would be helpful to have either a paper or at least a detailed description of heterogeneous refinement, so users can have a better idea of how to tweak parameters to achieve better results (and also so there is something to cite when using it in published work).


Hi @olibclarke,

This is a good idea - there are yet many parts of cryoSPARC that we haven’t got around to writing too much about. Is there anything in particular about hetero refine that I can explain here?
In general hetero refine is almost the same as 2D classification, but in 3D - we are iteratively classifying particles between the current references and then updating the references. It uses an “online” optimization algorithm that doesn’t need to look at the whole dataset at every iteration, mostly for speed and increasing exploration ability. Particle assignment between classes is probabilistic.

Hi @apunjani - where is the algorithm for 2D classification in cryosparc described? I couldn’t find it in the original paper? A description of both would be helpful for users I think, in sufficient detail to understand the import of the advanced params



Hi @olibclarke,
2D classification is also missing a detailed description, you’re right. We are planning out a rework of our online documentation/user guide so we’ll aim to write up this level of detail for each job type.

1 Like

Hi @apunjani,
I did particle subtraction in Cryosparc for one subunit. Can I do Heterogeneous Refinement for this particle-subtraction dataset? How to focus on the region of interest? Thanks so much!

Hi @donghuachen,

Unfortunately at the moment, cryoSPARC’s heterogeneous refinement does not work with a mask input and so can’t be used effectively for classification of a subregion.
You can, however, try to run 3D Variability Analysis with a mask that contains only your region of interest - this will often find local conformational changes both discrete and flexible.

@apunjani Ali, could you provide a brief comment about these two key aspects for 3D classification?

  • Is alignment conducted independently for every class, or do classes share alignments?
  • Is a global B&B alignment search performed at every iteration? Are local alignment searches performed at any step?