Skip to content

Version 1.7.0 Major Release

Compare
Choose a tag to compare
@leeping leeping released this 25 Nov 16:47
· 275 commits to master since this release

New features

PyTest framework

  • Fully migrated from unittest to pytest, motivated by inscrutable test failures on Travis when the old framework was used
  • All tests are now located in <root>/src/tests

MacOS support

  • Mac OS is supported for Python 3.5 or greater.
  • A small but important fix was added in nifty.py to handle streams from processes on Mac OS

Torsion profile target

  • This target allows 1D relaxed torsion profiles to be included in the objective function, with the option to carry out MM relaxations (with torsion atoms frozen).
  • Implemented and tested using SMIRNOFF engine but expected to work for OpenMM.
  • Support in other engines will require implementing energy minimizations with frozen atoms.

Optimized geometry target

  • This target allows (QM-MM) deviations in energy-minimized bonds and angles to be included in the objective function.
  • Implemented and tested using SMIRNOFF engine but expected to work for OpenMM and other engines that support energy minimization.

Surface tension target

  • This target calculates surface tension and enables the deviation of calculated vs. experimental surface tension to be included in the objective function.
  • Implemented and tested using OpenMM engine.
  • Implementation is described in publication located at https://doi.org/10.1021/acs.jpcb.9b05455

PropertyEstimator / Evaluator target

  • This target includes an interface to the OpenFF Evaluator framework (previously called PropertyEstimator) to include evaluated properties in the objective function.
  • Uses Evaluator API to compute parametric gradients.
  • SMIRNOFF is the only supported engine.
  • PropertyEstimator can be found here: https://github.com/openforcefield/propertyestimator

Fitting vibrational frequencies using OpenMM

  • Vibration_OpenMM: OpenMM can now compute vibrational frequencies and normal modes

Minor changes

  • Enable optimization of charges in .mol2 files when working with SMIRNOFF-formatted force field
  • Cookiecutter, codecov and versioneer integrations
  • Sanitizing .offxml force field parsing for SMIRKS strings
  • constrain_h option in FB input file for specifying H-bond constraints in OpenMM targets
  • Improved tools/install_cctools.sh script for Work Queue installs
  • Simplify AtomContact function in molecule.py
  • Improvements in performance using SMIRNOFF force fields
  • Improved remote target file handling
  • Improved stability of Hessian diagonalization
  • Keep up to date with SMIRNOFF .offxml formatting
  • Improved handling of Work Queue workers
  • Fix a bug in radius of gyration calculation in molecule.py

Credits

  • Yudong Qiu (Optimized geometry target, surface tension target, OpenMM normal modes, SMIRNOFF performance, and various improvements)
  • Jeffrey Wagner (MacOS support, Pytest framework)
  • Simon Boothroyd (OpenFF Evaluator / propertyestimator interface)
  • Hyesu Jang (Pytest framework)
  • Michael Schauperl (H-bond constraint)
  • Open Force Field Initiative (financial support)