MDAnalysis / mdanalysis

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

Interoperability with ASE #3827

Open hmacdope opened 1 year ago

hmacdope commented 1 year ago

Is your feature request related to a problem?

ASE (https://wiki.fysik.dtu.dk/ase/index.html) is becoming more and more popular as a calculation engine and interoperability layer, with calculation and reader-writer interfaces to a large number of codes. It was (and possibly still is) more materials science focused, but the lure of easy interoperability will drag more people in over time.

They also have their own geometry tools and various interfaces for building molecules. However they lack fully developed functionality for analysing trajectories, which is where we could come in. Additionally a pipeline between MDA and calculation engines would be appealing for many I imagine. They support many codes (esp DFT codes) that we do not have readers or writers for.

As an added bonus they are developing their own ecosystem (see https://wiki.fysik.dtu.dk/ase/ecosystem.html) and support cool things like ANI or other neural-net based calculators.

Describe the solution you'd like

We should have some kind of interoperability (preferably two way) with ASE! This could be a converter a-la the RDKit converter or a reader/writer? I Imagine a converter is likely the option but am open to discussion.

@IAlibay mentioned to me that he had already made a start on some kind of interoperability, so I will let him elaborate further.

The key places to start will be with the Atoms object which is kind of like a Topology and Timestep rolled into one. They also have a Cell object that functions a lot like ts.dimensions.

Things to keep in mind

orbeckst commented 1 year ago

Maybe a joint gsoc project for a MDAKit converter?

IAlibay commented 1 year ago

Maybe a joint gsoc project for a MDAKit converter?

Sorry I've not had time to chime in here, but as alluded to by Hugo, I've actually been working on this for some internal project. I'm hoping to get it done for said MDAKit converter myself.