Use patch based motion correction as prior for local motion correction?


The new patch based motion correction job seems to do a great job, and is extremely fast.

It seems though that there may still be some value in additionally performing local (per particle) motion correction (in the same way that polishing in relion offers some benefit over motioncor2, although I don’t know how much of that is due to motion correction and how much to improved dose weighting). Firstly, is this a reasonable thought, or is per particle motion correction now effectively deprecated?

Secondly, per particle motion correction is by default initialized from the whole frame “rigid motion” trajectories. Now that presumably more accurate local trajectories can be estimated from the patch based motion correction job, would it be worth adding an option to initialize from these, instead?


EDIT: altered to reflect the fact that I was mistaken about how exposure weighting worked in the local motion correction job

Still looking for an answer to this if possible - does local motion automatically initialize from local trajectories derived from Patch motion now? Or is it expected that local motion will not provide additional benefit after patch based correction?


Do you think it makes sense to do local motion on a final set of particles, and use the new particles for re-running a local refinement ? I think Ali said once that patch motion corr works better than local motion. This could be tested if you get worse results…

Hi @olibclarke, @marino-j,

Currently, local motion correction does not use the per-particle trajectories from patch motion as a prior or initialization, but it uses the rigid motion trajectory from patch motion.
Generally speaking, initialization is not very important for local motion correction as long as it’s not too far off, so I would expect that the optimized trajectories from local motion would be nearly identical if initialized with the overall rigid motion vs. trajectories from patch motion.

We are getting some reports consistently that per-particle local motion does give slightly better final resolutions than patch motion alone (similar to polishing vs. motioncor2 though less pronounced, since patch motion generally resolves trajectories with more fidelity than motioncor2 in our experience). We are planning to implement a reference-based motion correction option in local motion correction (similar to polishing) though we do already know that in some cases (small, flexible, disordered proteins) reference-free motion is better than reference-based motion since the reference will almost always be incorrect for a given particle.

Hi @apunjani, is reference-based motion correction still in the works? We still find polishing gives benefits in a lot of cases beyond what patch motion and reference free local motion correction can do.

E.g. take a look at EMPIAR-10737 (EMPIAR-10737 Cryo-EM structures of E. coli cytochrome bo3 in MSP Nanodiscs) - in this case three rounds of polishing & CTF refinement took resolution from 2.7 to ultimately 2.2Å.

One thing that would improve this even more would be the capacity to perform multireference motion correction, as well as explicit fitting of dose as a parameter (to account for the fact that beam intensity may not be constant during collection, and may differ overall from the nominal value).

Increasingly we are dealing with heterogeneous samples (native cell or membrane extracts) with multiple components resolved to high resolution. In this case it would be useful to perform local motion correction with references matched to each component, to take advantage of the fact that while each component may be sparse individually, together they are crowded, so one can use the assumption that the motion of nearby particles are correlated in order to better restrain fitting of particle trajectories.