choderalab / perses

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

Long-range anisotropic dispersion correction #59

Open jchodera opened 8 years ago

jchodera commented 8 years ago

I just realized we could include the anisotropic long-range dispersion correction in a very simple and inexpensive way via HMC: When we run the dynamics part of MCMC for the MCMCSampler, we always evaluate the reduced potential we want to sample from using a very large cutoff (e.g. just slightly smaller than half the smallest box dimension) when using explicit solvent, but always use a much shorter cutoff (e.g. 9*angstroms) when running dynamics. We can then accept/reject with HMC.

pgrinaway commented 8 years ago

but always use a much shorter cutoff (e.g. 9*angstroms) when running dynamics.

You mean in the NCMC steps?

jchodera commented 8 years ago

but always use a much shorter cutoff (e.g. 9*angstroms) when running dynamics.

For MCMCSampler, let's suppose we alternate between

Suppose we want each update (configuration, state index) to leave the sampler in a "true" (x,k) state sampled from the posterior.

For updating the configuration, we could use HMC:

We might instead choose to use a GHMC for the individual timesteps, in which case we would do this:

pgrinaway commented 8 years ago

Ok, thanks!

jchodera commented 7 years ago

This might have interactions with #77

jchodera commented 7 years ago

Maybe we can have a quick huddle on Monday to figure out what the best way to handle this is (or whether we should punt on it for the first paper)?

jchodera commented 7 years ago

There are several options to consider:

pgrinaway commented 7 years ago

I am inclined to prefer those options in the order 3, 2, 1. My suspicion is that the slowdown might be overwhelmed by the slowness of other components, so it's worth at least taking a look at that option, since it's simple.

Barring that, I think we should try 2, because presumably the reference calculations will have this correction, and I don't think we want to present something that is systematically off.

jchodera commented 7 years ago

We spoke about this in person, and decided we might punt on this until a subsequent paper. We can us the same cutoff (e.g. 9A) for both relative FEP and Perses in the first paper.

pgrinaway commented 6 years ago

@jchodera what should we do about this issue, since we are reweighting to the non-alchemical endpoints anyway?

jchodera commented 6 years ago

We just need to enlarge the nonbonded cutoff for the non-alchemical endpoints. We can enlarge to a little less than half the box size.

jchodera commented 3 years ago

This is correctly handled by unsampled_endstates in our sampler (though omitted the Folding@home calculations we use right now).

@dominicrufa @zhang-ivy : Do you know if the nonequilibrium switching also expands the cutoff at the equilibrium endpoints to include in estimating the reweighted free energies?

zhang-ivy commented 3 years ago

Do you know if the nonequilibrium switching also expands the cutoff at the equilibrium endpoints to include in estimating the reweighted free energies?

It doesn't. I'll need @jchodera and @dominicrufa 's input on how to implement this

jchodera commented 3 years ago

Since we haven't been using the dask distributed version much, the best approach for us would be to

  1. Extend the multistate samplers in openmmtools to add a NonequilibriumSwitchingSampler, which just simulates equilibrium endstates and collects work values connecting them for use in MBAR. This will be very simple compared to the other samplers.
  2. Use the HybridCompatibilityMixin to extend the NonequilibriumSwitchingSampler in a few lines, as with ReplicaExchangeSampler and SAMSSampler.
ijpulidos commented 3 years ago

CC https://github.com/openmm/openmm/issues/3229

ijpulidos commented 2 years ago

CC https://github.com/openmm/openmm/pull/3236