Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

auto_martini as an interoperable component #31

Open
anabiman opened this issue Apr 24, 2021 · 2 comments
Open

auto_martini as an interoperable component #31

anabiman opened this issue Apr 24, 2021 · 2 comments
Labels

Comments

@anabiman
Copy link
Collaborator

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:

  • 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 in mmic_cg. Note that mmic_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 as mmic_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.

@tbereau
Copy link
Owner

tbereau commented Apr 26, 2021

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

@anabiman
Copy link
Collaborator Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants