Releases: choderalab/pymbar
4.0.3 Support for Python 3.12 and Jax 0.3.25+
Updates the builds to work against Python 3.8 through and including Python 3.12. Also fixes some upstream JAX and CI dependency issues.
What's Changed
Full Changelog: 4.0.2...4.0.3
4.0.2 Optional JAX build
What's Changed
- Do not use removed
numpy.bool
by @mattwthompson in #485 - switch to using mamba for rtd building by @mikemhenry in #494
- Minor docstring exp fix by @ijpulidos in #492
- Make JAX an optional dependency by @Lnaden in #503
- Warn about JAX bitsize changes by @Lnaden in #504
- Correctly stagger JIT until first call by @Lnaden in #505
- Correct docstring default value by @badisa in #507
- Wrap the preconditioned jit by @Lnaden in #506
- fixes RTD build by @mikemhenry in #510
- Fix a small bug in the timeseries test, test against min and max versions by @Lnaden in #512
New Contributors
- @mattwthompson made their first contribution in #485
- @ijpulidos made their first contribution in #492
- @badisa made their first contribution in #507
Full Changelog: 4.0.1...4.0.2
3.1.1
What's Changed
- Add bootstrap_solver_tolerance argument by @zhang-ivy in #482 which allows the user to specify separate solver tolerances to use for computing the free energy vs bootstrapping to get a better estimate of the uncertainty..
The former is specified using solver_tolerance
and the latter is specified using bootstrap_solver_tolerance
.
Full Changelog: 3.1...3.1.1
pymbar 3.1 LTS Release
What's New
We now support computation of bootstrapped uncertainties for MBAR free energies -- just specify n_bootstraps=n_desired_bootstraps
when initializing MBAR()
, where n_desired_bootstraps
is the number of bootstrap iterations you'd like to run, and uncertainty_method='bootstrap'
when calling getFreeEnergyDifferences().
What's Changed
- Fix for expectations of very small numbers by @mrshirts in #441
- Noticed one bug in setlogzero commit by @mrshirts in #443
- Getting CI working on the current default branch by @mikemhenry in #449
- Bootstrap uncertainties first pass by @mrshirts in #302
- Fix divide by zero warning in pymbar3 by @zhang-ivy in #470
- sphinx.ext.pngmath is now sphinx.ext.imgmath by @mikemhenry in #471
New Contributors
- @zhang-ivy made their first contribution in #470
Full Changelog: 3.0.7...3.1
4.0.1
Breaking Changes Ahead!
This pymbar
release has several API changes and some exciting new features (such as JAX acceleration and support)
See this guide on how to migrate from pymbar
3.x to pymbar
4.x.
pymbar
3.x support
We will still support the pymbar
3.x version line as a long term support release. We encourage new pymbar
users to use the 4.x version, but due to the considerable infrastructure build around pymbar
3.x, we will continue to provide maintenance support. Don't expect new features to be backported, but we will fix bugs.
What's Changed
- Fixed return type of multiple values to dict-like object by @mrshirts in #325
- Move CI to GHA and start upgrade to Cookiecutter style by @Lnaden in #328
- Convert to PyTest by @Lnaden in #333
- Reused the gradient calculation in the adaptive algorithm. by @mrshirts in #336
- Add CodeCov by @Lnaden in #344
- Replace
np.matrix
calls and other warnings by @Lnaden in #334 - Fix formatting by @mrshirts in #342
- Reduce the cost of check for duplicate states by @mrshirts in #337
- Revamping of PMF by @mrshirts in #327
- Start Coverage Improvements (Mbar.py) by @Lnaden in #347
- Bar.py and exp.py tests by @mrshirts in #350
- cleaning up examples by @mrshirts in #352
- Remove 2.01 compatible calls for exp and bar. by @mrshirts in #354
- Even more coverage! by @Lnaden in #357
- From print to logging by @jaimergp in #360
- Add linting to CI by @jaimergp in #367
- Apply black to the whole package by @jaimergp in #371
- camelCase -> snake_case by @jaimergp in #372
- Make Pylint less noisy by @Lnaden in #375
- Modernize examples by @jaimergp in #374
- Refactoring pmf code by @mrshirts in #385
- Better dimension checking by @mrshirts in #386
- Bin edges support by @mrshirts in #387
- Apply Black to examples/ too by @jaimergp in #392
- Updated heat capacity example by @mrshirts in #394
- Replace "potential of mean force" with "free energy surface" by @mrshirts in #397
- Update GHA to use Conda-Incubator by @Lnaden in #410
- Bump conda-incubator in GHA to v2 by @Lnaden in #411
- Clean out old Omnia references for Pymbar 4.0 branch by @Lnaden in #412
- Modernize setup.py and versioning by @jaimergp in #413
- Fix for expectations of very small numbers by @mrshirts in #441
- Noticed one bug in setlogzero commit by @mrshirts in #443
- Syncing Pymbar4 with master by @mrshirts in #444
- Getting CI working on the current default branch by @mikemhenry in #449
- Pymbar 4.0 adaptive logic by @mrshirts in #446
- Pymbar4 add adaptivity by @mrshirts in #453
- Convert JAX JIT to Decorators by @Lnaden in #451
- Align namespaces to work if JAX is not installed by @Lnaden in #454
- Pymbar4 bootstrapping by @mrshirts in #448
- Remove old_mbar.py by @mrshirts in #457
- Pymbar4 with jax (real try now) by @mrshirts in #447
- Pymbar 4.0 by @mrshirts in #458
- [WIP] Pymbar4 documentation by @mrshirts in #455
- remove special character for now. by @mrshirts in #460
- switch to napoleon for better output formatting. by @mrshirts in #461
- More working on doc appearance. by @mrshirts in #462
- Update classifier to match PyPi expectations. by @Lnaden in #465
- Further improve RTD and previous versions. by @mrshirts in #466
Full Changelog: 3.0.7...4.0.1
4.0.0
Breaking Changes Ahead!
This pymbar
release has several API changes and some exciting new features (such as JAX acceleration and support)
See this guide on how to migrate from pymbar
3.x to pymbar
4.x.
pymbar
3.x support
We will still support the pymbar
3.x version line as a long term support release. We encourage new pymbar
users to use the 4.x version, but due to the considerable infrastructure build around pymbar
3.x, we will continue to provide maintenance support. Don't expect new features to be backported, but we will fix bugs.
What's Changed
- Fixed return type of multiple values to dict-like object by @mrshirts in #325
- Move CI to GHA and start upgrade to Cookiecutter style by @Lnaden in #328
- Convert to PyTest by @Lnaden in #333
- Reused the gradient calculation in the adaptive algorithm. by @mrshirts in #336
- Add CodeCov by @Lnaden in #344
- Replace
np.matrix
calls and other warnings by @Lnaden in #334 - Fix formatting by @mrshirts in #342
- Reduce the cost of check for duplicate states by @mrshirts in #337
- Revamping of PMF by @mrshirts in #327
- Start Coverage Improvements (Mbar.py) by @Lnaden in #347
- Bar.py and exp.py tests by @mrshirts in #350
- cleaning up examples by @mrshirts in #352
- Remove 2.01 compatible calls for exp and bar. by @mrshirts in #354
- Even more coverage! by @Lnaden in #357
- From print to logging by @jaimergp in #360
- Add linting to CI by @jaimergp in #367
- Apply black to the whole package by @jaimergp in #371
- camelCase -> snake_case by @jaimergp in #372
- Make Pylint less noisy by @Lnaden in #375
- Modernize examples by @jaimergp in #374
- Refactoring pmf code by @mrshirts in #385
- Better dimension checking by @mrshirts in #386
- Bin edges support by @mrshirts in #387
- Apply Black to examples/ too by @jaimergp in #392
- Updated heat capacity example by @mrshirts in #394
- Replace "potential of mean force" with "free energy surface" by @mrshirts in #397
- Update GHA to use Conda-Incubator by @Lnaden in #410
- Bump conda-incubator in GHA to v2 by @Lnaden in #411
- Clean out old Omnia references for Pymbar 4.0 branch by @Lnaden in #412
- Modernize setup.py and versioning by @jaimergp in #413
- Fix for expectations of very small numbers by @mrshirts in #441
- Noticed one bug in setlogzero commit by @mrshirts in #443
- Syncing Pymbar4 with master by @mrshirts in #444
- Getting CI working on the current default branch by @mikemhenry in #449
- Pymbar 4.0 adaptive logic by @mrshirts in #446
- Pymbar4 add adaptivity by @mrshirts in #453
- Convert JAX JIT to Decorators by @Lnaden in #451
- Align namespaces to work if JAX is not installed by @Lnaden in #454
- Pymbar4 bootstrapping by @mrshirts in #448
- Remove old_mbar.py by @mrshirts in #457
- Pymbar4 with jax (real try now) by @mrshirts in #447
- Pymbar 4.0 by @mrshirts in #458
- [WIP] Pymbar4 documentation by @mrshirts in #455
- remove special character for now. by @mrshirts in #460
- switch to napoleon for better output formatting. by @mrshirts in #461
- More working on doc appearance. by @mrshirts in #462
Full Changelog: 3.0.7...4.0.0
Bugfix Release
What's Changed
- Fix #427 : Add BAR compute overlap method by @jchodera in #430
- Add warning about unstable API by @mikemhenry in #432
Full Changelog: 3.0.6...3.0.7
Bugfix Release
What's Changed
- Fixes sanity check for empty bins in computePMF by @tuckerburgin in #324
- Change anaconda channel from omnia to conda-forge by @chrisjonesBSU in #404
- Update README installation instructions from -c omnia to -c conda-forge. by @bdice in #418
- Forward maximum_iterations from MBAR constructor by @maxentile in #425
- Removed travis CI config file by @mikemhenry in #426
New Contributors
- @tuckerburgin made their first contribution in #324
- @chrisjonesBSU made their first contribution in #404
- @bdice made their first contribution in #418
- @maxentile made their first contribution in #425
- @mikemhenry made their first contribution in #426
Full Changelog: 3.0.5...3.0.6
Critical bugfix release
In adding support for python 3.8 and scipy 1.0, pymbar 3.0.4 accidentally changed the API for key components to a new experimental API in which dict
objects were returned for convenience.
This release restores the previous API behavior in pymbar 3.0.0-3.0.3, but allows the new API to be accessed via the optional keyword argument return_dict=True
(via PR #319). Without this keyword, the old API is used.
We will consider making the dict
API the default in pymbar 4, but we will plan to add warnings of the API change well in advance of this change.
Apologies to all our users who were affected by this issue!
Python 3.8 and Newer Scipy 1.0 compatibility
This release brings in all the changes from the last months and makes PyMBAR compatible with Python 3.8 and Scipy 1.0.