OpenFreeEnergy / gufe

grand unified free energy by OpenFE
https://gufe.readthedocs.io
MIT License
32 stars 9 forks source link

Add concept of `samples` to `Protocol.create`? #328

Open dotsdl opened 4 months ago

dotsdl commented 4 months ago

Proposed Protocols like NonEquilibriumSwitching 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 current gufe data model, a Protocol such as this can be written, but repeated executions of Transformations that use that Protocol would perform equilibrium MD many times redundantly, wasting resources.

To address this, we could add a keyword called samples to Protocol.create that works similarly to extends, but takes as input ProtocolDAGResults from certain Protocol subclasses. This could be used by the consuming Protocol as a source of sampling for whatever it needs to do itself.

IAlibay commented 4 months ago

Interesting, there's a few things we should consider here but it would be worth discussing!

IAlibay commented 4 months ago

Maybe one initial question here is "could this also be solved by passing an explicit component through? maybe a type of serialised PDB?"