Skip to content

MolSSI/mmic_openff

Folders and files

NameName
Last commit message
Last commit date

Latest commit

96f35f6 · Oct 5, 2021

History

83 Commits
Sep 7, 2021
Sep 22, 2021
Oct 5, 2021
Sep 7, 2021
Sep 7, 2021
Sep 7, 2021
Sep 7, 2021
Sep 7, 2021
Oct 5, 2021
Sep 7, 2021
Sep 13, 2021
Sep 7, 2021

GitHub Actions Build Status codecov Language grade: Python

OpenFF translator for MMSchema

This is part of the MolSSI Molecular Mechanics Interoperable Components (MMIC) project. This package provides translators between MMSchema and OpenFF toolkit.

image

mmic_openff provides 2 classes of translators for: molecules and forcefields.

Models

from mmic_openff.models import OpenFFMol

# Convert MMSchema to OpenFF molecule
off_mol = OpenFFMol.from_schema(mm_mol) -> 

# Convert OpenFF to MMSchema molecule
mm_mol = OpenFFMol.to_schema(off_mol) -> mmelemental.models.Molecule

One could do similar conversions for the ForceField model as well.

Components

The from_schema and to_schema methods in the OpenFFMol model use translation components provided by mmic_openff and MMElemental to convert between MMSchema and OpenFF representations.

from mmic_openff.components import OpenFFToMolComponent, MolToOpenFFComponent
from mmic_openff.models.import OpenFFMol
from mmelemental.models import Molecule

MMSchema to OpenFF molecule

# Create MMSchema molecule
mm_mol = Molecule.from_file(path_to_file)

# Create translation input
inp = {
    "schema_object": mm_mol,
    "schema_version": 1,
    "schema_name": "mmschema",
}

# Run translator compute
outp = MolToOpenFFComponent.compute(inp)

# Extract OpenFF molecule object
mol = outp.data_object.data

OpenFF to MMSchema molecule

from simtk.openmm import app

# Create OpenFF input

...

# Create translation input
inp = {
    "data_object": ommol,
    "schema_version": 1,
    "schema_name": "mmschema",
}

# Running translator compute
outp = Translator.compute(inp)

# Extract MMSchema molecule
mm_mol = outp.schema_object

One could do similar conversions with the force field component as well.

Copyright

Copyright (c) 2021, MolSSI

Acknowledgements

Project based on the Computational Molecular Science Python Cookiecutter version 1.5.