Compute Linear-Programming Root-Mean-Squared Deviation (LP-RMSD) of all conformations in target to a reference conformation. The LP-RMSD is the minimum root-mean squared deviation between two sets of points, minimizing over both the rotational/translational degrees of freedom AND the label correspondences between points in the target and reference conformations. This means that it can be used meaningfully with atoms with exchange symmetry like, like multiple water molecules.
Parameters: | target : md.Trajectory
reference : md.Trajectory
frame : int
atom_indices : array_like, or None
permute_groups : list of array_like, or None
parallel : bool
superpose : bool
|
---|---|
Returns: | lprmsds : np.ndarray, shape=(target.n_frames,)
|
Notes
The optimization procedure used does necessary not find the rotation/mapping for the global minimum of the means squared deviation. It does usually find a pretty good solution though, using a 3 step procedure. For each frame in the target, (1) align the target reference frame using only the distinguishable atoms (2) using this fixed rotation matrix, find the optimal mapping for the labels in the permute groups (3) using this mapping, recompute a new optimal rotation matrix to align the frame, and get the final RMSD.