Closed meschw04 closed 2 years ago
The reason you are seeing this, is that we ABF does not return anything after running the simulation. I am guessing that you have to log something during your run to get the free energy result out of the ABF. But @pabloferz can help with this probably better than I can. Maybe you have to write a Callback for ABF to get the results?
However, you should be able to use UmbrellaIntegration also with OpenMM. You part about writing the CVS and method should be identical between OpenMM and HOOMD-blue. That is what PySAGES is all about: advanced sampling abstract from the actual MD engine. So you can try to use UmbrellaIntegration with OpenMM as well. The reported results should be the same.
The current way to do this is by manually building a Logger to collect the information and then integrate the forces to obtain the FES (we have some tools to do this). I can try to build an example for you to get the FES @meschw04.
Irrespectively of this, I think we should add the context as attribute to the sampling methods, and a mechanism to get copy of the snapshot as we had already discussed (actually, I'm working on this)
I believe this is done now with #135
Hello! Another question for you all. I noticed from the umbrella integration example with HOOMD, I can take
results = method.run(...)
and use this for getting at the final free energy surface (FES): https://github.com/SSAGESLabs/PySAGES/blob/192e7f9af6fdb50329d2e8fea095537b39a1fc12/examples/umbrella_integration/integration.py#L111 I got the alanine dipeptide ABF working from the example, however in this case I just run the simulation: https://github.com/SSAGESLabs/PySAGES/blob/192e7f9af6fdb50329d2e8fea095537b39a1fc12/examples/abf/alanine-dipeptide_openmm.py#L78 however if I setresults = method.run(...)
, then I find that the new variableresults
is a NoneType. Is there a reason that I can setresults=
for a HOOMD simulation, and notresults=
for an OpenMM simulation to get at the FES? How should I get to the FES using the OpenMM alanine dipeptide example?Thanks so much!