Closed RastislavTuranyi closed 2 years ago
Of the inputs currently supported by MDANSE, MDAnalysis has official readers only for the following:
Therefore, either the existing code would have to be changed and updated, or custom readers for the MDAnalysis would have to be written for the following inputs:
MDAnalysis has some built-in functions that would greatly simply some of the functionality that MDANSE provides:
MDANSE.Framework.Jobs.Density.Density
MDANSE.Framework.Jobs.MeanSquareDisplacement.MeanSquareDisplacement
MDANSE.Framework.Jobs.BoxTranslatedTrajectory.BoxTranslatedTrajectory
MDAnalysis seems to be lacking the following functionalities that MDANSE uses:
MDANSE.Framework.Jobs.GlobalMotionFilteredTrajectory.GlobalMotionFilteredTrajectory
, .RigidBodyTrajectory
, and .RefoldedMembraneTrajectory
)MMTK.Collections.Collection
, .normalizingTransformation()
, .applyTransformation
, and .findTransformation()
, required in MDANSE.Framework.Jobs.GlobalMotionFilteredTrajectory.GlobalMotionFilteredTrajectoryMDANSE.Framework.MMTKDefinitions.MMTKDefinitions
. However, this may not be necessary or there may be way to do it, just without convenient functions.MMTK.Universe.ParallelpipedicPeriodicUniverse
(an instance of the class is in MDANSE only created in converters)EDIT: making a configuration contiguous is possible with MDAnalysis using on-the-fly workflows.
Overall, from reviewing MDANSE code, I believe that it is feasible to replace MMTK with MDAnalysis, though all affected files (ie. all files that use MMTK), will likely have to be rewritten to varying degrees. Of course, this belief was obtained from evaluating the code only, so to be completely certain that the substitution is possible, I would have to attempt performing it.
This will not be used, instead the replacement for MMTK will be bespoke, as detailed in #64.
MMTK is a python2-only module, and so it cannot be used as-is when MDANSE is rewritten in python 3. One way to handle this is to replace it with another module whose development is not ceased and works with python 3. One such module is MDAnalysis. One of its advantages is that it is capable of reading a variety of formats, potentially allowing MDANSE to drop the classes that convert various file formats into the format required by MMTK.