mdlearn.data.preprocess.align.iterative_means_align

mdlearn.data.preprocess.align.iterative_means_align(coords: numpy.ndarray, eps: float = 0.001, max_iter: int = 10, inplace: bool = False, verbose: bool = False, num_workers: int = 1) Tuple[int, List[numpy.ndarray], List[numpy.ndarray], numpy.ndarray]

Run iterative means alignment.

Run iterative means alignment which aligns coords to the mean coordinate structure using the kabsch alignment algorithm implemented here: mdlearn.data.preprocess.align.kabsch_align. Algorithm converges if either the difference of means coordinates computed from consecutive iterations is less than eps or if max_iter iterations have finished.

Parameters
  • coords (np.ndarray) – Array of atomic coordinates with dimension (n_frames, 3, n_atoms)

  • eps (float, default=0.001) – Error tolerance of the difference between mean coordinates computed from consecutive iterations, used to define convergence.

  • max_iter (int, default=10) – Number of iterations before convergence.

  • inplace (bool, default=False) – If True, modifies coords inplace. Inplace operations may offer the ability to fit larger systems into memory.

  • verbose (bool, default=False) – If True, prints verbose output

  • num_workers (int, 1) – Number of workers for parallel processing of the trajectory, each worker will take a single core.

Returns

  • itr (int) – The iteration reached before convergence.

  • avg_coords (List[np.ndarray]) – The average taken over all coords each iteration of the alignment.

  • e_rmsd (List[np.ndarray]) – The root mean squared deviation (RMSD) of each structure with respect to the avg_coords for each iteration of the alignment.

  • coords_ (np.ndarray) – The newly aligned trajectory of coordinates with the same shape as the input coords array.