0.4.1 Bugfix Release
Pre-release
Pre-release
0.4.1
This update fixes several toolkit bugs that have been reported by the community. Details of these bugfixes are provided below.
It also refactors how ParameterType
and ParameterHandler
store their attributes, by introducing ParameterAttribute
and IndexedParameterAttribute
. These new attribute-handling classes provide a consistent backend which should simplify manipulation of parameters and implementation of new handlers.
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.
Bug fixes
- PR #329: Fixed a bug where the two
BondType
parameter attributesk
andlength
were treated as indexed attributes. (per the SMIRNOFF spec,k
andlength
values that correspond to specific bond orders will be indexed underk_bondorder1
,k_bondorder2
, etc when implemented in the future) - PR #329: Fixed a bug that allowed setting indexed attributes to single values instead of strictly lists.
- PR #370: Fixed a bug in the API where
BondHandler
,ProperTorsionHandler
, andImproperTorsionHandler
exposed non-functional indexed parameters. - PR #351: Fixes Issue #344, in which the main
FrozenMolecule
constructor and several other Molecule-construction functions ignored or did not expose theallow_undefined_stereo
keyword argument. - PR #351: Fixes a bug where a molecule which previously generated a SMILES using one cheminformatics toolkit returns the same SMILES, even though a different toolkit (which would generate a different SMILES for the molecule) is explicitly called.
- PR #354: Fixes the error message that is printed if an unexpected parameter attribute is found while loading data into a
ForceField
(now instructs users to specifyallow_cosmetic_attributes
instead ofpermit_cosmetic_attributes
) - PR #364: Fixes Issue #362 by modifying
OpenEyeToolkitWrapper.from_smiles
andRDKitToolkitWrapper.from_smiles
to make implicit hydrogens explicit before molecule creation. These functions also now raise an error if the optional keywordhydrogens_are_explicit=True
but the SMILES are interpreted by the backend cheminformatics toolkit as having implicit hydrogens. - PR #371: Fixes error when reading early SMIRNOFF 0.1 spec files enclosed by a top-level
SMIRFF
tag.- Note: The enclosing
SMIRFF
tag is present only in legacy files. Since developing a formal specification, the only acceptable top-level tag value in a SMIRNOFF data structure isSMIRNOFF
.
- Note: The enclosing
Code enhancements
- PR #329:
ParameterType
was refactored to improve its extensibility. It is now possible to create new parameter types by using the new descriptorsParameterAttribute
andIndexedParameterAttribute
. - PR #357: Addresses Issue #356 by raising an informative error message if a user attempts to load an OpenMM topology which is probably missing connectivity information.
Force fields added
- PR #368: Temporarily adds
test_forcefields/smirnoff99frosst_experimental.offxml
to address hierarchy problems, redundancies, SMIRKS pattern typos etc., as documented in issue #367. Will ultimately be propagated to an updated forcefield in theopenforcefield/smirnoff99frosst
repo. - PR #371: Adds
test_forcefields/smirff99Frosst_reference_0_1_spec.offxml
, a SMIRNOFF 0.1 spec file enclosed by the legacySMIRFF
tag. This file is used in backwards-compatibility testing.