.. _changelog: *************** 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.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 ^^^^^^^^^^^^ - (PR `#896 `_) Drop support for older OpenMM versions. We now only support versions >= 7.6.0. - (PR `#924 `_) Command line utility to automatically run and analyze benchmarks using the data set found in https://github.com/openforcefield/protein-ligand-benchmark/ 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.