Skip to content

0.5.1 Adding the parameter coverage example notebook

Pre-release
Pre-release
Compare
Choose a tag to compare
@j-wags j-wags released this 25 Sep 00:44
526bc29

0.5.1

DOI

This release contains a new notebook example, check_parameter_coverage.ipynb, which loads sets of molecules, checks whether they are parameterizable, and generates reports of chemical motifs that are not. It also fixes several simple issues, improves warnings and docstring text, and removes unused files.

The parameter coverage example notebook goes hand-in-hand with the release candidate of our initial force field, openff-1.0.0-RC1.offxml, which will be temporarily available until the official force field release is made in October. Our goal in publishing this notebook alongside our first major refitting is to allow interested users to check whether there is parameter coverage for their molecules of interest. If the force field is unable to parameterize a molecule, this notebook will generate reports of the specific chemistry that is not covered. We understand that many organizations in our field have restrictions about sharing specific molecules, and the outputs from this notebook can easily be cropped to communicate unparameterizable chemistry without revealing the full structure.

The force field release candidate is in our new refit force field package, openforcefields. This package is now a part of the Open Force Field Toolkit conda recipe, along with the original smirnoff99Frosst line of force fields.

Once the openforcefields conda package is installed, you can load the release candidate using:

ff = ForceField('openff-1.0.0-RC1.offxml')

The release candidate will be removed when the official force field, openff-1.0.0.offxml, is released in early October.

A richer version of these release notes with live links to API documentation is available on our ReadTheDocs page.

See our installation instructions.

Please report bugs, request features, or ask questions through our issue tracker.

Please note that there may still be some changes to the API prior to a stable 1.0.0 release.

Example added

  • PR #419: Adds an example notebook check_parameter_coverage.ipynb which shows how to use the toolkit to check a molecule dataset for missing parameter coverage, and provides functionality to output tagged SMILES and 2D drawings of the unparameterizable chemistry.

New features

  • PR #419: Unassigned valence parameter exceptions now include a list of tuples of TopologyAtom which were unable to be parameterized (exception.unassigned_topology_atom_tuples) and the class of the ParameterHandler that raised the exception (exception.handler_class).
  • PR #425: Implements @trevorgokey 's suggestion from Issue #411, which enables pickling of ForceFields and ParameterHandlers. Note that, while XML representations of ForceFields are stable and conform to the SMIRNOFF specification, the pickled ForceFields that this functionality enables are not guaranteed to be compatible with future toolkit versions.

Improved documentation and warnings

  • PR #425 : Addresses Issue #410 by having toolkit warnings clearly print Warning: at the beginning of each warning message and adding clearer language to the warning produced when the OpenEye Toolkits can not be loaded.
  • PR #425: Addresses Issue #421 by adding type/shape information to all Molecule partial charge and conformer docstrings.
  • PR #425: Addresses Issue #407 by providing a more extensive explanation of why we don't use RDKit's mol2 parser for molecule input.

Bugfixes

  • PR #419: Fixes Issue #417 and Issue #418, where RDKitToolkitWrapper.from_file would disregard the allow_undefined_stereo kwarg and skip the first molecule when reading a SMILES file.

Files removed

  • PR #425: Addresses Issue #424 by deleting the unused files openforcefield/typing/engines/smirnoff/gbsaforces.py and openforcefield/tests/test_smirnoff.py. gbsaforces.py was only used internally and test_smirnoff.py tested unsupported functionality from before the 0.2.0 release.