Home

Awesome

OpenFF Force Fields

Build Status

This repository contains force fields released by the Open Force Field Initiative. These force fields use the SMIRKS Native Open Force Field (SMIRNOFF) format. By convention these files use the .offxml file extension. The SMIRNOFF format has a specification and is discussed in a JCTC publication and associated pre-print.

The OpenFF Toolkit provides a reference implementation of the SMIRNOFF format. In particular, the ForceField class is used to load SMIRNOFF-format force fields and the create_openmm_system method enables the parametrization of small molecules into OpenMM objects.

Detailed usage examples can be found in the OpenFF Toolkit repository.

Each mainline force field is currently available in two forms -- both with and without bond constraints to hydrogen. The default version of each force field (i.e. openff-2.0.0.offxml) is suitable for typical molecular dynamics simulations with constrained bonds to hydrogen. The "unconstrained" version of each force field (i.e. openff_unconstrained-2.0.0.offxml) should be used when single-point energies are a major concern (e.g. geometry optimizations) and when comparing the force field to QM data.

This repository may also contain other useful force fields, data, or utilities, separate from mainline OpenFF force fields. More information on those can be found in the docs/ directory in this repository.

How to cite

To cite the Parsley line of force fields (openff-1.Y.Z) please use this citation.

To cite the Sage line of force fields (openff-2.Y.Z) please use this citation.

Optionally, consider also citing the version-specific Zenodo DOI for the particular force field from the table below.

Details for each force field in this repository can be found in the following table:

FilenameDOIFF lineRelease DateMajor format changes?
openff-2.2.1.offxmlSageSeptember 11, 2024No
openff_unconstrained-2.2.1.offxmlSageSeptember 11, 2024No
openff-2.2.1-rc1.offxmlSageJuly 22, 2024No
openff_unconstrained-2.2.1-rc1.offxmlSageJuly 22, 2024No
openff-2.2.0.offxmlDOISageApril 18, 2024No
openff_unconstrained-2.2.0.offxmlDOISageApril 18, 2024No
openff-2.2.0-rc1.offxmlSageMarch 6, 2024No
openff_unconstrained-2.2.0-rc1.offxmlSageMarch 6, 2024No
openff-2.1.1.offxmlDOISageJan 22, 2024No
openff_unconstrained-2.1.1.offxmlDOISageJan 22, 2024No
tip5p-1.0.0.offxmlsee docs/water-models.mdPortsNov 6, 2023No
spce-1.0.0.offxmlsee docs/water-models.mdPortsNov 6, 2023No
tip4p_ew-1.0.0.offxmlsee docs/water-models.mdPortsNov 6, 2023No
opc-1.0.2.offxmlsee docs/water-models.mdPortsAug 9, 2023No
opc3-1.0.1.offxmlsee docs/water-models.mdPortsAug 9, 2023No
tip3p_fb-1.1.1.offxmlsee docs/water-models.mdPortsAug 9, 2023No
tip3p-1.0.1.offxmlsee docs/water-models.mdPortsAug 9, 2023No
tip4p_fb-1.0.1.offxmlsee docs/water-models.mdPortsAug 9, 2023No
opc-1.0.1.offxmlsee docs/water-models.mdPortsMay 24, 2023No
opc3-1.0.0.offxmlsee docs/water-models.mdPortsMay 24, 2023No
tip3p_fb-1.1.0.offxmlsee docs/water-models.mdPortsMay 24, 2023No
tip4p_fb-1.0.0.offxmlsee docs/water-models.mdPortsMay 24, 2023No
openff-2.1.0.offxmlDOISageMay 2, 2023No
openff_unconstrained-2.1.0.offxmlDOISageMay 2, 2023No
opc-1.0.0.offxmlsee docs/water-models.mdPortsMay 1, 2023No
openff-2.1.0-rc.1.offxmlSageApr 10, 2023No
openff_unconstrained-2.1.0-rc.1.offxmlSageApr 10, 2023No
tip3p_fb-1.0.0.offxmlsee docs/water-models.mdPortsFeb 27, 2023No
tip3p-1.0.0.offxmlsee docs/water-models.mdPortsFeb 27, 2023No
openff-2.0.0.offxmlDOISageAug 16, 2021No
openff_unconstrained-2.0.0.offxmlDOISageAug 16, 2021No
openff-2.0.0-rc.2.offxmlDOISageAug 3, 2021No
openff_unconstrained-2.0.0-rc.2.offxmlDOISageAug 3, 2021No
openff-2.0.0-rc.1.offxmlDOISageJune 21, 2021No
openff_unconstrained-2.0.0-rc.1.offxmlDOISageJune 21, 2021No
openff-1.3.1.offxmlDOIParsleyJune 21, 2021No
openff_unconstrained-1.3.1.offxmlDOIParsleyJune 21, 2021No
openff-1.3.1-alpha.1.offxmlDOIParsleyApr 15, 2021No
openff_unconstrained-1.3.1-alpha.1.offxmlDOIParsleyApr 15, 2021No
openff-1.3.0.offxmlDOIParsleyOct 21, 2020No
openff_unconstrained-1.3.0.offxmlDOIParsleyOct 21, 2020No
openff-1.2.1.offxmlDOIParsleySep 9, 2020No
openff_unconstrained-1.2.1.offxmlDOIParsleySep 9, 2020No
openff-1.2.0.offxmlDOIParsleyMay 29, 2020No
openff_unconstrained-1.2.0.offxmlDOIParsleyMay 29, 2020No
openff-1.1.1.offxmlDOIParsleyApr 14, 2020No
openff_unconstrained-1.1.1.offxmlDOIParsleyApr 14, 2020No
openff-1.1.0.offxmlDOIParsleyMar 3, 2020No
openff_unconstrained-1.1.0.offxmlDOIParsleyMar 3, 2020No
openff-1.0.1.offxmlDOIParsleyApr 14, 2020No
openff_unconstrained-1.0.1.offxmlDOIParsleyApr 14, 2020No
openff-1.0.0.offxmlDOIParsleyOct 12, 2019No
openff_unconstrained-1.0.0.offxmlDOIParsleyOct 12, 2019No
openff-1.0.0-RC2.offxmlDOINoneOct 4, 2019No
openff_unconstrained-1.0.0-RC2.offxmlDOINoneOct 4, 2019No
openff-1.0.0-RC1.offxmlNoneNoneOct 4, 2019N/A
openff_unconstrained-1.0.0-RC1.offxmlNoneNoneOct 4, 2019N/A

