| Latest release | |
|---|---|
| Status | |
| Community |
This repository contains NAGL models released by the Open Force Field Initiative. They are intended to be used by OpenFF NAGL.
| Model name | Introduced in openff-nagl-models version |
Release state | Further notes |
|---|---|---|---|
openff-gnn-am1bcc-1.0.0.pt |
v2025.09.0 | Production | Link |
openff-gnn-am1bcc-0.1.0-rc.3.pt |
v0.3.0 | pre-production | Link |
openff-gnn-am1bcc-0.1.0-rc.1.pt |
v0.2.0 | pre-production | Link |
openff-gnn-am1bcc-0.1.0-rc.1.pt |
v0.1.0 | pre-production | Link |
openff-gnn-am1bcc-0.0.1-alpha.1.pt |
v0.0.1 | pre-production/experimental |
Link |
Current models available in this repository can be applied with:
from openff.nagl_models import validate_nagl_model_path
from openff.toolkit.utils.nagl_wrapper import NAGLToolkitWrapper
# optional
model_path = validate_nagl_model_path("openff-gnn-am1bcc-1.0.0.pt")
offmol = Molecule.from_smiles("CCO")
offmol.assign_partial_charges(partial_charge_method="openff-gnn-am1bcc-1.0.0.pt")Installing this package exposes an entry point that makes it easy to access models installed in this package.
A convenience function is provided to wrap this for you:
>>> from openff.nagl_models import load_nagl_model_directory_entry_points
>>> load_nagl_model_directory_entry_points()
[PosixPath('/home/.../openff-nagl-models/openff/nagl_models/models/am1bcc')]You can also list all available models from all entry points:
>>> from openff.nagl_models import list_available_nagl_models
>>> list_available_nagl_models()
[PosixPath('/home/.../openff-nagl-models/openff/nagl_models/models/am1bcc/openff-gnn-am1bcc-0.0.1-alpha.1.pt'), PosixPath('/home/.../openff-nagl-models/openff/nagl_models/models/am1bcc/openff-gnn-am1bcc-0.1.0-rc.1.pt'), PosixPath('/home/.../openff-nagl-models/openff/nagl_models/models/am1bcc/openff-gnn-am1bcc-0.1.0-rc.2.pt'), PosixPath('/home/.../openff-nagl-models/openff/nagl_models/models/am1bcc/openff-gnn-am1bcc-0.1.0-rc.3.pt'), PosixPath('/home/.../openff-nagl-models/openff/nagl_models/models/am1bcc/openff-gnn-am1bcc-1.0.0.pt')]To list available models (also listed in the Models table above):
>>> from openff.nagl_models import list_available_nagl_models
>>> list_available_nagl_models(with_path=False)
['openff-gnn-am1bcc-1.0.0.pt', 'openff-gnn-am1bcc-0.1.0-rc.1.pt', 'openff-gnn-am1bcc-0.1.0-rc.3.pt', 'openff-gnn-am1bcc-0.0.1-alpha.1.pt', 'openff-gnn-am1bcc-0.1.0-rc.2.pt']Or validate if a model name is found in the local directory, or an entry point directory:
>>> from openff.nagl_models import validate_nagl_model_path
>>> validate_nagl_model_path("openff-gnn-am1bcc-1.0.0.pt")
PosixPath('/home/.../openff-nagl-models/openff/nagl_models/models/am1bcc/openff-gnn-am1bcc-1.0.0.pt')Finally, if you want to find all models for a particular type, use get_models_by_type.
These will come sorted according to semantic versioning, where the latest release is last:
>>> from openff.nagl_models import get_models_by_type
>>> get_models_by_type("am1bcc")
[PosixPath('/home/.../openff-nagl-models/openff/nagl_models/models/am1bcc/openff-gnn-am1bcc-0.0.1-alpha.1.pt'), PosixPath('/home/.../openff-nagl-models/openff/nagl_models/models/am1bcc/openff-gnn-am1bcc-0.1.0-rc.1.pt'), PosixPath('/home/.../openff-nagl-models/openff/nagl_models/models/am1bcc/openff-gnn-am1bcc-0.1.0-rc.2.pt'), PosixPath('/home/.../openff-nagl-models/openff/nagl_models/models/am1bcc/openff-gnn-am1bcc-0.1.0-rc.3.pt'), PosixPath('/home/.../openff-nagl-models/openff/nagl_models/models/am1bcc/openff-gnn-am1bcc-1.0.0.pt')]See the LICENSE file.
Project based on the Computational Molecular Science Python Cookiecutter version 1.0.