Releases: openpathsampling/openpathsampling
openpathsampling 1.7.0
OpenPathSampling 1.7.0 contains several pieces of new functionality and some bug fixes. Most significant is probably the experimental new path tree functionality, which works with data stored from SimStore ("experimental" storage, now recommended for most use cases).
Enhancements
- Add
restart_at_stepforExternalEngine(for numeric filenames) (#1105) - Custom
PathDensityHistogram._add_ops_trajectory(#1154 #refactor) - Volume shooting point selector (#1151)
Experimental (beta) features
Bugs fixed
- Fix
SQLStorageBackend.load_storable_function_table(#1153 #experimental) - Fix histogram xvals (#1150)
Miscellaneous improvements
openpathsampling 1.6.1
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
openpathsampling 1.6.0
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
- S-shooting (#787 @singraber)
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
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 CITATIONS.md (#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
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
OpenPathSampling 1.5.1
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
OpenPathSampling 1.5
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
- SimStore: Periodic CVs (#990)
- SimStore: Make storable function modes customizable (#1004)
- SimStore bug fixes and minor improvements (#985, #995, #1002, #1003, #1016, #1027) #bugfix
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
- Move MDTrajTopology into
engines.topology(#1012 @sroet, #1014) #Deprecations - Reduce unnecessary object creation (#975, #976 @sroet, #978 @sroet)
- Fix problems with PyEMMA tests (#997, #1009, #1018 @sroet, #1022 @sroet, #1023 @sroet)
- make test less flaky (#999 @sroet)
- Switch notebook tests to nbval (#987)
- Add automatic testing against OpenMM release candidates (#1019, #1020, #1021)
- Improve interactions with CodeCov (#980, #991, #1025)
- Improvements to the documentation (#939, #970, #1010 @sroet)
- Pin OpenMM != 7.5.1 (#1017)
- Pin sqlalchemy!=1.4.0 (#996)
- Add Python 3.8, 3.9 to testing matrix (#993)
- fix numpy 1.20 DeprecationWarnings (#974)
OpenPathSampling 1.4.2
OpenPathSampling 1.4.1
OpenPathSampling 1.4
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
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)