Refinement to enrich for complex particles instead of 2D classification

Hi cryoSPARC devs and users,

I have a question regarding the image processing workflows.

Usually, we go through the “classical” approach, blob/template picker, and extensive 2D classifications.

The issue is here that due to worker limitations, we usually don’t exceed 200 classes per classification, and after blob picking, there are to many extracted particles to get zero classes. So, less abundant signatures are somehow lost in noise classes.

To somehow overcome this, we recently ran the full analysis pipeline on a small subset of our data to get reconstructions of our particles. After blob picking the full dataset, we used Hetero Refinement with our previously identified signatures and some noisy classes to fetch all the junk particles.

Surprisingly, this actually worked pretty well. The number of particles in the refined classes matched our expectations of particles/micrographs, based on the small initial subset.

We are now thinking if this could be a general procedure. So instead of iterative runs of 2D classification, use some pre-defined volumes to enrich them.

Unfortunately, Hetero Refinement does not seem to have an output “Unused particles”, like ab initio has.

So my questions are:

  • could unused particles be included in refinement so one can “filter” for particles matching the initial volume
  • is this workflow generally sound and suitable for what we’re thinking about

The big question that might arise is: why, though?
We’re working with fractionated cell extracts and not with enriched & homogenous samples. So often, our data analysis is a search for the needle in the haystack. Additionally, due to relatively low abundance, we acquire a lot of images, and during blob picking, we end up with easily 30 million + extracted particles. A lot of them are ribosomes. So, in an initial “capture” step, one can exclude the ribosomal particle by using known ribosomal structures as bait in the proposed refinement.

I’m looking forward for the discussion.


In general, if you can sort in 3D, I think 3D performs better. But if I’m understanding what got you to try it in 3D, it’s that you have so many particle types, and views, that 200 classes doesn’t give you any junk classes?

If so, you may be interested in the discussion in this thread, about the ‘anneal sigma’ setting in 2D classification:

Regarding your hetero refinement question:

I’m not sure I understand. Hetero-refinement will refine all the particles you tell it to. All of them must go to at least one volume, right? So “unused particles” would just be the particles in the classes you aren’t interested in, right? A lot of people will stop their ab-initio after the first iteration (when everything is an amorphous blob) to generate the “junk” map for their het refinement. Then, if you force hard classification, it’s pretty easy to use het refine like a filter.

Could training an AI picker (and input things like ribosomes as “not particles”) also be a solution here?

1 Like