Open dotsdl opened 4 months ago
Interesting, there's a few things we should consider here but it would be worth discussing!
Maybe one initial question here is "could this also be solved by passing an explicit component through? maybe a type of serialised PDB?"
Proposed
Protocol
s likeNonEquilibriumSwitching
take advantage of equilibrium MD followed by nonequilibrium MD, where the nonequilibrium MD uses sampled configurations from the equilibrium MD as starting points. Under the currentgufe
data model, aProtocol
such as this can be written, but repeated executions ofTransformation
s that use thatProtocol
would perform equilibrium MD many times redundantly, wasting resources.To address this, we could add a keyword called
samples
toProtocol.create
that works similarly toextends
, but takes as inputProtocolDAGResult
s from certainProtocol
subclasses. This could be used by the consumingProtocol
as a source of sampling for whatever it needs to do itself.NonEquilibriumSwitching
, we would ideally want to run a set of equilibriumProtocolDAG
s that then provide sampling sources for the nonequilibrium MD; theNoneEquilibriumSwitching
protocol would then use these inputs as sampling instead of running its own equilibrium MDProtocol
s that can make use of itsamples
takes a list ofProtocolDAGResult
s as an input; would allow the consumingProtocol
to decide how it handles these collectivelyalchemiscale
, this would translate to asamples
kwarg onTask
creation, similar toextends
, but that takes a list ofTask
ScopedKey
sTask
wouldn't be executable until all itssamples
andextends
Task
s, if given, are complete