3D classification crash ending with AssertionError

Hi!

I’m running into an error during 3D classification that’s occurring fairly far into the jobs. The job as configured is in simple mode with only a few classes (4), D2 symmetry, reordering classes by size set to true and ~1.4M signal-subtracted particles that were aligned previously in a local refinement job. Other parameters are left at default. The error results around iteration 700 and is as follows:

Traceback (most recent call last):
  File "cryosparc_master/cryosparc_compute/run.py", line 115, in cryosparc_master.cryosparc_compute.run.main
  File "cryosparc_master/cryosparc_compute/jobs/class3D/run.py", line 974, in cryosparc_master.cryosparc_compute.jobs.class3D.run.run_class_3D
  File "cryosparc_worker/cryosparc_compute/plotutil.py", line 811, in plot_3D_classes
    assert len(class_ids) == N_K
AssertionError

Thank you,
Russell

@RussellM Please can you post the output of the command (replacing P99 and J123 with the job’s actual project and job IDs):

cryosparcm cli "get_job('P99', 'J123', 'job_type', 'version', 'params_spec')"

The output is:

{
  '_id': '6671d5b62a8475704efe6a9d',
  'job_type': 'class_3D',
  'params_spec': {
    'class3D_N_K': {'value': 4},
    'class3D_reorder_classes': {'value': True},
    'class3D_symmetry': {'value': 'D2'},
    'class3D_target_res': {'value': 2.5},
    'compute_use_ssd': {'value': False}
  },
  'project_uid': 'P15',
  'uid': 'J484',
  'version': 'v4.5.1'
}

Hi there @RussellM,

Thanks for reporting this bug. This is a known issue with 3D Classification on CryoSPARC v4.5.1-3 and the workaround currently is to disable re-ordering based on class sizes. Do let us know if this workaround doesn’t resolve the bug for you.

Best,
Michael

@RussellM – FYI: this should now be fixed in Patch 240807.