Blob pick does not pick the right particles

Hi everyone

I got a dateset from CRYO ARM 300 electron microscope (JEOL) operated at 300 kV with 20 eV energy filter, pixel size =0.95 A (by K3 direct electron detector).

I load movies to cryoSPARC, carried out motion corr and patch CTF, but when I executed blob pick and 2D class, I could not obtain any corrected 2D class.

But, when I used templated pick (which generated by other’s published structure), I could obtain many corrected 2D class.

(raw movies)

(2D classification from blob pick)

(2D classification from template pick)

The parameter of blob pick:
min/max particle diameter:100/200 (true particles diameter approximately 150 A)
use elliptical blob:true (I also tried that circular blob, but the result is the same)
lowpass filter templates :10
lowpass filter micrographs: 5
max number: 1500

The parameter of Extract from micrographs:
box size: 512
force re-extract CTFs: true

The parameter of 2D classification:
circular mask :200
force max over poses/shifts: false
final full iterations:5
number of online EM iterations:40
batchsize per class:200

Now, I have never been able to obtain a high res map, through the template pick.

  1. I am wondering why the blob pick does not work? can I do to obtain a high res map?


I am very much looking forward to your guidance!

Hai Wu

Hello @hai,

The micrograph above doesn’t look good to me. I cannot locate particles with ~150 Å diameter that look similar to the 2d class averages calculated from your template-picked “particles”.

Which brings up the elephant in the room: I’d be cautious of the template bias you could introduce with template picking. While there is nothing wrong with generating templates from published structures, an unbiased method, such as blob picking, should first be able to produce something that looks like your protein of interest in 2D classification.

If the majority of the micrographs looks like the one you posted above, I would go back to obtaining a better set of micrographs.

Can you manually pick some particles from your micrographs? Do manually picked particles yield realistic 2d class averages? You can also try different parameters for blob picker or blob picker tuner. I’d also try removing the noise particles as much as I can with Inspect Particle Picks.



Hey @kookjookeem

Thank you very much for you reply!

In fact, I can not manually pick any particles from this dateset, I also used template from other workspace (same protein), they have a same result. So I also wondering that whether this particle in 2D classification that looks like what I want are real?

Other question, what should I think about when I used imported map as a template to do particle picking. How can I be sure if this structure is real in futher refinement?


This is really dangerous. :warning: :warning: :warning:

The reason why you aren’t getting anything with blob picks but are with templates is that at the frequency cutoffs you are using, you are picking high-frequency noise.

Using templates is fine, but you need to make sure you get rid of any high frequency information - low pass filter to 20 (default) or even 30 A. Make sure both mics and templates are filtered >20 A.

Please show a low pass filtered (12A, more tends to blow out the mic in CryoSPARC) version of the micrograph you posted above, as there is something between the two ice smears, but it looks rather broken and might just be JPEG artefacts combined with a little wishful thinking on my part… :rofl:


Double post. Sorry.

If using a completely different set of templates gets the same result, you’re picking noise.

For amusement, you could try picking templates from an apoferritin map projection set and see if you find apoferritin!

If you can’t pick manually, that’s a big, big red flag warning.



In fact, I have execute blob pick with lowpass to 20A too.
Min/max diameter:70/170
lowpass filter templates/ micrographs: 20A (default)

Extract from micrographs:
box size : 360A

circular mask diameter: 180
false max over poses/shifts: false

(2D like this)

lowpass filter 5A:





trully particle like this (ticked)

I can’t see in the micrographs what you’ve ticked in the 2D… :frowning:

is the CTF fit from the same micrograph that you are showing? To me it looks like this particular micrograph is just carbon, or maybe extremely dense with super tiny particles, and I can see nothing like the ‘good’ 2D classes. Could you maybe share a couple more micrographs?

your protein looks like an integrin to me, I know several people who had good success with particle density for integrins when they used UltrAuFoil grids.

yes, I also can not find any particles in those miecrographs, but when I use other’s published map as templates, I picked a lot of particles what I wanted and got a map at about 5A (<5A) in the futher refinement.

maybe this CTF fit not match to this micrographs, I do not know how to check the CTF of a specific micrographs (I use CTFFIND4 in cryoSPARC)

next, I show you a inspect picks job after the template pick job in 1A and 20A lowpass filter.


I am still puzzled, so any one have a suggestion about why I can not blob pick any particles but template pick is worked well?

I am so confused by this.


Hello @hai!

I think it may be worth considering whether the particle you are looking for is truly present in the micrographs. @rbs_sci’s point here Blob pick does not pick the right particles - #4 by rbs_sci is an important one — if you provide high-frequency templates during template picking, you run the risk of template bias.

There’s a rather famous example of this phenomenon here:, which reproduces the also-famous “Einstein from noise” figure from an earlier paper on model bias. In the PNAS paper, Richard Henderson discusses how carefully picking “particles” which are in fact pure noise can create convincing-looking 2D class averages, even if the particle is not present at all.

I will also provide a concrete example here:

Let’s take a look at these beautiful micrographs from EMPIAR-10424. These are micrographs with lots of high-contrast ApoF particles in them:

But let’s say I’m looking for a different particle, one that looks like the Structura logo. I’ll provide this template to Template Picker, and set both lowpass filters to 1 Å.


In essence, when you perform template picking, you are asking CryoSPARC to look through every position of your micrograph and find patches which look like the templates. In my case, even though there are clear ApoF particles and certainly no visible particles which look like the Structura logo, I still found 39k particles! And when I average those particles together, I get a “2D class average” which looks convincingly like the logo:


Of course, we know that there are no particles in these images which look like the logo. Instead, Template Picker picked thousands of positions of noise which, by random chance, happened to look a bit like the template we gave it. Each one individually doesn’t look like much at all, but averaged together the trend emerges.

It’s very important to avoid this effect, so the field generally recommends filtering your templates to a very low resolution. The default in CryoSPARC is 20 Å, but when you are providing data from outside your project you cannot be sure that such a template is present in your data at all. In these cases, it is necessary to filter the templates even more aggressively. This is why @rbs_sci suggested increasing the filter value to 30 Å in your case.

If you could find your particles using the blob picker, then you could be more confident that they are actually present in your micrographs. However, it would still be important to lowpass filter the templates, since you can pick biased noise even if the particles are present! In general, it is rarely correct to reduce the filter value of the template picker.

I’m sure this is not the answer you were hoping for, but I think in this case I would be very wary of trusting the template picker results until you can produce class averages which look like your particle using a less-biased technique, such as blob picking.

I hope that is helpful!


Hey @rposert

Thank you!

your answer helped me to understand why I need to set a low pass filter of template to 20A (or even 30A). Thank you too @rbs_sci.

I still have a question about “lowpass filter to apply to template” in blob pick. what is the template in blob pick?

Hello @hai!

I’m glad it was helpful!

In CryoSPARC, the blob picker is essentially the same as a template picker, but the template is a Guassian “blob” rather than some image which (might) look like your protein. So the lowpass filter for the template controls the frequency at which that blob is filtered. It’s more visible on the ring than the blob or ellipse:

10 Å

50 Å

100 Å

I hope that helps!