Error with local CTF refinement



I got a tricky problem here with cryoSPARC 2.14.

Here’s what I did

  1. Import movies, patch motion alignment, patch ctf (pixel size 1.37)
  2. Import a prealigned particle stack from Relion with some mrcs to trick cryosparc for importing. The euler got imported & also the micrographs get connected.
  3. I don’t refine the imported particle stack but perform Extract particles from micrographs, and fourier cropping to 1.745 (402 pixel box size). Now the newly extracted particles has all the previous alignment data from the imported stack.
  4. Local refinement work well of the extracted particle stack and imported reference/mask, resulting at 4.6 A resolution.
  5. When I proceed to Local cTF refinement, using the extracted particles stack, resulting volume and mask (all at 402 pixel box size and 1.745 A/pixel), I got the following error
[CPU: 1.73 GB]   Traceback (most recent call last):
  File "cryosparc2_worker/cryosparc2_compute/", line 82, in
  File "cryosparc2_worker/cryosparc2_compute/jobs/ctf_refinement/", line 156, in
  File "cryosparc2_worker/cryosparc2_compute/jobs/ctf_refinement/", line 182, in
  File "cryosparc2_worker/cryosparc2_compute/jobs/ctf_refinement/", line 346, in
  File "cryosparc2_worker/cryosparc2_compute/engine/", line 649, in cryosparc2_compute.engine.newengine.EngineThread.setup_current_poses_and_shifts_from_alignments
AssertionError: psize in alignments not the same as comparison size!

Looking at the previous discussion, it was because there is a difference between reference & particle box size. However, in this case, it is exactly the same. Can you explain what went wrong here?


I tried to test with boxing out a small set of unbinned particles and local refinement, then ctf refinement. It worked. However dealing with the unbinned dataset will be very long for me (512 x 512 x 200k particles).


Hi @builab, I believe this is happening because the alignments you got at step 2 are based on the original pixel size instead of the cropped one.

Another workaround you could try is use the particle outputs from the Local Refinement (step 4) in your Local CTF refinement (step 5).

Hope that helps!



I use the particles output from step 4 and still got the error. Using unbinned particles work well. I was scared that it is as slow as Relion but in the end local refinement of 512^2 particles is very fast. I think I just work with full size particles for now.