Hi @olibclarke @ali.h, I just want to add my perspective, having done a lot of multi-body refinements by hand using the programs in pyem.
First, I disagree the optimal location is at a hinge. The optimal rotation center for a subparticle refinement is the center of mass of the subparticle. A given angular accuracy results in the best positional accuracy near the center of the box. That’s why every (very) high resolution structure has the highest resolution at the center of box, and a major reason particles with cavities in the center can be troublesome.
I agree the CoM of the mask is a very good approximation to the CoM of the particle and is easier to compute stably (although see
phase_cog() in EMAN2 which solves the problem elegantly by determining the phase of the DC component).
The cryoSPARC paper supplemental says a uniform prior over shifts is used (is this true? IMHO no prior is better than a uninformative one), but Relion and cisTEM both have alignment probabilities affected by the shift magnitude (Relion uses a Gaussian prior centered at the origin). Thus, it is desirable to obtain particles with shifts normally distributed around zero, by targeting the center of the subparticle and re-rextracting after subtracting shifts from the particle coordinates and setting shifts to the remaining subpixel values. All these additional transformations just need to be memoized so you can undo them at the end to aid the user in putting humpty dumpty together again.
Also let me note again that Chimera reports values in either voxels or Angstroms depending on how the coordinate is measured (see my previous post). It’s easy to check if you have correct coordinates using
shape sphere center x,y,z color red radius 3 to place a little sphere at <x,y,z> (in Angstroms). If you do a re-targeting and then reconstruct the retargeting particles, you should also find the correct part of the particle in the center of the map.
To expand on this idea of validation by reconstruction, I’ve found that targeting and subtraction are extremely prone to user error. Performing reconstructions of targeted/subtracted particles is critical in achieving a correct result. In fact, I claim that most practitioners who have found no benefit from subtraction have actually made an error somewhere that would be identified in a reconstruction. CryoSPARC is so fast at reconstructions that there would be almost no cost in always producing a downloadable reconstruction for localized refinements or subtractions.
Oli’s suggestion of marking the point in slices is also a good one.
Second, IMHO symmetry expansion is always preferable to enforced symmetry for multi-body refinements. One can simply apply the symmetry expansion step before the target transform as I’ve done in
subparticles.py. I’ve found no loss in resolution for strictly symmetric parts of a map, and huge gains in resolution for regions with broken symmetry.
In any event, all of our claims and observations would be best supported by large scale benchmarking efforts on multiple datasets. Hopefully we’ll eventually have truly quantitative answers about the best way of doing these things.