Release history

This section lists features and improvements of note in each release.

The full release history can be viewed at the GitHub perses releases page.

0.10.3 - Release

Bugfix release.

Enhancements

Documentation

Bug Fixes

Testing/CI/Packaging

Full Changelog: https://github.com/choderalab/perses/compare/0.10.2…0.10.3

0.10.2 - Release

Bugfix release.

Enhancements

Documentation

Bug Fixes

Testing/CI/Packaging

New Contributors

Full Changelog: https://github.com/choderalab/perses/compare/0.10.1…0.10.2

0.10.1 - Release

Bugfix release.

Bugfixes

  • Bug when trying to use the new RESTCapableHybridTopologyFactory in the small molecule pipeline – fixed by not specifying a protocol, hence allowing the HybridCompatibilityMixin object to automatically handle it. Issue #1039 (PR #1045)

  • Bug in create_endstates_from_real_systems() – fixed by setting the global parameters for valence forces to the appropriate endstate. Also added tyk2 transformation test. Issue #1041 (PR #1050).

  • Bug in the RESTCapableHybridTopologyFactory lifting expression – fixed by separating the cutoff distance from the lifting distance. (PR #1046)

  • Fix bug in RelativeFEPSetup that prevents user from controlling the padding when solvating for solvent phase calculations. (PR #1053)

  • Bug in test_unsampled_endstate_energies_GPU and test_RESTCapableHybridTopologyFactory_energies_GPU – fixed by removing unit-less rest_radius argument and using default instead. (PR #1057)

Enhancements

  • Add flag transform_waters_into_ions_for_charge_changes for disabling the introduction of a counterion for charge changing transformations. Issue #1004 (PR #1030)

  • Perses output yaml file now adds timestamp and ligands names information (for old and new ligands). Issue #998 (PR #1052).

  • Protein mutation repex internal consistency tests to ensure convergence. So far only testing neutral transformations. Issue #1044 (PR #1054).

0.10.0 - Release

New command line interface (CLI), many enhancements for the API (especially the PointMutationExecutor) and improved testing.

Bugfixes

  • Bug in geometry engine’s _determine_extra_torsions: when topology_index_map, which contains the atom indices involved in a particular torsion, is None – fixed by not trying to add that torsion when topology_index_map is None. (#855)

  • Bug generated by changes upstream in the openmm package – default method for calculating solvent padding changed, which resulted in smaller boxes. Fixed by adding more padding to the simulation box, it is now 1.1 nm. Openmm issue #3502. Perses issue #949 (#953)

  • Fixed energy bookkeeping in test of HybridTopologyFactory when a ring amino acid is involved in transformation. (#969)

  • Avoid changing the global context cache behavior on module imports. Issue #968 (#977).

  • Benchmark free energy plots now shift data to experimental mean. (#981)

  • Skip introduction of counterion for charge changing mutations in vacuum and fix typo in the phase name in test_resume_protein_mutation_no_checkpoint (#991).

  • Recovered logging capabilities respecting the LOGLEVEL environment variable. Issue #1018 (#1032).

Enhancements

  • Improved continuous integration (CI) performance. (#961)

  • PointMutationExecutor now accepts both solute and solvated PDBs (previously only accepted solute PDBs). (#967)

  • Tests and examples are now using openff-2.0.0 force field instead of openff-1.0.0. (#971)

  • Use names (instead of indices) for fetching the force components of a system, avoiding issues with force reordering upstream in openmm. Issue #993 (#976 and #1007)

  • Increase stability of simulations by decreasing the default hydrogen mass to 3 amu in the PointMutationExecutor. Issue #982 (#983).

  • Improved CI tests on both CPU and GPU. Better handling of temporary directories, closing opened reporter files when tests are finished, and using same environments for CPU and GPU (#985 #989 #1012)

  • Performance increase when retrieving the old or new positions from the hybrid positions. Issue #1005 (#1020)

  • Use of unique names for force components in HybridTopologyFactory (#1022).

  • New function create_endstates_from_real_systems() for creating unsampled endstates for currently supported hybrid topology factories (#1023).

  • Improve the readability and usability of PointMutationExecutor and updates how parameters are specified for solvation (#1024).

New features

  • Introduce RESTCapableHybridTopologyFactory. Hybrid factory that allows for REST scaling, alchemical scaling, and 4th dimension softcore. So far, only working for protein mutations (#848 #992).

  • New perses command line interface (CLI) perses-cli using click. Allowing a more friendly interface for users. It tests the running environment, sets the platform for the simulation and allows interactive overriding arbitrary options in the input YAML file. Former perses-relative CLI entry point is now deprecated (#972 #1021 #1027).

  • Support for handling charge changes (by transforming a water into a counterion) for both protein mutations and ligands transformations. #862 (#973).

  • Hybrid topology factory class name can now be specified using the hybrid_topology_factory parameter in the input YAML file (#988).

  • Introduce unsampled_endstates boolean option in input YAML file, which enables/disables creation of unsampled endstates with long-range sterics correction. Issue #1033 (#1037).

0.9.5 - Release

Enhancements

  • (PR #948 & PR #952) Add citation file, which should enhance the citation generated by Zenodo.

0.9.4 - Release

Performance optimizations:

  • (PR #938) Separate ContextCache objects are now created for propagation and energy computation in replica exchange calculations to avoid periodic cycling behavior.

Bugfixes

  • (PR #938) Mixed precision and deterministic forces are used by default.

  • (PR #938) Velocities are refreshed from the Maxwell-Boltzmann distribution each iteration to avoid sudden cooling when simulations are resumed.

  • (PR #944) Fixes to visualization module.

Enhancements

  • (PR #909) Overhaul of Folding@home setup pipeline

  • (PR #909) use_given_geometries is now True by default

  • (PR #934) Preview of new CLI tool perses-cli that takes in a yaml file and creates dummy output. Work in progress. CLI/API still subject to changes.

0.9.3 - Release

Bugfixes

  • (PR #894) Remove unused argument ‘implicitSolvent’ from SystemGenerator in tests.

  • (PR #893) Add installation instructions to readme.

  • (PR #892) Allow generate_dipeptide_top_pos_sys to accept demap_CBs.

  • (PR #878) Fix stochastic failures in RepartitionedHybridTopologyFactory test.

  • (PR #877) Fix naked charge padding (sigmas for hydroxyl hydrogens are changed from 1.0 nm to 0.06 nm).

  • (PR #874) Added readme instructions on how to run perses examples using the docker container with GPUs/CUDA.

  • (PR #866) Fix endstate validation handling in PointMutationExecutor.

  • (PR #860) Simplify _construct_atom_map for protein mutations.

  • Various CI fixes * PR #787 * PR #850 * PR #858 * PR #868 * PR #871 * PR #880 * PR #887 * PR #898

New features

0.9.2 - Bugfix release

Bugfixes

  • (PR #835) Write out YAML file after all options are parsed and set. Saved as YAML original file name + date + time. Resolves #817.

  • (PR #840) Minor improvements to point mutation executor. Make sure reverse geometry proposal is directly after forward proposal. Fixes formatting problem for complex positions.

  • (PR #841) Minor improvements to PolymerProposalEngine.

  • (PR #844) Minimal examples of amino acid (small molecule), protein-ligand and ligand mutations, with automated testing.

  • (PR #849) Use an instance of ContextCache instead of the default global instance. More info at #613 (comment).

New features

  • (PR #708) Create visualization module for generating PyMOL movies.

  • (PR #834) Enable protein mutation transformations involving nonstandard amino acids, specifically: ASH, GLH, HID, HIE, HIP, LYN.

  • (PR #838) Official Docker image hosted on docker hub docker pull choderalab/perses:0.9.2. Resolves #832.

0.9.1 - Bugfix release

Bugfixes

  • (PR #830) Added limited support for resuming simulations from the CLI. Assumes simulations are only going to be resumed from the production step and not equilibration step. To extend the simulation, change n_cycles to a larger number and re-run the CLI tool. LOGLEVEL can now be set with an environmental variable when using the CLI tool.

  • (PR #821) Added tests for the resume simulation functionality.

  • (PR #828) Addresses (issue #815) by checking the potential energy of the proposed positions before generating the RepartitonedHybridTopologyFactory.

  • (PR #809) The atom mapping facility was overhauled to address a bug in mapping rings (#805). Atom mapping is now handled via an AtomMapper factory that generates an AtomMapping class that localizes all relevant functionality.

  • (PR #824) The default timestep is now 4 fs (was 1 fs) and the minimum openMM version is now 7.5.0

  • (PR #812) Automatically set package version by git tag using versioneer

  • (PR #804) Set the default temperature back to 300 K for relative_point_mutation_setup.py.

  • (PR #796) Removed defunct atom_map argument from FEP constructor.