MDAnalysis / mdanalysis

MDAnalysis is a Python library to analyze molecular dynamics simulations.
https://mdanalysis.org
Other
1.31k stars 648 forks source link

implement frmsd algorithm #2223

Closed orbeckst closed 5 years ago

orbeckst commented 5 years ago

Is your feature request related to a problem? Please describe. Coutsias, E.A., and Wester, M.J. (2019). RMSD and Symmetry: RMSD and Symmetry. Journal of Computational Chemistry. https://doi.org/10.1002/jcc.25802

derived an RMSD superposition algorithm that is faster than the Theobald/Liu qcprot (as implemented in MDAnalysis).

Describe the solution you'd like Implement the Coutsias frmd algorithm and benchmark.

Code is made available by the authors at http://www.ams.stonybrook.edu/~coutsias/codes/frmsd.tgz

Describe alternatives you've considered We need an implementation to see if it makes a difference.

Additional context

A common approach for comparing the structures of biomolecules or solid bodies is to translate and rotate one structure with respect to the other to minimize the pointwise root‐mean‐square deviation (RMSD). We present a new, robust numerical algorithm that computes the RMSD between two molecules or all the mutual RMSDs of a list of molecules and, if desired, the corresponding rotation matrix in a minimal number of operations as compared to previous algorithms. The RMSD gradient can also be computed. We address the problem of symmetry, both in alignment (possible alternative alignments due to indistinguishable atoms) as well as geometry. In the latter case, it is possible to have degenerate superposition. A necessary condition is optimal superimposability to one's mirror image. Double (respectively, triple) degeneracy results in a one‐ (respectively, two)‐parameter family of rotations leaving the superposition invariant. The software, frmsd, is freely available at http://www.ams.stonybrook.edu/~coutsias/codes/frmsd.tgz. © 2019 Wiley Periodicals, Inc.

orbeckst commented 5 years ago

@richardjgowers @jbarnoud @micaela-matta should we put this on the GSOC list?

richardjgowers commented 5 years ago

Sure if you’ll have time to answer the theory detail questions.

On Mar 18, 2019 at 17:57, <Oliver Beckstein (mailto:notifications@github.com)> wrote:

@richardjgowers (https://github.com/richardjgowers) @jbarnoud (https://github.com/jbarnoud) @micaela-matta (https://github.com/micaela-matta) should we put this on the GSOC list?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub (https://github.com/MDAnalysis/mdanalysis/issues/2223#issuecomment-474157107), or mute the thread (https://github.com/notifications/unsubscribe-auth/AI0jBx061v5SBNJsQMLldHxlFPCkS9Moks5vYDYKgaJpZM4b7D4h).

orbeckst commented 5 years ago

It will also allow one to specify per-atom and per residue symmetries – something we can't do at the moment.

kain88-de commented 5 years ago

FYI this needs to be reimplemented from scratch -.- because the license is gpl incompatible. We should ask the authors if they attach a MIT/BSD/GPL license that allows us to directly use the code. Would make testing and integration easier.

orbeckst commented 5 years ago

Thanks for checking the license.

-- Oliver Beckstein email: orbeckst@gmail.com

Am Mar 18, 2019 um 22:28 schrieb Max Linke notifications@github.com:

FYI this needs to be reimplemented from scratch -.- because the license is gpl incompatible. We should ask the authors if they attach a MIT/BSD/GPL license that allows us to directly use the code. Would make testing and integration easier.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

orbeckst commented 5 years ago

I don't think anyone has the time (or needs this) right now. Closing.

Resurrect if you're interested!