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
BondTypeparameter attributeskandlengthwere treated as indexed attributes. (per the SMIRNOFF spec,kandlengthvalues 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, andImproperTorsionHandlerexposed non-functional indexed parameters. - PR #351: Fixes Issue #344, in which the main
FrozenMoleculeconstructor and several other Molecule-construction functions ignored or did not expose theallow_undefined_stereokeyword 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_attributesinstead ofpermit_cosmetic_attributes) - PR #364: Fixes Issue #362 by modifying
OpenEyeToolkitWrapper.from_smilesandRDKitToolkitWrapper.from_smilesto make implicit hydrogens explicit before molecule creation. These functions also now raise an error if the optional keywordhydrogens_are_explicit=Truebut 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
SMIRFFtag.- Note: The enclosing
SMIRFFtag 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:
ParameterTypewas refactored to improve its extensibility. It is now possible to create new parameter types by using the new descriptorsParameterAttributeandIndexedParameterAttribute. - 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.offxmlto address hierarchy problems, redundancies, SMIRKS pattern typos etc., as documented in issue #367. Will ultimately be propagated to an updated forcefield in theopenforcefield/smirnoff99frosstrepo. - PR #371: Adds
test_forcefields/smirff99Frosst_reference_0_1_spec.offxml, a SMIRNOFF 0.1 spec file enclosed by the legacySMIRFFtag. This file is used in backwards-compatibility testing.