Recent Releases of perses

perses - 0.10.3

What's Changed

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/1189
  • Clean 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 in HybridTopologyFactory when using a non-default cutoff distance. by @mikemhenry in
  • Backport 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

- Python
Published by mikemhenry over 2 years ago

perses - 0.10.2

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 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 faster CPU platform (for the geometry engine) and explicitly deleting context variables after they are used. by @ijpulidos in https://github.com/choderalab/perses/pull/1091
  • Set 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/1133
  • CLI workflow for replica exchange now uses the faster LangevinMiddleIntegrator via the LangevinDynamicsMove. Tests were updated to reflect the changes. by @ijpulidos in https://github.com/choderalab/perses/pull/1138
  • Add 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

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

- Python
Published by mikemhenry over 2 years ago

perses - 0.10.1

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

- Python
Published by ijpulidos over 3 years ago

perses - 0.10.0

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.

- Python
Published by ijpulidos over 3 years ago

perses - 0.9.5 Citation Release

What's Changed

  • Add citation by @zhang-ivy in https://github.com/choderalab/perses/pull/948
  • Fix citation file by @zhang-ivy in https://github.com/choderalab/perses/pull/952
  • Release 0.9.5 by @mikemhenry in https://github.com/choderalab/perses/pull/950

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: https://github.com/choderalab/perses/compare/0.9.4...0.9.5

- Python
Published by mikemhenry almost 4 years ago

perses - Release 0.9.4

What's Changed

  • Stop uploading coverage reports on nightly CI runs by @mikemhenry in https://github.com/choderalab/perses/pull/932
  • Use energy and sampler context caches in simulations by @ijpulidos in https://github.com/choderalab/perses/pull/938
  • Cleanup and bugfixes for FAH generator for small molecule transformations by @jchodera in https://github.com/choderalab/perses/pull/909
  • Fixes to visualization module by @zhang-ivy in https://github.com/choderalab/perses/pull/944
  • Add CLI that creates dummy output files and validates input by @mikemhenry in https://github.com/choderalab/perses/pull/934
  • Release 0.9.4 by @ijpulidos in https://github.com/choderalab/perses/pull/941

Full Changelog: https://github.com/choderalab/perses/compare/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

- Python
Published by ijpulidos almost 4 years ago

perses - Release 0.9.3

See change log for details.

What's Changed

  • Fix endstate validation handling in PointMutationExecutor by @schallerdavid in https://github.com/choderalab/perses/pull/866
  • Remove hacks now that upstream has updated packages by @mikemhenry in https://github.com/choderalab/perses/pull/868
  • Removed travis CI config file by @mikemhenry in https://github.com/choderalab/perses/pull/871
  • Fix naked charge padding by @zhang-ivy in https://github.com/choderalab/perses/pull/877
  • Fix stochastic failures in RepartitionedHybridTopologyFactory test by @zhang-ivy in https://github.com/choderalab/perses/pull/878
  • Running examples with GPU using docker container. by @ijpulidos in https://github.com/choderalab/perses/pull/874
  • Use mamba instead of conda by @mikemhenry in https://github.com/choderalab/perses/pull/850
  • Test new python versions by @mikemhenry in https://github.com/choderalab/perses/pull/880
  • Simplify _construct_atom_map for protein mutations by @zhang-ivy in https://github.com/choderalab/perses/pull/860
  • use beta of openeye toolkit by @mikemhenry in https://github.com/choderalab/perses/pull/887
  • Add GPU testing to our CI by @mikemhenry in https://github.com/choderalab/perses/pull/858
  • Allow generate_dipeptide_top_pos_sys to accept demap_CBs by @zhang-ivy in https://github.com/choderalab/perses/pull/892
  • add installation instructions to readme by @mikemhenry in https://github.com/choderalab/perses/pull/893
  • Remove unused argument 'implicitSolvent' from SystemGenerator in tests by @mikemhenry in https://github.com/choderalab/perses/pull/894
  • Disable CI failure if codecov fails by @mikemhenry in https://github.com/choderalab/perses/pull/898
  • Only support openmm 7.6 by @mikemhenry in https://github.com/choderalab/perses/pull/896
  • update CI to test release candidate by @mikemhenry in https://github.com/choderalab/perses/pull/787
  • Fix box vector handling in topology proposal by @zhang-ivy in https://github.com/choderalab/perses/pull/922
  • Fix atom masses in vanilla HybridTopologyFactory by @zhang-ivy in https://github.com/choderalab/perses/pull/918
  • Fix water selection for counterion by @zhang-ivy in https://github.com/choderalab/perses/pull/905
  • Add scripts to perform automated benchmarking against Open Force Field protein-ligand benchmarks by @ijpulidos in https://github.com/choderalab/perses/pull/924
  • Update contributors list by @jchodera in https://github.com/choderalab/perses/pull/930
  • Release/0.9.3 by @mikemhenry in https://github.com/choderalab/perses/pull/925

