choderalab / protons

OpenMM testbed for constant-pH methodologies.
http://protons.readthedocs.io/
MIT License
21 stars 13 forks source link

Create mechanism of checkpointing constant-pH simulation #90

Closed bas-rustenburg closed 6 years ago

bas-rustenburg commented 7 years ago

We currently have no straightforward way to continue simulations after termination. It would be helpful to add a feature to instantiate the ProtonDrive and Sams sampler from a previous simulation.

This would include:

jchodera commented 7 years ago

I've previously used NetCDF to store information about state in a way that makes it easy to resume. How are you storing data right now?

@Lnaden also has a storage layer he is going to merge into openmmtools very soon. You might see if this could fit your needs.

bas-rustenburg commented 7 years ago

Most of the driver data gets stored in netCDF, but not the weights as updated by SAMS. The regular storage strategy would need some updating to support this.

As of now some of the SAMS stuff gets pickled, but not everything I need gets stored at the moment. I want to come up with a clean way to do this, potentially adding it to the same netCDF file.

On the side though, I was considering coming up with a way to serialize the Driver and Sams sampler into some XML object. The serialization could be helpful because normally it can take a few minutes to instantiate the drive from scratch due to looking up interactions/exceptions in the system. Being able to serialize the drive alongside the system could be very helpful for debugging speed, and it could provide a browsable view of the instantiated objects. This would be lower priority.

bas-rustenburg commented 7 years ago

Created a new issue to keep track of changes to the netCDF format.

jchodera commented 7 years ago

Most of the driver data gets stored in netCDF, but not the weights as updated by SAMS. The regular storage strategy would need some updating to support this.

I'd definitely store (1) anything you need to resume from, and (2) anything we might ever want to plot for the paper.

I agree that serialization is lower priority. We do expect to knock out a few papers with protons, but its eventual home will either be moved to an MCMCMove and/or a lower-level OpenMM API, so we may not need to spend so much effort on speeding up restarts.

bas-rustenburg commented 6 years ago

See #112