tbereau / auto_martini

Automatic MARTINI parametrization of small organic molecules
GNU General Public License v2.0
57 stars 21 forks source link

auto_martini as an interoperable component #31

Open anabiman opened 3 years ago

anabiman commented 3 years ago

The purpose of this issue is to suggest building a "component" for auto_martini (dubbed mmic_ffpa_autom) that makes it part of the MMIC ecosystem MolSSI is currently developing. The idea is to design mmic_ffpa_autom as a wrapper around auto_martini to provide force field assignment capabilities in a way that makes it interoperable with other codes, which grants mmic_ffpa_autom numerous benefits. The diagram below sums how this component would work in practice and its dependence on auto_martini.

mmic-ffpa-autom

The "AssignInput" and "AssignOutput" are just data models (e.g. python dictionaries) that represent a general schema specification that many other similar components adhere to. Using this component is trivial, as is the case with all components in MMIC:

import mmic_pkg
output = mmic_pkg.RunComponent.compute(input)

With this design, mmic_ffpa_autom will:

Note: no changes to the auto_martini source code are required, since mmic_ffpa_autom and auto_martini would be separate packages.

Is this of interest to you @tbereau ? If so, I'll add you as a collaborator so you can help me tackle issues pertaining to auto_martini that might arise in the future.

tbereau commented 3 years ago

Yes, that sounds like an excellent way to build in some interoperability with other codes and (CG) techniques! Keep me in the loop 👍

anabiman commented 3 years ago

Great, will do! I will start working on the repository sometime next week and will add you as a collaborator. I will keep this issue open until then.