Benchmark Data

New Contributors

  • @schallerdavid made their first contribution in https://github.com/choderalab/perses/pull/866

Full Changelog: https://github.com/choderalab/perses/compare/0.9.2...0.9.3

- Python
Published by mikemhenry about 4 years ago

perses - Release 0.9.2

See change log for details.

- Python
Published by ijpulidos over 4 years ago

perses - Release 0.9.1

See change log for details.

- Python
Published by mikemhenry over 4 years ago

perses - Release 0.9.0

CI improvements: PR #736 #739 #751 #761 #763 Refactoring: PR #768 #773 #775 #786 Bug Fixes: PR #744 #745 #746 #783

Enhancements: * Deterministic Geometry Proposal * Enable hybrid topology factory to be repartitioned at the endstates * Add option to impose RMSD restraint on core heavy atoms and nearby protein CA atoms

- Python
Published by mikemhenry almost 5 years ago

perses - 0.8.1

Adding yaml file options to remove constraints Testing for FAH generator

- Python
Published by hannahbrucemacdonald over 5 years ago

perses - Fix protein mutations

  • Update protein mutations API
  • Add protein mutations to fah generator

- Python
Published by zhang-ivy over 5 years ago

perses - bug fix with atom mapping strategies

Minor bug-fix release for atom mapping strategies

- Python
Published by hannahbrucemacdonald over 5 years ago

perses - Adding Geometry-based single topology mapping

This release allows for the 'geometry' keyword criteria which fixes the bug whereby ligands were being modelled into the site with the incorrect binding mode. Solves issue #688

- Python
Published by hannahbrucemacdonald over 5 years ago

perses - FAH pipeline

Major change in this release is the addition of the fah_perses_generator.py, which prepares files necessary for deployment on FAH.

The repo is now pinned to the newest version of openmm, 7.4.2.

- Python
Published by hannahbrucemacdonald over 5 years ago

perses - Protein mutations and atom mapping

Added protein mutation functionality

Better and faster validation checks with CUDA-double precision

Improved analysis code

- Python
Published by hannahbrucemacdonald almost 6 years ago

perses - Functional simulation start

bugfix release to allow setup_relative_simulation.py to be run programmatically

- Python
Published by hannahbrucemacdonald almost 6 years ago

perses - More flexible atom mapping

Adding yaml options for atom and bond mappings for more flexibility

Separating AtomMapper function from SmallMoleculeSetProposal engine to allow for faster testing of ideas, demonstrated in atom-mapping example

Added perses-relative entry point for setup_relative_calculation.py

- Python
Published by hannahbrucemacdonald about 6 years ago

perses - Perses-lite and sMC

This release:

  • Restructuring of package
  • Improvements to pairwise relative free energy calculations using REPEX
  • New SequentialMonteCarlo class and algorithms for performing non-equilibrium switching
  • Parallelisms for dask, trailblazing, and resampling capabilities

perses-0.4.0.zip perses-0.4.0.tar.gz

- Python
Published by hannahbrucemacdonald about 6 years ago

perses - New examples and fixes to hybrid factory

This release includes:

  • New examples involving transdimensional nonequilibrium switching
  • Fixes to the CDK2 example
  • A new PremappedSmallMoleculeSetProposalEngine
  • Fixes and updates to other parts of the code

- Python
Published by pgrinaway about 7 years ago

perses - SAMS improvements and exact PME

This release now uses exact PME via the new offset feature from OpenMM 7.3 (https://github.com/pandegroup/openmm/pull/2105) and updates the CDK2 example to use SAMS by default.

- Python
Published by jchodera over 7 years ago

perses - Initial relative free energy code release

This release contains the following features:

  • (Pairwise) relative free energy calculation tools using either nonequilibrium switching or SAMS
  • An object-oriented framework for setting up and running relative free energy calculations

- Python
Published by pgrinaway over 7 years ago