I’m trying to align multiple 3D volumes (different refinement metaparameters) to a reference volume with correct chirality and a known pdb model fitting it, to check manually which metaparameters give better details in the map.
Whereas this approach worked perfectly for 320 px box on a different project, for a larger box (640 px) on another project I get:
Traceback (most recent call last): File "cryosparc_worker/cryosparc_compute/run.py", line 93, in cryosparc_compute.run.main File "cryosparc_worker/cryosparc_compute/jobs/align_3D/run.py", line 71, in cryosparc_compute.jobs.align_3D.run.run_align_3D File "cryosparc_worker/cryosparc_compute/jobs/align_3D/run.py", line 146, in cryosparc_compute.jobs.align_3D.run.align3D File "/opt/cryosparc/cryosparc_worker/cryosparc_compute/align3D_gpu.py", line 121, in align_volumes errs = compute_align_errs(rs,ts,gfV1,gfV2,radwn,cuda_dev=cuda_dev,stream=stream) File "/opt/cryosparc/cryosparc_worker/cryosparc_compute/align3D_gpu.py", line 30, in compute_align_errs gpuarray.empty((N_R,N_T_aligned),n.float32)) File "/opt/cryosparc/cryosparc_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.7/site-packages/pycuda/gpuarray.py", line 210, in __init__ self.gpudata = self.allocator(self.size * self.dtype.itemsize) pycuda._driver.MemoryError: cuMemAlloc failed: out of memory
which is obviously a memory issue.
Is there a way I could keep the alignment within CryoSPARC with the current box size, or should I switch to other tools? And are there any tools that can do it in automated fashion – so far I’ve done only semi-manual ChimeraX volume alignment, which seems tedious for ~10 volumes🥲