auto_martini
auto_martini copied to clipboard
auto_martini as an interoperable component
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
.
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:
- No longer be restricted to a single CG method. Since coarse-graining will be achieved via a separate external component (
mmic_cg
),mmic_ffpa_autom
could be now used with other coarse-graining technique that become available inmmic_cg
. Note thatmmic_cg
will by default support bead-based CGs. - Support a range of file formats for the structure/topology via MMElemental and mmic_translator. Over time, more file formats will be supported in these 2 packages, and so
mmic_ffpa_autom
will benefit from those additional capabilities without any changes required to its source code. - Be accessible via a code-agnostic, force force field assignment component: mmic_ffpa. The
mmic_ffpa
is a general force field assignment component designed to cover a wide spectrum of domains in the computational molecular sciences, based on the MMSchema specification. Under the hood,mmic_ffpa
uses specialized components such asmmic_ffpa_autom
. This has the potential of increasing the user base of auto_martini beyond the CG community. - Belong to the MolSSI MMIC ecosystem that provides interoperability with other components and seamless integration with quantum chemistry codes via QCArchive.
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.
Yes, that sounds like an excellent way to build in some interoperability with other codes and (CG) techniques! Keep me in the loop 👍
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.