Skip to content

Releases: leeping/forcebalance

Version 1.3.0 Major Release

31 Mar 01:37
Compare
Choose a tag to compare

The code is at a reasonably stable state with many features added since the previous release (version 1.2).

From this point forward I will implement the Thermo target (with pandas as a dependency) and add integration with MDTraj.

Major:

  • Engine class is a unified interface to MD simulation codes.
  • Added Gromacs, OpenMM, and TINKER engines.
  • Thermo target; simple support for general thermodynamic properties. (Erik)
  • Lipid target; lipid bilayer properties. (Keri
  • ForceBalance --continue option continues an aborted run and loads as much data as possible from the latest iteration.
  • Parameter filtering allows targets to skip over parameters that are known to be irrelevant, for efficiency of finite difference derivatives.
  • (Optimizer / Liquid / Lipid) Increase simulation length as we get closer to convergence.
  • (Gromacs) Now supports binding energies, interaction energies, multipole moments and vibrational frequencies.
  • (OpenMM) Now supports binding energies, interaction energies, and multipole moments.
  • (nifty.py) exec_() reads from stdout and stderr asynchronously, allowing us to split the streams and tail -f the output at the same time.

Minor:

  • (Gromacs) Improved behavior of .mdp file editor
  • (OpenMM) Force fields with virtual sites are now working.
  • (OpenMM) AMOEBA-style force fields now work with virtual sites.
  • (TINKER) Improved behavior of .key file editor
  • (molecule.py) Read Q-Chem error messages
  • (molecule.py) More decimals in GROMACS output coordinates
  • (molecule.py) Fix to Kabsch alignment
  • (molecule.py) Attempt simple repairs to object instead of crashing
  • (molecule.py) TINKER 6.3 compatibility; reads/writes .arc files with/without periodic boxes
  • (molecule.py) Delete symbolic link when attempting to write to one
  • (molecule.py) Simple function for making water molecules rigid
  • (molecule.py) Rebuild bonds when slicing by atom index
  • (molecule.py) Improved topology building; uses grid search and rectangular MIC for finding contacts.
  • (molecule.py) Methods for finding angles and dihedrals
  • (molecule.py) Pathwise RMSD (i.e. each frame's RMSD from previous)
  • (molecule.py) Try to figure out if .xyz is TINKER format or regular .xyz format
  • (molecule.py) Expand tabs to spaces when reading files
  • (molecule.py) Q-Chem output reader is more robust, reads IRC and FSM output
  • (nifty.py) extract_int extracts representative integer value from floating point array
  • (nifty.py) monotonic enforces monotonicity in a floating point array
  • (nifty.py) multiD_statisticalInefficiency multidimensional wrapper to statisticalInefficiency (Keri)
  • (nifty.py) Improved WQ interface and CCTools version 4.1 compatibility
  • (nifty.py) click() provides simple timing
  • (nifty.py) bak() provides simple file backup
  • (nifty.py) onefile() searches for one file with a provided extension
  • (nifty.py) wopen() deletes symbolic link when attempting to write to one
  • (nifty.py) warn_press_key() only pauses when running interactively