Skip to content

Releases: choderalab/perses

0.10.3

15 Sep 18:45
6c6419f
Compare
Choose a tag to compare

What's Changed

Enhancements

Documentation

  • Added MPI example with dipeptide mutation by @ijpulidos in #1228
  • Update comments in RESTCapableHybridTopologyFactory doc string by @zhang-ivy in #1189
  • Clean examples -- CLI protein-ligand example for Tyk2 by @ijpulidos in #1223

Bug Fixes

  • Fix spectator support by @ijpulidos in #1233
  • Realtime analysis interval to default to checkpoint interval by @ijpulidos in #1227
  • Correctly set cutoff for CustomNonbondedForce in HybridTopologyFactory when using a non-default cutoff distance. by @mikemhenry in
  • Backport openfe fixes for context deletion by @mikemhenry in #1229

Testing/CI/Packaging

Full Changelog: 0.10.2...0.10.3

0.10.2

28 Jun 18:51
06bbd50
Compare
Choose a tag to compare

Bugfix release.

Enhancements

  • Added support for reading input files (ex yaml, sdf, pdbs) from AWS, GCP, and Azure. See the documentation for cloudpathlib 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 #1073
  • CUDA platform was hardcoded in geometry engine, generating performance issues by not clearing openmm contexts correctly. Fixed by defaulting to using the faster CPU platform (for the geometry engine) and explicitly deleting context variables after they are used. by @ijpulidos in #1091
  • Set aromatic draw style to OEAromaticStyle_Circle in atom mapper rendering by @mikemhenry in #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 #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 #1133
  • CLI workflow for replica exchange now uses the faster LangevinMiddleIntegrator via the LangevinDynamicsMove. Tests were updated to reflect the changes. by @ijpulidos in #1138
  • Add opencontainers image-spec to Dockerfile by @SauravMaheshkar in #1139
  • Updated to support openff-toolkit 0.11, which included API-breaking changes. by @jchodera in #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 #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 #1202

Documentation

  • Document setting ionic_strength in examples/new-cli/template.yaml by @mikemhenry in #1104
  • Add reproducible version of COVID Moonshot example anyone can run as an example by @jchodera in #1145
  • Speed up RTD env generation by @mikemhenry in #1105
  • Fix documentation string for ProteinMutationExecutor, using False for reassign_velocities parameter. by @ijpulidos in #1169
  • Document how to control the log level in the CLI by @mikemhenry in #1198

Bug Fixes

  • Fixes bug where if a : was in a key, we could not override the argument in our perses-cli. @mikemhenry in #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 #1163
  • Fixes for new openmmtools 0.23.0 by @mikemhenry in #1203

Testing/CI/Packaging

New Contributors

Full Changelog: 0.10.1...0.10.2

Benchmark data

Tyk2

From the latest data set in https://github.com/openforcefield/protein-ligand-benchmark (please note that it is not directly comparable to previous releases results)

plot_relative
plot_absolute

0.10.1

26 Jun 20:00
c4368a6
Compare
Choose a tag to compare

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).

Benchmark data

Benchmarks run with small molecule force field (ff) and protein ff, openff-2.0.0 and ff14SB, respectively.

Tyk2

tyk2_plot_relative tyk2_plot_absolute

Cdk2

cdk2_plot_relative cdk2_plot_absolute

0.10.0

10 Jun 22:02
af66f31
Compare
Choose a tag to compare

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).

Benchmark data

Benchmarks run with small molecule force field (ff) and protein ff, openff-2.0.0 and ff14SB, respectively. Tyk2 system.
joint_plots
Obtained peak performance of ~360 ns/day on A100 GPU.

0.9.5 Citation Release

04 Mar 16:48
393b78f
Compare
Choose a tag to compare

What's Changed

Benchmarks

Note: This release is to make it easier to cite the perses software package. See the v0.9.4 release for current benchmarking data.

Full Changelog: 0.9.4...0.9.5

Release 0.9.4

25 Feb 20:31
691d890
Compare
Choose a tag to compare

What's Changed

Full Changelog: 0.9.3...0.9.4

Benchmark data

Benchmarks run with small molecule force field (ff) and protein ff, openff-2.0.0 and ff14SB, respectively.

  • tyk2

    • 5ns/replica:
      plot_absolute_5ns
      plot_relative_5ns
    • 1ns/replica:
      plot_absolute_1ns
      plot_relative_1ns
  • jnk1:

    • 5ns/replica:
      plot_absolute_5ns
      plot_relative_5ns
    • 1ns/replica:
      plot_absolute_1ns
      plot_relative_1ns

Release 0.9.3

07 Feb 21:09
c81fa5d
Compare
Choose a tag to compare

See change log for details.

What's Changed

Benchmark Data

New Contributors

Full Changelog: 0.9.2...0.9.3

Release 0.9.2

31 Aug 22:51
5c5a228
Compare
Choose a tag to compare

See change log for details.

Release 0.9.1

02 Aug 19:53
5d50cbc
Compare
Choose a tag to compare

See change log for details.

Release 0.9.0

14 May 19:47
b06ff87
Compare
Choose a tag to compare