Symmetry expansion in cryosparc? [feature request]

hi developers,

wondering if there is any intention to add symmetry expansion or a similar tool in the future? This is something I have used in Relion, which allows the user to align/refine a dataset in a given symmetry, then afterwards reverse the symmetry back to C1 by expanding out each of those asymmetric units into it’s own particle. This effectively multiplies your data by whatever symmetry you have used. It can allow you to pick up heterogeneity in your protein. Say your protein is a homodimer and one subunit is in 1 comformation while the other half is in a different conformation. With regular refinement we would average out the two halves of this protein. However, when expanded, you expand the symmetry-refined map by two and then refine around the heterogeneous area, hopefully showing that those two conformations are different.

1 Like

100% need this - have previously requested (Add symmetry expansion option to local refinement? [Feature request]) and was told that it is coming - I would be happy with the ability to import and use sym expanded particle sets in local refinement, but native support would be even better!



Actually it seems like in 2.9 cryoSPARC does now read pose information from star files - I can take a symmetry expanded star file generated in relion and perform local refinement - which is already a big improvement!


Can you elaborate a bit on that?

Previously, local refinement could only be initiated from a refinement conducted in cryosparc (homogeneous or non uniform refinement, typically).

This was because orientation information was not retained during import of particles from a star file.

Now, that information is correctly imported, so one can import a particle set from relion and use that directly to start a local refinement. This also applies to symmetry expanded particle sets.

So, one can take a homogeneous refinement job, convert the particle.cs file to star, run relion_particle_symmetry_expand, then import back into cryosparc and start a local refinement, using the symmetry expanded set as the particle input, with an asymmetric mask, and it’ll work. Does that make sense?



Oh yes!
Thank you very much for the detailed explanation!

Thanks for the detailed explanation, I wonder if you could help me with an error that i have when importing back the particles after running relion_particle_symmetry_expand (see bellow).
In more detailed: transformed the cs to star using, then run Relion_particle_symmetry_expand but when trying to import the particles I get the following error…

Traceback (most recent call last):
File “cryosparc2_master/cryosparc2_compute/”, line 78, in (/home/installtest/deps_manage/cryosparc2_package/deploy/stage/cryosparc2_master/cryosparc2_compute/run.c:3954)
File “cryosparc2_compute/jobs/imports/”, line 340, in run_import_particles
File “cryosparc2_compute/”, line 73, in read_blobs
dtypes[rel_path] = mrc.mrc_datatype_to_dtype(hdr[‘datatype’])
File “cryosparc2_compute/blobio/”, line 44, in mrc_datatype_to_dtype
assert False,‘Unsupported MRC datatype: {0}’.format(datatype)
AssertionError: Unsupported MRC datatype: 1869181810

@olibclarke, I tried to bring the particles back to cryosparc after symmetry expansion and corresponding subset particle selection and run a local refinement directly. It did not work. I get a non-optimal input error. How were you able to run a local after particle import? I would appreciate your comment on this. My particles are extracted on relion,

Thank you.