Skip to content

Releases: openpathsampling/openpathsampling

openpathsampling 1.6.1

29 Apr 14:38
Choose a tag to compare

OpenPathSampling 1.6.1 is a minor update, primarily focused on allowing OPS to run/be tested on Python 3.12. In practice, that means removing dependency on tools that prevented Python 3.12 support. In particular, this removes nose from our testing requirements, and deprecates our integration with PyEMMA, which is no longer maintained.

DEPRECATION: As of OPS 1.6.1, we no longer recommend the use of PyEMMAFeaturizerCV. PyEMMA is no longer maintained. Please do not create collective variables based on PyEMMA.

Miscellaneous improvements

  • Test against Python 3.12; deprecate PyEMMA (#1145 #Deprecations)
  • Cut off nose (#1141 #upstream_changed)
  • Fix a few more setup -> setup_method tests (#1142 #upstream_changed)

openpathsampling 1.6.0

05 Jan 23:21
Choose a tag to compare

This is a long-overdue (and huge) release for OPS. While the only highlight feature is the addition of S-Shooting, this release contains many updates to maintain usability of OPS as its dependencies change, as well as a number of important bug fixes that are recommended for all users.

Deprecations: The FileSetter for external engines (e.g., Gromacs) will be changing from a sequential numeric value to a random string. See #1102 for details.

New features

Other enhancements

  • Clear old ExternalMDSnapshots during iter_generate (#1066)
  • New analysis testing utilities (#1068)
  • Account for modifier acceptance in engine movers (#1075)
  • add no_copy option to NoModifier and Deprecate 'subset_mask' (#1079)
  • Take care of coordinate modifcation in selector probability_ratio (#1076)

Experimental (beta) features

  • improvements to unpatch after using SimStore (#1065)
  • add simstore table access via slice (#1050)

Bugs fixed

  • Use MDTraj codecs in SimStore JSON serialization (#1116)
  • Prevent double monkey-patching experimental storage (#1109)
  • Actually check for CVDefinedVolume.lambda_max == "inf" (#1092)
  • SimStore: Fix storable function serialization (#1088)
  • SimStore: Fix issue with internalized snapshot box vectors (#1086)
  • OpenMMEngine: use masses from mdtraj topolgy directly (#1085 @hejung)
  • unbreak API call to selector.probability_ratio (#1082)

Miscellaneous improvements

  • Support Python 3.10; Python 3.11 (#1133)
  • Fix Dropbox download of precalculated results (#1128)
  • revert openmmtools import guard from test notebook (#1106)
  • clarify error message on missing units (#1122)
  • update copyright to 2022 (#1097)
  • Improved implementation of shooting point selector pick (avoid model that might introduce index error in subclasses) (#1110 @hejung)
  • Add FutureWarning for default filesetter external engines (#1102 #Deprecations)
  • make a missed string into a rawstring (#1096)
  • Guard against openmm import warnings (including those from OpenMMTools) (#1091)
  • Add (#1064)
  • Prevent non-string names in StorableNamedObject (#1052)
  • Updates in response to changes in dependencies (#1137, #1136, #1134, #1132, #1129, #1114, #1130, #1126, #1093)
  • Improvements to continuous integration and testing (#1123, #1100, #1089, #1081, #1078, #1073, #1058)
  • Improvements to documentation (#1090, #1087, #1083, #1057 @bdice)

Thanks always to maintainers @sroet and @dwhswenson.

OpenPathSampling 1.5.2

24 Aug 14:35
Choose a tag to compare

OpenPathSampling 1.5.2 is a minor release. It includes updates to support OpenMM 7.6, as well as some small bugfixes.

Bugs fixed

  • Prevent errors in ShootingPointAnalysis with invalid (e.g., max length) trajectories (#1046)
  • Raise FileNotFoundError if sql backend tries to read a file that does not exist (#1045) #experimental

Miscellaneous improvements

  • Fixes for OpenMM 7.6 RC (#1051) #upstream_changed
  • Fix syntax warning (#1044)

OpenPathSampling 1.5.1

24 Jul 09:49
Choose a tag to compare

OpenPathSampling 1.5.1 is a minor bugfix release. It fixes a bug in SimStore's ability to store/reload some CV types (specifically, CVs that save NumPy arrays). It also fixes a backward compatibility problem with live visualizations in scripts written for OPS before 1.5.0.

We're also happy to welcome @sroet as a maintainer of OPS, and as a "standard contributor." As a maintainer, @sroet has merge access to OPS repositories. As a standard contributor, PRs from @sroet will no longer be tagged with his username in release notes.

Bugs fixed

  • Fix bug with SimStore CVs storing NumPy arrays (#1035) #experimental
  • Fix bug in live visualizer setup with implicit hooks (#1034 @hejung)

Miscellaneous improvements

  • Fix OpenMM engine docs on n_frames_max (#1037 @hejung) #docs
  • Fix DataFrame.sort_index future warning (#1036) #upstream_changed

OpenPathSampling 1.5

06 Jul 19:03
Choose a tag to compare

OpenPathSampling 1.5 is a significant release, including many new features and enhancements. Highlights of this release are the implementation of Spring Shooting and the development of new "hooks" where users can patch in custom code during the simulation process, enabling much greater flexibility.

Note that the hooks are still considered beta code, and therefore some aspects of that API may change.

DEPRECATION: As of OPS 1.5, MDTrajTopology should be imported from openpathsampling.engines, not from openpathsampling.engines.openmm.

New features and enhancements

  • Spring Shooting mover/move scheme (#850 @sroet)
  • "Hooks" to enable more simulation flexibility (#755, #911 @hejung)
  • Gracious Kill Hook (#914 @hejung)
  • Warn if CVDefinedVolume CVs return iterables (#1030)
  • Shooting point selector with arbitrary bias (#1024)
  • Add global random number generator; support in shooting pt selectors and pathmovers (#998 @sroet, #1008 @sroet #1015)
  • Move n_dofs to engine; add engine.has_constraints() (#979)

Experimental (beta) features

Bugs fixed

  • Make histogramming more robust (#1029 @sroet)
  • Fix problem with repeated ensemble names in MISTIS (#988)
  • Fix MISTIS minus ensemble not forbidding other states (#983)
  • Fix problem with Histogram.bin_range not getting set (#972)

Miscellaneous improvements

OpenPathSampling 1.4.2

30 Jan 12:56
Choose a tag to compare

OPS 1.4.2 is a bugfix release, most importantly fixing a bug in TIS analysis for interface sets with more than 10 interfaces.

Bugs fixed

  • Fix simtk JSON storage in SimStore (#961)
  • Fix broken WHAMing if an InterfaceSet has more than 10 interfaces (#967 @sroet)

Miscellaneous improvements

  • Update ujson pin (#965)
  • Make more deterministic test for shooting point selector (#964 @sroet)
  • Fix broken link in of toy mstis examples (#963 @sroet)
  • Switch to CI GitHub Actions (#959, #966 @sroet)

OpenPathSampling 1.4.1

31 Dec 18:05
Choose a tag to compare

OPS 1.4.1 is a minor release to fix issues with imports when not all integrations are installed.

Miscellaneous improvements

  • Remove nose from test_helpers (#958)
  • Fix so SimStore tests pass without simtk.unit (#957)
  • fix omt is None error in test suite (#954 @sroet)

OpenPathSampling 1.4

24 Dec 11:38
Choose a tag to compare

OpenPathSampling 1.4 introduces SimStore, our (experimental) new storage system. It is faster and more flexible than the old storage system, and will be the only storage in OPS 2.0. As an experimental addition, its API is not locked. However, the parts that are likely to change deal with extending SimStore (e.g., supporting new types). Regular usage to save and load results of simulations should now be stable.

In addition, OPS 1.4 adds a reactive flux (Bennett-Chandler) calculation, plus many small improvements and bug fixes.

New features and enhancements

  • Reactive flux (#924 @singraber)
  • Internalized snapshots; random filenames for external snapshots (#933)

Experimental (beta) features

  • SimStore: Simplify OPS Storage constructor (#950)
  • SimStore: Support for OpenMM snapshots (#949)
  • SimStore: Type identification (#947)
  • Fix bug in SimStore when appending to non-existent files (#941) #bugfix
  • SimStore: Tags (#940)
  • SimStore part 2: Storable functions (and more) (#929)
  • SimStore: New storage subsystem (part 1) (#928)

Bugs fixed

  • fix for filename counter of gromacs engine (#946 @hejung)
  • OpenMM instantaneous temp should work if positions not set (#938)
  • Fix: OPS hangs when external engine errors/exits unexpectedly (#913 @oliverdutton)

Miscellaneous improvements

OpenPathSampling 1.3

26 Sep 13:08
Choose a tag to compare

The highlights of OpenPathSampling 1.3 are the PLUMED wrapper CVs for OPS (previously an external repository), and the optional progress indicators for analysis. In addition, OPS 1.3 brings several bugfixes, and adds support for newer versions of dependencies.

New features and enhancements

  • PLUMED Collective Variables in OPS (#910 @apdealbao)
  • Gromacs engine and example updates (#909)
  • Progress indicators for analysis (#895, #902, #906)
  • storage.filename is now an absolute path and a read-only property (#903 @hejung)

Bugs fixed

  • Pin ujson<2 (bug in later versions can break reloading) (#926)
  • use uuid instead of 'is' for selecting ensembles in rate calculation (#919 @sroet)
  • Fix missing names in ExternalMDSnapshot (#908)
  • DirectSimulation should use engine.start/.stop (#905)

Miscellaneous improvements

OpenPathSampling 1.2

31 Jan 19:46
Choose a tag to compare

OpenPathSampling 1.2 brings several small improvements, including a new method to facilitate equilibration in path sampling, and some under-the-hood updates that will facilitate features intended for future releases.

New features and enhancements

  • Refactor RandomVelocity so engine can do the randomization (#890)
  • Add PathSampling.run_until_decorrelated (#884, #894)
  • Add progress meter adapter classes (#882)

Miscellaneous improvements

  • Fix pandas API change: set_value -> at (#896) #upstream_changed
  • Improvements to the documentation (#865, #887, #893)
  • Improvements to the CI (#893)