Skip to content

Commit 031e13c

Browse files
IAlibayjthorton
andauthored
Add resume support to HybridTop simulation unit (#1774)
* Add resume support for HybridTop multistate simulations --------- Co-authored-by: Josh Horton <Josh.Horton@newcastle.ac.uk>
1 parent 6c0ea0f commit 031e13c

File tree

11 files changed

+885
-128
lines changed

11 files changed

+885
-128
lines changed

src/openfe/data/_registry.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,15 @@
1717
fname="industry_benchmark_systems.zip",
1818
known_hash="sha256:2bb5eee36e29b718b96bf6e9350e0b9957a592f6c289f77330cbb6f4311a07bd",
1919
)
20+
zenodo_resume_data = dict(
21+
base_url="doi:10.5281/zenodo.18331259",
22+
fname="multistate_checkpoints.zip",
23+
known_hash="md5:6addeabbfa37fd5f9114e3b043bfa568",
24+
)
25+
2026
zenodo_data_registry = [
2127
zenodo_rfe_simulation_nc,
2228
zenodo_t4_lysozyme_traj,
2329
zenodo_industry_benchmark_systems,
30+
zenodo_resume_data,
2431
]

src/openfe/protocols/openmm_rfe/_rfe_utils/multistate.py

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,13 @@ class HybridCompatibilityMixin:
3232
unsampled endpoints have a different number of degrees of freedom.
3333
"""
3434

35-
def __init__(self, *args, hybrid_system, hybrid_positions, **kwargs):
35+
def __init__(
36+
self,
37+
*args,
38+
hybrid_system: openmm.System | None = None,
39+
hybrid_positions: unit.Quantity | None = None,
40+
**kwargs
41+
):
3642
self._hybrid_system = hybrid_system
3743
self._hybrid_positions = hybrid_positions
3844
super(HybridCompatibilityMixin, self).__init__(*args, **kwargs)
@@ -167,7 +173,13 @@ class HybridRepexSampler(HybridCompatibilityMixin,
167173
number of positions
168174
"""
169175

170-
def __init__(self, *args, hybrid_system, hybrid_positions, **kwargs):
176+
def __init__(
177+
self,
178+
*args,
179+
hybrid_system: openmm.System | None = None,
180+
hybrid_positions: unit.Quantity | None = None,
181+
**kwargs
182+
):
171183
super(HybridRepexSampler, self).__init__(
172184
*args,
173185
hybrid_system=hybrid_system,
@@ -182,7 +194,13 @@ class HybridSAMSSampler(HybridCompatibilityMixin, sams.SAMSSampler):
182194
of positions
183195
"""
184196

185-
def __init__(self, *args, hybrid_system, hybrid_positions, **kwargs):
197+
def __init__(
198+
self,
199+
*args,
200+
hybrid_system: openmm.System | None = None,
201+
hybrid_positions: unit.Quantity | None = None,
202+
**kwargs
203+
):
186204
super(HybridSAMSSampler, self).__init__(
187205
*args,
188206
hybrid_system=hybrid_system,
@@ -197,7 +215,13 @@ class HybridMultiStateSampler(HybridCompatibilityMixin,
197215
MultiStateSampler that supports unsample end states with a different
198216
number of positions
199217
"""
200-
def __init__(self, *args, hybrid_system, hybrid_positions, **kwargs):
218+
def __init__(
219+
self,
220+
*args,
221+
hybrid_system: openmm.System | None = None,
222+
hybrid_positions: unit.Quantity | None = None,
223+
**kwargs
224+
):
201225
super(HybridMultiStateSampler, self).__init__(
202226
*args,
203227
hybrid_system=hybrid_system,

0 commit comments

Comments
 (0)