Releases: leeping/forcebalance
Version 1.7.4 minor release
This release provides compatibility with the Open Force Field Toolkit (OFFTK) v0.7.0, and breaks compatibility with earlier versions. The README has been updated with conda-forge installation instructions.
Version 1.7.3 minor release
#54 Minor changes
- Fix setup.py to raise an error when numpy and scipy cannot be imported.
Version 1.7.2 minor release
Major changes
- Improved convergence criteria so that step size criterion can be satisfied before actually evaluating the objective function at the next step (see comments in code).
Minor changes
- Updates the evaluator target to use the syntax of the full openff-evaluator release rather than the beta syntax.
- Updated molecular weights and physical constants to most recent recommended values from CODATA and NIST.
- Improved error checking in .xyz parser in molecule.py
- ForceBalance-formatted vibrational data can now be read as input (in addition to being written as output).
Version 1.7.1 minor release
New features
OpenFF evaluator
propertyestimator
interface code has been migrated to newopenff-evaluator
(Simon Boothroyd)
Minor changes
- Enable saving of MM optimized geometries in optimized geometry targets (Hyesu Jang)
- Start adding reference output files from current and previous versions (Lee-Ping Wang)
Version 1.7.0 Major Release
New features
PyTest framework
- Fully migrated from
unittest
topytest
, 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 inmolecule.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)
Version 1.6.0 Major Release
New features:
Preliminary support for SMIRNOFF 0.1
Read and write SMIRNOFF force field format. New targets enable the optimization of QM single-point properties and liquid properties using the SMIRNOFF force field.
New penalty functions
Specify a higher power of the L2 norm using:
penalty_power 12.0
Specify separate constraints for each parameter as mvals[i]^power
using:
penalty_type box
penalty_power 12.0
Note that penalty_type box
and penalty_type L2
are equivalent if the default value of penalty_power
(i.e. 2.0) is used.
Version 1.5.5 Minor Release
New features in molecule.py:
- Rotate a molecule rigidly about a chosen bond and check for close contacts:
Molecule.rotate_check_clash()
Molecule.measure_distance
andMolecule.measure_angle
functions (John Stoppelman)- Use a predefined
energy_rms_override
constant for normalizing the energy errors in energy matching.
Fixes:
- Improve the reading of multi-fold dihedrals in AMBER .frcmod format
- Improves force field formatting matching of
tools/MatchFormatting.py
. Mainly used when projects are finished and you want to create a parameter file for "publication".
Version 1.5.4 Minor Release
New features:
- Fitting of condensed-phase properties in AMBER
Bug fixes:
- Allow free parameters in text and XML force field files simultaneously
- Fixed bugs in handling of Mol2 input/output
- Remove usage of pending-deprecation
numpy.matrix
- Update Work Queue printout for compatibility with CCTools version 6+
Version 1.5.1 Minor Release
Tests pass on Travis; this version is the first Conda-installable version
Version 1.5.0 Major Release
The biggest changes in this release are:
- Python 3 compatibility.
- License changed to BSD 3-clause license.