Skip to content

0.21.5

Compare
Choose a tag to compare
@zhang-ivy zhang-ivy released this 03 Aug 13:02
· 53 commits to main since this release
e7e5847

What's changed

Changed behaviors

  • LangevinDynamicsMove now uses openmm.LangevinMiddleIntegrator (a BAOAB integrator) instead of openmm.LangevinIntegrator (an OBABO integrator). Issue #599 (PR #600).

Bugfixes

  • Velocities were being incorrectly updated as zeros when resuming simulations or broadcasting from different mpi processes. Fixed by specifying ignore_velocities=False in _propagate_replica. Issue #531 (PR #602).
  • Bug in equilibration detection 1: The user was allowed to specify statistical_inefficiency without specifying n_equilibration_iterations, which doesn't make sense, as n_equilibration_iterations and n_effective_max cannot be computed from statistical_inefficiency alone. Fixed by preventing user from specifying statistical_inefficiency without n_equilibration_iterations. Issue #609 (PR #610).
  • Bug in equilibration detection 2: If the user specified n_equilibration_iterations but not statistical_inefficiency, the returned n_equilibration_iterations did not include number of equilibration iterations as computed from _get_equilibration_data_per_sample(). Fixed by always including the _get_equilibration_data_per_sample() result in in the returned n_equilibration_iterations. Issue #609 (PR #610).
  • Bug in equilibration detection 3: get_equilibration_data_per_sample returns 0 for n_equilibration_iterations. Fixed by always discarding the first time origin returned by get_equilibration_data_per_sample. To control the amount of data discarded by the first time origin, the user can now specify max_subset when initializing MultiStateSamplerAnalyzer. Issue #609 (PR #610).
  • Deserializing simulations from openmmtools<0.21.3 versions resulted in error. Fixed by catching the missing key, KeyError exception, when deserializing. Issue #612, PR #613.
  • Not specifying a subdirectory for the reporter file resulted in PermissionError when writing the real time analysis file. Fixed by using os.path.join for creating the output paths. Issue #615, PR #616.

Enhancements

  • LangevinDynamicsMove now allows constraint_tolerance parameter and public attribute, for specifying the fraction of the constrained distance within which constraints are maintained for the integrator (Refer to Openmm's documentation for more information). Issue #608, PR #611.
  • Platform is now reported in the logs in DEBUG mode. Issue #583, PR #605.

Full Changelog: 0.21.4...0.21.5