Installation

conda install -c conda-forge openff-forcefields

Use

Installing this package exposes an entry point that makes the openforcefields/offxml/ directory easily accessible by other packages in the same Python installation. If the OpenFF Toolkit is installed, it will automatically detect and use this entry point when loading OFFXML files:

from openff.toolkit.typing.engines.smirnoff import ForceField
ff = ForceField('openff-2.0.0.offxml')

Otherwise, the entry point can be accessed by querying the openforcefield.smirnoff_forcefield_directory entry point group.

from importlib.metadata import entry_points

for entry_point in iter_entry_points(group='openforcefield.smirnoff_forcefield_directory'):
    print(entry_point.load()())

For convenience, the OpenFF Toolkit also has a standalone function get_available_force_fields that lists the force fields discered by this entry point group:

>>> from openff.toolkit.typing.engines.smirnoff.forcefield import get_available_force_fields
>>> get_available_force_fields()
['smirnoff99Frosst-1.0.2.offxml', 'smirnoff99Frosst-1.0.0.offxml', 'smirnoff99Frosst-1.1.0.offxml', 'smirnoff99Frosst-1.0.4.offxml', 'smirnoff99Frosst-1.0.8.offxml', 'smirnoff99Frosst-1.0.6.offxml', 'smirnoff99Frosst-1.0.3.offxml', 'smirnoff99Frosst-1.0.1.offxml', 'smirnoff99Frosst-1.0.5.offxml', 'smirnoff99Frosst-1.0.9.offxml', 'smirnoff99Frosst-1.0.7.offxml', 'ff14sb_off_impropers_0.0.2.offxml', 'ff14sb_0.0.1.offxml', 'ff14sb_0.0.3.offxml', 'ff14sb_off_impropers_0.0.1.offxml', 'ff14sb_off_impropers_0.0.3.offxml', 'ff14sb_0.0.2.offxml', 'openff-1.0.1.offxml', 'openff-1.1.1.offxml', 'openff-1.0.0-RC1.offxml', 'openff-1.2.0.offxml', 'openff-1.3.0.offxml', 'openff_unconstrained-2.0.0-rc.1.offxml', 'openff_unconstrained-1.3.1.offxml', 'openff_unconstrained-1.2.1.offxml', 'openff-2.0.0-rc.2.offxml', 'openff_unconstrained-1.0.0-RC2.offxml', 'openff_unconstrained-1.1.0.offxml', 'openff_unconstrained-1.0.0.offxml', 'openff-2.0.0.offxml', 'openff_unconstrained-2.0.0.offxml', 'openff_unconstrained-2.0.0-rc.2.offxml', 'openff-1.1.0.offxml', 'openff-1.0.0.offxml', 'openff-1.0.0-RC2.offxml', 'openff-1.3.1.offxml', 'openff-1.2.1.offxml', 'openff-1.3.1-alpha.1.offxml', 'openff_unconstrained-1.0.0-RC1.offxml', 'openff_unconstrained-1.2.0.offxml', 'openff_unconstrained-1.3.0.offxml', 'openff-2.0.0-rc.1.offxml', 'openff_unconstrained-1.0.1.offxml', 'openff_unconstrained-1.1.1.offxml', 'openff_unconstrained-1.3.1-alpha.1.offxml']

History

Force fields in the Parsley and Sage lines are descended from the SMIRNOFF99Frosst line of force fields. The first official release (openff-1.0.0.offxml, code name "Parsley") was made in September 2019 as a result of the Open Force Field Initiative's refitting efforts.

General versioning guidelines

Applicable in general to SMIRNOFF-format FFs produced by the Open Force Field Consortium

Force fields moving forward will be called name-X.Y.Z

Versions

Acknowledgements

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