How does cryosparc align to symmetry?

I’ve noticed cases where it fails quite wildly, mostly with small particles - it looks almost like it is off by 90 degrees, aligning to the wrong axis. Turning off align to symmetry allows successful refinement to high resolution.

Also, just as an anecdote, I have one case now of a small protein with C2 symmetry (well, some of the particles have C2 symm and others don’t), where ab initio heterogeneous reconstruction with two classes in C1 was unsuccessful (or at least gave a model that was plausible but did not refine to high resolution), whereas heterogeneous reconstruction in C2 (which I know is not recommended) gave one junk class and one correct, symmetric class, which could then be refined to high resolution (4.1Å), and which maintained symmetry when subsequently refined in C1 (though with lower final resolution).


Also, in such cases (where symmetry alignment fails) - it would be useful to be able to permute the axes within cryosparc - in one case C1 reconstruction generates an obviously symmetric (but low res) volume, but the symmetry axis is aligned with X or Y rather than Z


I would second each of Oli’s observations.

Also, Oli, just FYI if you use my program you can apply a transformation matrix to all of the particles.

1 Like

This remains an issue in v2.

One additional observation which may be useful in debugging:

  • When a complex that has previously been refined with symmetry is used as a reference model for a refinement with ‘align symmetry’ on, the symmetry alignment almost invariably fails (at least for small complexes). In contrast, the C1 ab initio model of the same complex, which internally has the same symmetry but which does not have it’s symmetry axis pre-aligned with the canonical one, refines just fine with ‘align symmetry’ on. This happens reproducibly for multiple different projects - happy to provide example data if it is useful to debug.


I agree with @olibclarke’s observation. Align symmetry should always be ‘no’ if the symmetry axis is already on Z.

Hi @olibclarke, @DanielAsarnow,

I think we have a bug in symmetry alignment that causes it to fail in general when the optimal rotation is identity. And overall symmetry alignment needs to be reworked and tested on smaller complexes… to make it fast we have some shortcuts that assume the symmetry is obvious even at lower resolutions, which is probably wrong for smaller membrane proteins.

@DanielAsarnow in your script, where would a user get the transformation matrix from? Is there some accepted format/way to get that for a particular rotation of a volume from eg. Chimera? What we can do is add that as a parameter to the volume tools utility so that an ab-initio structure can be rotated more easily in cases where symmetry alignment fails (and we can also add the options for swapping axes).
We’re also working on support for non-crystal symmetries where the user needs to specify a rotation matrix that would transform one subunit to the other(s) so knowing a useful format for this would be great.

This issue of misaligned axis still appears in V2.5. C1 refinement of small complex with obvious C2 symmetry cannot be refined with C2. Aligns axes 90 degrees from the true twofold. However in this case it fails with or without symmetry alignment

Has this ever ben solved? I have a case with obvious C8 symmetry but it cannot be refined with a C8 applied. As before, the alignment axes are 90 degrees away. It also fails with or without symmetry alignment

Thank you!

In ab initio refinement did it align the 8 fold along z? If not, you could apply C8 in ab initio (not recommended normally) and it should give you an ab initio model with the 8 fold on z which you can use for refinement.

Also when you say it fails with or without symmetry alignment do you men the 8 fold is no aligned to Z or ? Can you post images of your results?

@Giovanna If you don’t use the automatic alignment (which can fail as you have seen) then the reference must be aligned so that the symmetry axis corresponds to the Z axis of the box.

If you click “orient” in the Chimera volume viewer, you will be looking down the Z axis. Then, rotate the structure so you are looking down the symmetry axis and use the command “vop resample #0 ongrid #0” and save the new map. You could also open another Cn structure and use that as a guide.

If you already did that, and refinement is giving strange results with symmetry applied and symmetry alignment OFF, then something else is going on and you should probably re-evaluate the symmetry.


Thank you - I haven’t tried that yet, but I will


There are also automatic symmetry alignment programs in eman2 and relion, I believe, but these are all just conveniences that might work for a given case.

You can imagine, they all work by testing some symmetry operators and looking for good cross-correlation with the original structure, and there are a lot of potential false minima for most structures.

Ok, it may be me - I really don’t get along with Chimera, but it doesn’t seem to save the re-oriented version? (I tried a long time ago Eman and Relion and it never worked, I don’t want to go back there…)

Density maps are just grids of voxels with certain values. You need to resample the map - that is interpolate new values onto the same grid - in order to save a new orientation. (Unlike a PDB model where you can just save new X, Y, Z values without such calculations).

Chimera’s command is vop resample <target model> ongrid <target grid>. Maybe try duplicating your map, then rotating just the duplicate and resampling it on the original map.

I did… vop resample #0 ongrid #0
Maybe we should move this conversation to an email…


My apologies, it doesn’t work with just one map opened, because the grid moves with the map. You need to rotate a copy instead.

  1. Open map
  2. Volume viewer > File > Duplicate
  3. De-activate first map (checkbox in model panel or below command line)
  4. Rotate second map
  5. vop resample #1 ongrid #0
  6. Save the new, resampled map (model #2 now)

Ha! that worked! Thank you!


@olibclarke - I’m a little late to the party - regarding your anecdote (Jun 2017) in support of C2 ab initio and hetero refinement - this appears to have worked for my particles ~120 kDa, where C1 failed. Subsequent C1 refinement of the optimal class has reproduced the C2 map. C2 refinement slightly improves the resolution to ~4.5 A. Is this a valid approach? Was your anecdote published? Thanks for all your posts - the archive has been immensely helpful.

1 Like

Glad it was helpful! :slight_smile: No publication describing it as such, but nothing wrong with the approach as far as I can see.

1 Like

This bug has been fixed as of v3.3.1 (released December 1, 2021). Please see

1 Like