Hi all! New to CryoSPARC Discuss — thanks for maintaining such a great community resource.
Background: I’m processing a lattice sample. After symmetry expansion (to shift particle centres), I’ve been running iterative Local Refine. Total particle count is under 1.1M, duplicates already removed at a fixed distance cutoff, and the FSC shows no signs of duplicate-particle inflation.
The issue: To push resolution further, I ran 3D Classification with a relatively large number of classes (first tried 30), splitting the 1.1M particles into 3 subsets and running three parallel 3D Class jobs (params in Fig. 1). I kept all non-junk classes from each job by dragging them into the downstream jobs. Summing the particle counts across all kept classes, I should have >1M particles going forward.
However, every downstream job I run on this combined particle set only sees ~700k particles — a ~30% loss:
-
A Reconstruction-only job reports ~700k particles loaded at the very start of the log (Fig. 2).
-
A direct Local Refine job on the same set reports 0 particles rejected (Fig. 3), but again only ~700k loaded.
-
Extracting the same particle set directly also yields only ~700k. For comparison, extracting particles before they went into those 3D Class jobs worked normally.
Since the drop appears at the “particles loading” stage — it seems like the discrepancy is coming from how the particle set is being assembled/passed after 3D Classification, not from downstream rejection criteria.
My question: What might have happened during 3D Classification that could cause ~30% of particles to disappear before they’re even loaded into the next job? Has anyone seen this kind of mismatch between summed class counts and actual downstream particle counts?
Thanks in advance for any insight!


