Patch CTF won't run

Howdy all
Hitting a weird issue on a new version of cryosparc we are running on a local work station.
Unforunately i’m not really tech savvy enough to interpret the error; I can see it may be some issue with cuda?

I tested some other job types however that use cuda (2d classification etc.) and it seems that the GPU was running fine. Quite perplexed! I also ran ab initio and refine 3D jobs on another users negative stain project as a test and they ran fine, so it seems to be restricted to CTF find.

The first processed micrograph returns no error, but does not process, the second returns the first error message below, and the third and all remaining micrographs return the second error message below.

I may have to ask someone in IT but unsure if they would be familiar enough with the software. I am running default settings on the patch CTF estimation job.

Thanks for any considerations :slight_smile:

Howdy @jimhbean.
Please can you post

  • the text (as text :smiley:) of the traceback
  • your CryoSPARC version
  • the job type of J8
  • a screenshot of the expanded Inputs under Inputs and Parameters
  • any non-default parameters
  • a description of the J8 inputs: provenance, dimensions

Hi
Thanks for your response :slight_smile: The details below.

the text (as text :smiley:) of the traceback

The first error that is displayed (for second processed micrograph):
Error occurred while processing J8/imported/002081751992695112843_20220713_10096_RawImages_resized.mrc
Traceback (most recent call last):
File “/home/schubert/cryosparc/cryosparc_worker/cryosparc_compute/jobs/pipeline.py”, line 60, in exec
return self.process(item)
File “cryosparc_master/cryosparc_compute/jobs/ctf_estimation/run.py”, line 112, in cryosparc_compute.jobs.ctf_estimation.run.run.ctfworker.process
File “cryosparc_master/cryosparc_compute/jobs/ctf_estimation/run.py”, line 118, in cryosparc_compute.jobs.ctf_estimation.run.run.ctfworker.process
File “cryosparc_master/cryosparc_compute/jobs/ctf_estimation/run.py”, line 119, in cryosparc_compute.jobs.ctf_estimation.run.run.ctfworker.process
File “cryosparc_master/cryosparc_compute/jobs/ctf_estimation/patchctf.py”, line 70, in cryosparc_compute.jobs.ctf_estimation.patchctf.patchctf_v217
File “cryosparc_master/cryosparc_compute/jobs/ctf_estimation/patchctf.py”, line 116, in cryosparc_compute.jobs.ctf_estimation.patchctf.patchctf_v217
File “/home/schubert/cryosparc/cryosparc_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.8/site-packages/pycuda/gpuarray.py”, line 550, in fill
func.prepared_async_call(self._grid, self._block, stream,
File “/home/schubert/cryosparc/cryosparc_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.8/site-packages/pycuda/driver.py”, line 565, in function_prepared_async_call
arg_buf = pack(func.arg_format, *args)
struct.error: required argument is not an integer

Marking J8/imported/002081751992695112843_20220713_10096_RawImages_resized.mrc as incomplete and continuing…

The second error that occurs (for micrograph 3 onward):
Error occurred while processing J8/imported/000561236593900554028_20220713_10097_RawImages_resized.mrc
Traceback (most recent call last):
File “/home/schubert/cryosparc/cryosparc_worker/cryosparc_compute/jobs/pipeline.py”, line 60, in exec
return self.process(item)
File “cryosparc_master/cryosparc_compute/jobs/ctf_estimation/run.py”, line 112, in cryosparc_compute.jobs.ctf_estimation.run.run.ctfworker.process
File “cryosparc_master/cryosparc_compute/jobs/ctf_estimation/run.py”, line 118, in cryosparc_compute.jobs.ctf_estimation.run.run.ctfworker.process
File “cryosparc_master/cryosparc_compute/jobs/ctf_estimation/run.py”, line 119, in cryosparc_compute.jobs.ctf_estimation.run.run.ctfworker.process
File “cryosparc_master/cryosparc_compute/jobs/ctf_estimation/patchctf.py”, line 70, in cryosparc_compute.jobs.ctf_estimation.patchctf.patchctf_v217
File “cryosparc_master/cryosparc_compute/jobs/ctf_estimation/patchctf.py”, line 111, in cryosparc_compute.jobs.ctf_estimation.patchctf.patchctf_v217
File “cryosparc_master/cryosparc_compute/engine/cuda_core.py”, line 361, in cryosparc_compute.engine.cuda_core.EngineBaseThread.ensure_allocated
File “/home/schubert/cryosparc/cryosparc_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.8/site-packages/pycuda/gpuarray.py”, line 782, in ravel
return self.reshape(self.size)
File “/home/schubert/cryosparc/cryosparc_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.8/site-packages/pycuda/gpuarray.py”, line 778, in reshape
gpudata=int(self.gpudata),
TypeError: int() argument must be a string, a bytes-like object or a number, not ‘NoneType’

Marking J8/imported/000561236593900554028_20220713_10097_RawImages_resized.mrc as incomplete and continuing…

  • your CryoSPARC version
    Cryosparc V4.2.1
  • the job type of J8
    Patch CTF Estimation
  • any non-default parameters
    All parameters set to default
  • a description of the J8 inputs: provenance, dimensions
    We are using micrographs taken using a DE-20 direct electron detector which has dimensions:
    5090 * 3770.
    Motion correction has already been performed outside of cryosparc so these are alligned .mrc micrographs. I thought the rectangular aspect ratio might be the cause so i have tried this with padded edges to achieve dimensions 5090 * 5090, however the error is the same.

I also want to note here that I migrated these micrographs to a different instance i have access to and the error repeats so it seems it’s some issue with my data.

Thanks so much for your time,
James.

Something is wrong with those micrographs because the DE-20 is not 5090x3770. Unless you’re cropping off the edges during motion correction? How are you motion correcting if not in CryoSPARC?

CryoSPARC has no issues with rectangular micrographs (see: K3 data).

Does the CTFFIND wrapper also fail with the same error? Or a different one?

Hi @rbs_sci and @wtempel
I have resolved the problem.
I had misplaced a decimal in the pixel size input which resulted in a pixel size 10 x higher than it should have been. Fixing that seems to have resolved the issues.

@rbs_sci as for the strange pixel dimensions, thank-you for pointing this out! The motion correction was performed using motioncor2 by one of the microscope operators at our local facility. I’m unsure why these pixel dimensions are used, I’ll make sure to ask him when i see him next.

Thanks both for your time :slight_smile:
James.

Yeah, that’d do it! :sweat_smile:

As the DE-20 output has a noise “frame”, it’s possible that was cropped off.