Symmetry Search Utility Compiling Error

Hey cryoSPARC team,

Whenever I try to run a ‘Symmetry search utility’ job, whether it be using rise/twist or pitch/subunits per turn, the job will run through for the most part letting me see the 2D mean squared error surfaces, but then fails at the ‘Compiling job outputs’ stage. The error I get is:

[CPU: 398.8 MB]  Traceback (most recent call last):
  File "cryosparc_worker/cryosparc_compute/", line 90, in
  File "/usr/local/cryosparc2_worker/cryosparc_compute/jobs/", line 959, in create_summary_from_job
    summary.update(create_summary_from_dataset(output_group_dataset, result_names_to_types_map))
  File "/usr/local/cryosparc2_worker/cryosparc_compute/jobs/", line 942, in create_summary_from_dataset
    summary_fields = com.summary_result_fields[result_names_to_types_map[prefix]]
KeyError: 'symmetry_candidate.sym_params'

I’m not amazingly confident in the 2D heat maps that I can see in these failed jobs, as whenever I run a helix refine using the data suggested by the symmetry search, I end up with a worse resolution than my unbiased helix refine (which is at 8.36A so not the best). Despite my jobs failing, are these symmetry searches complete? Or is there an iterative process to it all which should narrow down the parameters for me (assuming I can get past the error message)?


This is an example of how the 2D heat maps look at the moment



Dear @mg643,

Thanks for reporting. The error during compiling job outputs seems to be a bug, however it shouldn’t affect the job’s stream log outputs, including the heat maps and the candidate solution table. We’ve added this to our tracker.

Unfortunately determining helical symmetry from a cryo-EM dataset in isolation is still an open problem and in many cases it actually isn’t possible to do so without ambiguity (see Helical ambiguities and Helical Tutorial Symmetry Output for some previous threads touching on the issue, also Prof. Egelman’s paper on the subject). The symmetry search job is rather simple in that it uses the volume to do a grid search over the indicated parameter ranges, which was intended for cases where C1 reconstruction/refinement is possible – but if the volume itself didn’t converge on the correct symmetry solution, then it won’t be of much help. There are other programs that use different approaches, e.g. the SPRING packages’ SegClassReconstruct program (based on determining symmetry from a single 2D class), and also more manual methods like Fourier-bessel indexing using the power spectra of 2D classes.

Hope this helps,

1 Like