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¶
Print perses version on startup by @mikemhenry in https://github.com/choderalab/perses/pull/1176
Support pymbar 3 & 4 by @mikemhenry in https://github.com/choderalab/perses/pull/1173
Store initial and final topologies for all phases – small molecule pipeline by @ijpulidos in https://github.com/choderalab/perses/pull/1210
Documentation¶
Added MPI example with dipeptide mutation by @ijpulidos in https://github.com/choderalab/perses/pull/1228
Update comments in
RESTCapableHybridTopologyFactory
doc string by @zhang-ivy in https://github.com/choderalab/perses/pull/1189Clean examples – CLI protein-ligand example for Tyk2 by @ijpulidos in https://github.com/choderalab/perses/pull/1223
Bug Fixes¶
Fix spectator support by @ijpulidos in https://github.com/choderalab/perses/pull/1233
Realtime analysis interval to default to checkpoint interval by @ijpulidos in https://github.com/choderalab/perses/pull/1227
Correctly set cutoff for
CustomNonbondedForce
inHybridTopologyFactory
when using a non-default cutoff distance. by @mikemhenry inBackport openfe fixes for context deletion by @mikemhenry in https://github.com/choderalab/perses/pull/1229
Testing/CI/Packaging¶
Run CI on new 0.10.x branch by @mikemhenry in https://github.com/choderalab/perses/pull/1212
Use python executable from env by @mikemhenry in https://github.com/choderalab/perses/pull/1174
Remove example testing by @mikemhenry in https://github.com/choderalab/perses/pull/1214
CI miscellaneous fixes by @ijpulidos in https://github.com/choderalab/perses/pull/1217
Improve docker building by @mikemhenry in https://github.com/choderalab/perses/pull/1200
Full Changelog: https://github.com/choderalab/perses/compare/0.10.2…0.10.3
0.10.2 - Release¶
Bugfix release.
Enhancements¶
Added support for reading input files (ex yaml, sdf, pdbs) from AWS, GCP, and Azure. See the documentation for [cloudpathlib](https://cloudpathlib.drivendata.org/stable/authentication/) for how to setup authentication. Currently only reading the yaml from S3 is unit tested (ie perses-cli –yaml s3://perses-testing/template_s3.yaml), but other cloud providers and input files should work. AzureBlobPath, S3Path and GSPath are supported URI endpoints. Please report any issues on our issue tracker! by @mikemhenry in https://github.com/choderalab/perses/pull/1073
CUDA
platform was hardcoded in geometry engine, generating performance issues by not clearing openmm contexts correctly. Fixed by defaulting to using the fasterCPU
platform (for the geometry engine) and explicitly deleting context variables after they are used. by @ijpulidos in https://github.com/choderalab/perses/pull/1091Set aromatic draw style to OEAromaticStyle_Circle in atom mapper rendering by @mikemhenry in https://github.com/choderalab/perses/pull/1103
Ligands with atoms changing constrained status were not being handled by mapping proposal. Atoms in bonds that change constrained/unconstrained to unconstrained/constrained during the transformation are now _demapped_. by @ijpulidos in https://github.com/choderalab/perses/pull/1125
Now that upstream
openmmtools
is storing velocities on checkpoint, the small molecule transformation pipeline does not reassign velocities on resume by default. Instead, the velocities are read from the checkpoint file. by @ijpulidos in https://github.com/choderalab/perses/pull/1133CLI workflow for replica exchange now uses the faster
LangevinMiddleIntegrator
via theLangevinDynamicsMove
. Tests were updated to reflect the changes. by @ijpulidos in https://github.com/choderalab/perses/pull/1138Add opencontainers image-spec to Dockerfile by @SauravMaheshkar in https://github.com/choderalab/perses/pull/1139
Updated to support openff-toolkit 0.11, which included API-breaking changes. by @jchodera in https://github.com/choderalab/perses/pull/1128
Make solute-only trajectory writing optional. This option is controlled by the atom_selection option in the yaml file. The syntax uses the MDTraj selection syntax, e.g. not water @mikemhenry in https://github.com/choderalab/perses/pull/1185
Users can now specify solvent model for simulations using the
solvent_model
field in the input YAML file. Supported values are ‘tip3p’, ‘spce’, ‘tip4pew’, ‘tip5p’, and ‘swm4ndp’ (polarizable) by @ijpulidos in https://github.com/choderalab/perses/pull/1202
Documentation¶
Document setting ionic_strength in examples/new-cli/template.yaml by @mikemhenry in https://github.com/choderalab/perses/pull/1104
Add reproducible version of COVID Moonshot example anyone can run as an example by @jchodera in https://github.com/choderalab/perses/pull/1145
Speed up RTD env generation by @mikemhenry in https://github.com/choderalab/perses/pull/1105
Fix documentation string for ProteinMutationExecutor, using False for reassign_velocities parameter. by @ijpulidos in https://github.com/choderalab/perses/pull/1169
Document how to control the log level in the CLI by @mikemhenry in https://github.com/choderalab/perses/pull/1198
Bug Fixes¶
Fixes bug where if a : was in a key, we could not override the argument in our perses-cli. @mikemhenry in https://github.com/choderalab/perses/pull/1062
Resolves #1157 objects serialized with utils.data.serialize now will be compressed with bzip2 or gzip depending on file name (.gz and .bz2, respectively) by @mikemhenry in https://github.com/choderalab/perses/pull/1163
Fixes for new openmmtools 0.23.0 by @mikemhenry in https://github.com/choderalab/perses/pull/1203
Testing/CI/Packaging¶
add python 3.10 to CI by @mikemhenry in https://github.com/choderalab/perses/pull/1080
skip broken tests by @mikemhenry in https://github.com/choderalab/perses/pull/1074
Feat/fix ssl gpu error by @mikemhenry in https://github.com/choderalab/perses/pull/1095
Previously the keyword argument save_freq in validate_endstate_energies_md was not functional and the value of 250 steps was hard coded. Now, save_freq works and has a default value of 250 steps. by @mikemhenry in https://github.com/choderalab/perses/pull/1101
fix issue with test asset name by @mikemhenry in https://github.com/choderalab/perses/pull/1102
Examples and benchmarks template input files now run vacuum, solvent and complex phases in order. by @ijpulidos in https://github.com/choderalab/perses/pull/1122
Add openmm 8 to testing matrix by @mikemhenry in https://github.com/choderalab/perses/pull/1124
Fix resume tests to use new CLI (resolves issue #1150) by @mikemhenry in https://github.com/choderalab/perses/pull/1151
Avoid testing non-examples in CI by @ijpulidos in https://github.com/choderalab/perses/pull/1164
only run dev with newest python version by @mikemhenry in https://github.com/choderalab/perses/pull/1165
remove outdated recipe by @mikemhenry in https://github.com/choderalab/perses/pull/1159
update release process by @mikemhenry in https://github.com/choderalab/perses/pull/1162
add env caching to CI by @mikemhenry in https://github.com/choderalab/perses/pull/1178
Skip failing openmm 8 tests by @mikemhenry in https://github.com/choderalab/perses/pull/1186
Add small molecule repex consistency tests by @zhang-ivy in https://github.com/choderalab/perses/pull/1065
Fix RESTTopologyFactory test by @zhang-ivy in https://github.com/choderalab/perses/pull/1188
enable merge queue by @mikemhenry in https://github.com/choderalab/perses/pull/1206
Using default online analysis interval in GPU repex tests by @ijpulidos in https://github.com/choderalab/perses/pull/1207
New Contributors¶
@SauravMaheshkar made their first contribution in https://github.com/choderalab/perses/pull/1139
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 theHybridCompatibilityMixin
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
andtest_RESTCapableHybridTopologyFactory_energies_GPU
– fixed by removing unit-lessrest_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
: whentopology_index_map
, which contains the atom indices involved in a particular torsion, is None – fixed by not trying to add that torsion whentopology_index_map
isNone
. (#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 ofopenff-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
usingclick
. 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. Formerperses-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¶
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¶
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 anAtomMapping
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.