Symmetry expansion

Dear cryosparc community,
Would you please explain how the local refinement works after symmetry expansion in cryosparc? I see that the number of the particles is multiplied according to symmetry group with symmetry expand job . Will, then, local refinement use all the multiplied particles to align locally? or will local refinement choose a single (best fitting) particle from the each symmetry multiplied particle? I need some enlightment for this process.

Another question. I transferred particles from relion with refinement angles and tried to do local refinement but it did not work, it gave a non optimal input error. I saw couple of posts here claiming that imported particles with angles can now be used directly to run a local refinement in cryosparc. Would you know what would be going wrong? I have 2.15.0.

I have a pseudosymmetric particle and refinement mixes up monomers. I can separate the particle sets with 3d classification without alignment in relion but I need to be able to bring back those particles to cryosparc and do local refinement directly. I would appreciate your input on this one.

Thank you.

Hi @alburse,

This is a great question! Symmetry expansion in cryoSPARC works by multiplying the size of the particle stack by the desired symmetry order, n. This results in each particle’s original alignments being duplicated n times, where each duplicated particle has its alignments rotated into one of the symmetry related positions. Local refinement then takes the expanded stack, and only allows each particle’s alignments to move slightly during the refinement. This is useful in situations where you have an overall symmetric protein (the asymmetric unit really is identical in each symmetry-related view), but individual asymmetric units may be able to wobble slightly relative to each other. To answer your question, local refinement uses all the expanded particles, so it doesn’t select one best fitting particle from the set of symmetry related views. Unfortunately this pseudosymmetry or “relaxation” of symmetry that you mention (i.e. selecting a best fitting pseudosymmetric view) is not yet implemented in cryoSPARC, but it is on our list of features to work on.

With regards to the error you experienced, could you copy and paste the error traceback you received from the local refinement job (this is visible from the streamlog, in the red box)?

For your final question – If I’m understanding correctly, 3D classification results in a set of separated particles, each corresponding to a volume where the asymmetric units aren’t “mixed up” or “blurred”, and you want to take all the particles and reconstruct the asymmetric unit in each of its varying states/confirmations? Let me know if this interpretation is correct.


Thank you Michael for your reply, It is quite clear. I cannot really use the symmetry expansion of cryosparc for pseudosymmetric local refinement.

I have a dimeric complex and looks like symmetric but it is not. When I transferred the refined particles from cryosparc and run 3D classification in relion without alignment, I basically have two classes where each monomer can fit the other monomer perfectly in the other class. I would like to rotate the angles for one class to assign it’s overall angles right (global refinement traps the particles, and cryosparc refinement will not check if the particle fits better when you rotate the particle 180 degrees). I could just manually change the angles 180 degrees on the sym axis in one class to fix it but instead I symmetry expanded the particle set in relion and did 3d classification without alignment again, I selected one class and did a local refinement in relion, and I can see that the densities improved dramatically. I would like to bring these particles with their angles to cryosparc. I can bring the locally relion refined particles or just the subset of particles from 3d classification without alignment back to cryosparc, which ever works.)
By the way, I think symmetry relaxation will be extremely useful for many projects. I would also suggest you to implement 3d classification without alignment. That is also quite useful in many problems.

Thank you and here is the error,

CPU: 90.8 MB] Traceback (most recent call last):
File “cryosparc2_worker/cryosparc2_compute/”, line 52, in
File “cryosparc2_compute/jobs/”, line 823, in check_default_inputs
assert False, 'Non-optional inputs from the following input groups and their slots are not connected: ’ + missing_inputs + ‘. Please connect all required inputs.’
AssertionError: Non-optional inputs from the following input groups and their slots are not connected: particles.alignments3D. Please connect all required inputs.

Hi @alburse, any update on including “symmetry relaxation” in CryoSPARC? My team implemented it for RELION, I would be happy to discuss the details if needed.

Hi @Juha I had some exchanges with @mmclean about this - it sounds like it is on the roadmap, but not sure of the timeline - agree it would be very helpful, I would love to have this too!


@olibclarke I used symmetry relaxation and symmetry expansion on mGlu2 structures and it was quite useful for extracting the subtle asymmetry on TMs. I believe you processed the recent CaSR structures. Were you able to try sym relaxation? I saw you have only used sym expansion. I think in these cases sym relaxation is more useful.

1 Like

Hi, it was on the list of things to try, but we didn’t try it in that particular case. I do agree it is worth doing though as shown by your beautiful work on mGlu2.

1 Like

I am glad you are endorsing cryosparc to implement sym relaxation. I have been trying for a while now with you, I hope they will accelerate the development. And thank you for your compliments @olibclarke. Congratulations on your CasR study as well, very challenging projects.

1 Like