choderalab / perses

Experiments with expanded ensembles to explore chemical space
http://perses.readthedocs.io
MIT License
181 stars 51 forks source link

Appending additional phase to current results #1075

Open ijpulidos opened 2 years ago

ijpulidos commented 2 years ago

While running our benchmarks and generating results I have realized that we do not have an easy way to add a phase (i.e. vacuum, solvent, complex) to current finished simulations/results. Specifically, if we want to add vacuum phase data by just using a single vacuum value to the phases option to the input yaml file we end up hitting this error (which makes sense).

On the other hand, if we add the value to the current phases in the yaml input file, we end up with something like FileNotFoundError: Storage file <path_to_edge_results>/out-vacuum.nc or its subfiles do not exist; cannot read status..

There are ways to work around it (specially if you are using the API directly), but I guess it can be convenient that we can extend and add phases to the simulation using the command line capabilities as well.

mikemhenry commented 2 years ago

:vomiting_face: To add something like this, I much rather work on reimplementing setup_realitive_calculation and relitive_setup than to try and just bolt that support in.

Else we will need to add some logic here https://github.com/choderalab/perses/blob/99dab9d3af342aae8b11695815104e87df1d0d04/perses/app/setup_relative_calculation.py#L970 to figure out which phases haven't even started yet and then create those before we start extending.

This could be a good time to work on re-doing it since I think making running each phase more independent will be needed if we want to run complex GPU and the solvent leg on the CPU anyway.