Issue with Particle Extraction Job in cryoSPARC v4.5.3: Missing particles.location Information

Hi everyone,

I am currently studying the structure of antigens displayed on large nanoparticles. In previous projects, I successfully used cryoSPARC (v4.3.1) to process similar datasets. My workflow included running the Volume Alignment Tools job to shift the particle centers from the nanoparticle center to the antigen center, followed by a Particle Extraction job. This approach allowed me to proceed with local refinement and ultimately obtain high-resolution maps of the antigen structure.

However, I am now processing a new dataset of nanoparticles displaying a different version of the antigen, and I’ve encountered an issue with cryoSPARC v4.5.3. The Particle Extraction job failed midway with the following error message:

Traceback (most recent call last):
  File "cryosparc_master/cryosparc_compute/run.py", line 115, in cryosparc_master.cryosparc_compute.run.main
  File "/home_local/hpc/software/cryosparc/cryosparc2_worker/cryosparc_compute/jobs/extract/run.py", line 352, in run_extract_micrographs_multi
    particles_dset = rc.load_input_group(input_group_name='particles')
  File "/home_local/hpc/software/cryosparc/cryosparc2_worker/cryosparc_compute/jobs/runcommon.py", line 698, in load_input_group
    assert is_connected[idx], "Slot %s.%s must be connected in connection %d!" % (input_group_name, slot['name'], idx)
AssertionError: Slot particles.location must be connected in connection 0!

Context:

  • I used the Volume Alignment Tools job to update the 3D coordinates of particle centers, shifting them from the nanoparticle center to the antigen center. This is essential for focusing subsequent refinement on the antigen.
  • I then used the aligned particles from this job as the input for the Particle Extraction job.

Problem:

In cryoSPARC v4.5.3, the Particle Extraction job failed, seemingly because the particles.location information (and possibly other Passthrough metadata) did not carry over. Without this information, the extraction job could not proceed.

Interestingly, this same workflow worked flawlessly in cryoSPARC v4.3.1, where the necessary Passthrough metadata (e.g., particles.location) was included in the input, allowing the Particle Extraction job to run without issues. It seems there might have been a change in how Passthrough data is handled in more recent cryoSPARC versions.

Questions:

  1. Has anyone else encountered this issue with missing particles.location or other Passthrough data in newer cryoSPARC versions?
  2. Do we know in which version this behavior was introduced, or if it was an intentional change?
  3. Is there a workaround for re-extracting particles after modifying their 3D coordinates with the Volume Alignment Tools job?

I would greatly appreciate any advice or insights from the community. Thank you for your time and support!

Best regards,
Gyunghee

I discovered that the problem is not with the Passthrough metadata failing to carry over from the previous job to the Particle Extraction job. Instead, the issue lies with the Volume Alignment Tools job output in cryoSPARC v4.5.3. The output particles only include alignments3D and blob, with no other metadata (e.g., particles.location). This absence of critical metadata seems to be the root cause of the Particle Extraction job failure.

Notably, in previous versions of cryoSPARC (e.g., v4.3.1), the Volume Alignment Tools job output included not only alignments3D and blob but also other important metadata, such as particles.location. This allowed the Particle Extraction job to run successfully. It seems that there has been a change in how the Volume Alignment Tools job outputs metadata in newer versions.