Error extracting particles after CTFFIND


I have run CTFFIND on a set of mics from within the cryosparc interface (v4.1.x). CTFFIND runs fine, and I am able to run a subsequent Curate Exposures job successfully.

However, when I attempt to extract particles, all fail with the attached error, even though extraction from the same micrographs processed using Patch CTF works fine.

Additionally, if I take the extraction from Patch CTF mics, and replace the CTF slot with the one from CTFFIND, it runs.

However, if I take the extraction from CTFFIND mics, and replace the exposures slot with the one from Patch CTF, it fails.


[CPU:   1.61 GB  Avail: 209.44 GB]
-- 0.1: (4 of 11075) processing J400/motioncorrected/000067347418442100066_23feb06b_XXX_blue1a_00001gr_00003sq_v03_00002hln_00006enn.frames_patch_aligned_doseweighted.mrc
        31 particles extracted (0 rejected near edges)
[CPU:   1.54 GB  Avail: 209.42 GB]
Error occurred while processing micrograph J400/motioncorrected/000524393868538957606_23feb06b_XXX_blue1a_00001gr_00003sq_v03_00002hln_00005enn.frames_patch_aligned_doseweighted.mrc
Traceback (most recent call last):
  File "/home/exx/cryosparc/cryosparc_worker/cryosparc_compute/jobs/", line 60, in exec
    return self.process(item)
  File "/home/exx/cryosparc/cryosparc_worker/cryosparc_compute/jobs/extract/", line 485, in process
    path_abs = os.path.join(proj_dir_abs, micrograph['background_blob/path'])
KeyError: 'background_blob/path'

Marking J400/motioncorrected/000524393868538957606_23feb06b_XXX_blue1a_00001gr_00003sq_v03_00002hln_00005enn.frames_patch_aligned_doseweighted.mrc as incomplete and continuing...

@olibclarke Please can you post screenshots of the Inputs and Parameters tab’s Inputs sections of the extraction job you mentioned.
Are all the extraction jobs you mentioned descendants of the same run of the same motion correction job?

Yes, the patch CTF and CTFFIND jobs were both starting from the same Patch Motion job.

@olibclarke looks like the CTFFIND job somehow lost the background_blob input that should have been passed through from the motion correction job. Not sure how this happened, but you should be able to fix it by dragging the Patch CTF job’s background_blob input into the Extraction job’s micrographs slot:

Let me know if that works

Hi @nfrasser

Thanks - I already have a workaround (running the extraction from Patch CTF mics and replacing the CTF slot with the one from CTFFIND) - it just seems like a bug that the background_blob is not being generated by CTFFIND. I wasn’t doing anything unusual, just running CTFFIND with default parameters after Patch Motion


Hi @olibclarke Please can you post a screenshot of the upstream CTFFIND job’s Inputs.

Hi @wtempel, here you go:

And outputs of CTFFIND:

So the background blob is there in the inputs of CTFFIND, but not in the outputs.

Thanks @olibclarke. In this case, please can you email us the job report for this CTFFIND job. I wonder whether a parameter or other job setting could be in the way of passing through background_blob.

Sent via DM, thanks @wtempel!

Please continue to use this workaround for now as we were unable to reproduce the problem on our end.
Please send us a direct message if you have minimal set of inputs that you could share with us and with which we could reproduce the problem.

1 Like