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.


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