2D classification job failed for helical reconstruction

Hello,

I am running the tutorial dataset EMPIAR-10031 for helical reconstruction on cryosparc v3.1.0. I can get good 2D classes if I use the movies as the starting point and follow the tutorial. However, all my 2D classfication jobs are bad if I import aligned micrographs. I am either getting the following error message at the beginning of my 2D classification jobs or getting weird 2D classification results.

[CPU: 1.73 GB] Traceback (most recent call last):
File “/net/home/cryosparc/cryosparc-software/cryosparc2_worker/cryosparc_compute/jobs/runcommon.py”, line 1726, in run_with_except_hook
run_old(*args, **kw)
File “cryosparc_worker/cryosparc_compute/engine/cuda_core.py”, line 130, in cryosparc_compute.engine.cuda_core.GPUThread.run
File “cryosparc_worker/cryosparc_compute/engine/cuda_core.py”, line 131, in cryosparc_compute.engine.cuda_core.GPUThread.run
File “cryosparc_worker/cryosparc_compute/engine/engine.py”, line 1108, in cryosparc_compute.engine.engine.process.work
File “cryosparc_worker/cryosparc_compute/engine/engine.py”, line 389, in cryosparc_compute.engine.engine.EngineThread.find_and_set_best_pose_shift
File “<array_function internals>”, line 6, in unravel_index
ValueError: index -1111240445 is out of bounds for array with size 336

What does the “out of bounds” mean? Is the memory not enough? Can someone help me out?

Thanks,
Chen

Hi @Chen,

Thank you for reporting. This is a troublesome error that we see pop up from time to time but still haven’t identified the root cause for. It seems to potentially be related to bad input data, but we aren’t sure. When you imported aligned micrographs, was this from the same dataset (10031) or different dataset? Does 2D Classification present this error for multiple datasets, or is it just this one?

Best,
Michael

Hi @Chen,

Apologies for the double message, would you mind also sharing which extraction jobs were used for both jobs? Did you use “Extract from Micrographs” or “Extract from Micrographs”, and was there any fourier cropping used at extraction time?

Best,
Michael

Hi @mmclean,

I only tried the EMPIAR-10031 so far. So the particles are from the same dataset.

Hi @mmclean,

Sure, I run “Extract From Micrographs (CPU)” with the imported micrographs. I just checked and found the output particles are werid. I also get much fewer particles than the tutorial even if I used the same parameters in the inspection job.

image

Hi @Chen,

Unfortunately there is currently a small bug with the CPU Extraction job that may be causing the initial ValueError downstream, in 2D Classification. We hope to have this fixed in a patch or release soon, but for now, could you try re-running the same workflow with the GPU Extraction job (i.e. the “Extract from Micrographs” job) and letting us know if the error persists during 2D Classification using these re-extracted particles?

Best,
Michael

Thank you for your suggestion. Now I got good 2D classes with GPU extracted particles.

1 Like

Dear,
I got asSimilar kind of error when I launched a 2D classification job with imported particles from Relion 3.1 to Cryosparc 3.1. The import job of the particles was successful.

[CPU: 2.02 GB] Traceback (most recent call last):
File “/home/ap/cryosparc1/cryosparc_worker/cryosparc_compute/jobs/runcommon.py”, line 1726, in run_with_except_hook
run_old(*args, **kw)
File “cryosparc_worker/cryosparc_compute/engine/cuda_core.py”, line 130, in cryosparc_compute.engine.cuda_core.GPUThread.run
File “cryosparc_worker/cryosparc_compute/engine/cuda_core.py”, line 131, in cryosparc_compute.engine.cuda_core.GPUThread.run
File “cryosparc_worker/cryosparc_compute/engine/engine.py”, line 1108, in cryosparc_compute.engine.engine.process.work
File “cryosparc_worker/cryosparc_compute/engine/engine.py”, line 389, in cryosparc_compute.engine.engine.EngineThread.find_and_set_best_pose_shift
File “<array_function internals>”, line 6, in unravel_index
ValueError: index -1066950034 is out of bounds for array with size 336

Do I need to import the Micrographs too? and re-extract in Cryosparc again? Please sugest.

With regards

Hi @ananthkoch,

This error sometimes occurs with corrupt/bad data. Could you let us know if any parameters were set differently from their defaults in the 2D classification?

If this error persists, it may be easier to import the micrographs, re-do the import particles with the micrographs connected, and then finally re-do the particle extraction using the Extract from Micrographs. You may have to modify the Length of input micrograph path prefix/suffix to cut and Length of rlnMicrographName path prefix/suffix to cut for query parameters in order for the correspondence between micrographs and particles to be made correctly.

Best,
Michael

Dear,
Thank you for your prompt reply. I have used the default parameters for this job. I am sure that there are no bad or currupted data. To be noted, I was su essful when I used the previous versions like 2.0. To recheck, I will redo the import and reextract with the micrographs connected.

With regards