OpenFreeEnergy / openfe

The Open Free Energy toolkit
https://docs.openfree.energy
MIT License
125 stars 15 forks source link

[user story] debugging predictions by inspecting simulations #574

Open JenkeScheen opened 9 months ago

JenkeScheen commented 9 months ago

Following internal discussion, I'm posting a quick user story here. cc @dotsdl @dwhswenson

When FE predictions are poor versus experiment, many variables can be the cause, even additively. One of the first (good practice would be: always the first) thing to check is whether ligands are retaining their binding modes along the performed simulations. Ligands being ejected out of binding pockets is not uncommon even at these short timescales - obviously this messes up FE predictions.

Currently, at least on alchemiscale, there is no way of retrieving the simulation from a computed edge. Downloading a whole trajectory (or set of replica trajectories) can be costly and may not be fully necessary (although it would make for some pretty viz). A more scaleable approach is pulling down a PDB file of the last frame in the trajectory. Binding modes can then be easily inspected per simulation. In terms of the repex protocol, pulling down this PDB file for each replica would be very valuable, as the binding mode transition can be monitored along the edge.

I'm not sure to what extent this is currently possible in OpenFE - perhaps @dotsdl can shed some light on what features would be required to get this functionality be enabled for hook-up to alchemiscale?

richardjgowers commented 9 months ago

This is the analysis package we're using for the repex protocol: https://github.com/OpenFreeEnergy/openfe_analysis

PR #571 is adding some basic structural analysis as standard on the repex protocol, this includes a measure of ligand center-of-mass drift over time.

We could include a PDB of the final frame in the output dictionary, but I think I'd rather make a proper job of this and include the final checkpoint to fully enable restarts

IAlibay commented 9 months ago

Just to add here, I think all involved are aware but just in case someone comes along - proper checkpointing for restarts is going to need some openmmtools work. As far as I'm aware the current tooling is insufficient to do restarts without the full NC file (which we definitely don't want to ship around!)