Skip to content

0.10.0

Compare
Choose a tag to compare
@ijpulidos ijpulidos released this 10 Jun 22:02
· 66 commits to main since this release
af66f31

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.