3D classification - unreproducible results with the newest version

Hello, 3D classificaiton in the latest version of cryospacr (v4.1.0) outputs very different results from the previous version (see ESS score for old vs new 3D classificaiton results attached). All parameters are the same between the 3D classification runs in the old and new CS versions. I have also tried truing on and off the per-particle scale optimization in the new version but resutls are unchanged. Are there any other changes to the algorithm that have made the 3D classificaiotn results so different in the newest CS version? Any feedback is appreciated. Let me know if you need more information.

Hi @mtmj,

Welcome to the discussion forum!

Are there any other changes to the algorithm that have made the 3D classificaiotn results so different in the newest CS version?

The only other change in 4.1 was a fix of a subtle bug that involved using an incorrect premultiplication factor during back-projection. In our testing, this has not had a substantial effect on most classification jobs, but it could be causing the issue you’re seeing here.

The effects of this bug would be most pronounced if particles were tightly cropped. If this is the case here, perhaps the ‘good’ behaviour you were seeing in 4.0.2 was actually due to the incorrect re-weighting of real space components at the outer edges of the volume, rather than due to real heterogeneity. Nevertheless, the fact that the class ESS histogram is not collapsing at all in 4.1 is rather strange, but may be due to the fact that target resolution is too low to identify any significant difference between the classes.

Can you supply a bit more information about your 3D classification job? Namely:

  • Number of classes (looks like 2?)
  • Target res / N_v (see the beginning of the event log)
  • Particle box size
  • Approximate target diameter (relative to box size)

Best,
Valentin

1 Like

Hi Valentin, below are the information you resquested:

Number of classes = 2
Target resolution = 30 Angstrom (‘N_v’: 42)
Particle box size = 400 pixels (1.03 Angstrom/pixel)
Approximate target diameter = 150 Angstrom

I have tried target resolution of 6 Angstrom (‘N_v’: 144) and there is no improvement. The particles are not tightly cropped. I am using a focused mask and signal subtracted particle images. Do you recommend that I use a larger focused mask in the newer CS version?

I am using a focused mask and signal subtracted particle images.

Ah, this might be the issue. Have you tried using non-subtracted particles? The way in which we apply the focus mask effectively does signal subtraction as part of the classification (see this thread or the 3D classification tutorial).

Note that we changed the way we handle masks in CryoSPARC v4, not v4.1 – so this would not explain why you see different results between v4.1 and v4.0.2. Perhaps the signal subtraction is interplaying with the pre-multiplication bug in some weird way in v4.0.2.

Another quick clarification: are you supplying your own solvent mask? If not, you can try supplying one along with the focus mask.

The solvent mask should be a soft mask that covers the entire target – the mask output from an upstream refinement job should typically work well. There was a recent bug pointed out in v4.1.1 that affects automatic solvent-mask generation when a focus mask is supplied.

Thanks for your suggestions Valentin! Using non-subtracted particles and providing a solvent mask (I was not using solvent mask before) improved the results.

1 Like