Skip to content

Releases: choderalab/openmmtools

0.24.0 - pyMBAR Behavior Changes + HIP Platform Added

18 Nov 18:52
f3f355a
Compare
Choose a tag to compare

0.24.0 - pyMBAR Behavior Changes + HIP Platform Added

Bug Fixes

Behavior Changes

  • Use robust solver for pyMBAR by default.
    pyMBAR 3 & 4 used two different solvers by default.
    Now, the robust solver is used as the default regardless of the pyMBAR version.
    The solver specified in analysis_kwargs (e.g., analysis_kwargs["solver_protocol"] = "robust") is still respected, but if no solver is specified, it defaults to robust.
    This change aims to improve convergence performance (Pull Request #735).

Enhancements

  • HIP Platform for OpenMM:
    Added OpenMM's "HIP" platform as a selectable option.
    With OpenMM 8.2, the "HIP" platform is now available for compatible AMD GPUs.
    This enables openmmtools to automatically select the HIP platform if available (Pull Request #753).

  • effective_length in MultiStateSamplerAnalyzer:
    Added the effective_length feature (Pull Request #589).

  • New alchemy Subpackage:
    Created a subpackage for alchemical computations (Pull Request #721).

Testing

0.23.1

30 Jun 20:29
b379af3
Compare
Choose a tag to compare

Bugfix

  • Fix issue where if None was used for online_analysis_interval an error would be thrown by @mikemhenry in #710

CI

Full Changelog: 0.23.0...0.23.1

0.23.0

12 Jun 19:01
ddfa043
Compare
Choose a tag to compare

0.23.0 - latest numba support and real time stats enhancements

Please note that there is an API breaking change. To ensure consistency of the data when appending real time stats make sure that you make the online_analysis_interval of your MultiStateSampler object match the checkpoint_interval of your MultiStateReporter. It will error if this is not the case.

Enhancements

  • Running with NVIDIA GPUs in Exclusive Process mode now raises a warning (issue #697, PR #699)

Bugfixes

  • Fix metadata for netcdf files, specifying openmmtools for the program metadata (issue #694, PR #704).
  • Real time statistics YAML file gets appended instead of overwritten when extending or resumimng simulations (issue #691, PR #692).
  • Error when resuming simulations with numba 0.57 fixed by avoiding using numpy.MaskedArray when deserializing .nc files (issue #700, PR #701)

Full Changelog: 0.22.1...0.23.0

0.22.1

18 Apr 21:21
bcbf0f6
Compare
Choose a tag to compare

Bugfixes

Full Changelog: 0.22.0...0.22.1

0.22.0

11 Apr 18:42
47807bb
Compare
Choose a tag to compare

Highlights:

  • Support for new pymbar 4 branch.
  • Gentle equilibration utility function.
  • Support for newer netcdf versions (1.6 branch)

Detailed information as follows:

Enhancements

  • Openmmtools now supports both Pymbar 3 and 4 versions. (PR #659)
  • Gentle equilibration protocol utility function available in openmmtools.utils.gentle_equilibration (PR #669).
  • Timing information for multiple state sampler is now reported by default (PRs #679 and #671).

Bugfixes

  • Users were not able to distinguish the exceptions caught during dynamics. Warnings are now raised when an exception is being caught (Issue #643 PR #658).
  • Deserializing MCMC moves objects from versions <=0.21.4 resulted in error finding the key. Fixed by catching the exception and raising a warning when key is not found (Issue #618 PR #675).
  • Different improvements in documentation strings and readthedocs documentation generation (Issues #620 #641 #548. PR #676)
  • Support for newer NetCDF versions (1.6 branch) by not using zlib compression for varying length variables. (PR #654).

Full Changelog: 0.21.5...0.22.0

0.21.5

03 Aug 13:02
e7e5847
Compare
Choose a tag to compare

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

0.21.4

08 Jun 18:31
47f59f7
Compare
Choose a tag to compare

Bugfixes

  • Bug in statistical inefficiency computation where self.max_n_iterations wasn't being used was fixed (#577).
  • Bug in estimated performance in realtime yaml file fixed by iterating through all MCMC moves (#578)
  • Potential bug fixed by explicitly updating and broadcasting thermodynamic states in replicas, when used in an MPI (distributed) context.
    Issue #579 (#587).
  • Bug in handling unsampled states in realtime/offline analysis fixed by using MultiStateSampler._unsampled_states to build the mbar estimate array.
    Issue #592 (#593)

Enhancements

  • DHFR test system does not require parmed as dependency, since OpenMM can now handle prmtop/inpcrd files.
    Issue #539 (#588).
  • MultiStateSamplerAnalyzer now allows to manually specify n_equilibrium_iterations and statistical_inefficiency parameters. (#586).

0.21.3

15 Apr 19:37
870d81a
Compare
Choose a tag to compare

What's Changed

Bugfixes

  • Bug in replica mixing in MPI multi-GPU runs--where some replicas were simulated in incorrect states--was fixed (#449) & (#562).
  • Velocities are now stored in the checkpoint file to eliminate issue with "cold restart". Fixes issue #531 (#555).
  • Documentation now correctly builds via CI. Fixes issue #548 (#554).
  • Failing windows CI (issue #567) is fixed. (#573)

Enhancements

  • Real time MBAR analysis and timing information is now produced in yaml format at user-specified intervals (#565), (#561) & (#572).
  • Information of what CUDA devices are available is now provided in log output (#570).
  • Replica exchanges are now attempted during equilibration phase to enhance mixing (#556).
  • An example of resuming a MultiStateSampler simulation using API is now provided (#569)

New Contributors

Full Changelog: 0.21.2...0.21.3

Bugfix Release v0.21.2

24 Feb 16:42
4d437c2
Compare
Choose a tag to compare

What's Changed

  • Add test to check platform precision using a string + fix error by @mikemhenry in #551

Full Changelog: 0.21.1...0.21.2

0.21.1

15 Feb 16:27
7e6926f
Compare
Choose a tag to compare

What's Changed

Full Changelog: 0.21.0...0.21.1