-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TI Gives Non-Zero Free Energy Change with Dummy Perturbation #383
Comments
Hi @fjclark
|
Hi @jmichel80
But this doesn't seem to be the cause of the gradient issue.
|
|
Thanks.
|
The issue is very likely due to custom_intra_14_clj (
|
Hello,
When calculating the free energy change for a perturbation involving only dummy atoms to dummy atoms, MBAR gives exactly zero kcal/ mol, as expected, whereas TI gives positive free energies which vary dramatically with delta_lambda. My version of Sire is only two commits behind devel and the files to reproduce the issue are here.
With the default delta_lambda = 0.001, and two lambda windows at 0 and 1, I get a free energy change of 0.8 kcal / mol. This drops to < 0.1 kcal / mol if I increase delta_lambda to 0.01, and increases substantially when I drop delta_lambda to 0.0005. If I add a lambda window at 0.001, the free energy increases to > 10^6 kcal / mol due to a gradient of > 10^7 kcal / mol for this window. Checking the reduced perturbed energies shows that the energies at the end points are identical, although there is a difference compared to the energies at lambda = 0.001.
By modifying this function I'm able to see that the non-zero gradients are exclusively due to changes in "lamhd". However, because all final and initial parameters are identical, it looks like the lamhd-dependent terms here should be symmetrical about lamdh = 0.5, and therefore I would expect equal and opposite gradients giving an overall free energy change of 0 when lambda windows are symmetrical about 0.5.
I've come across another situation where the gradient seems unreliable, although this could be due to my changes to sire. When turning on Boresch restraints between a protein and ligand (again using a dummy pert file) using this version of Sire and this input, I see very infrequent jumps to extremely negative gradients, while the reduced perturbed energies for neighbouring lambda values remain very similar. I only see this at lambda = 0.000, and I see it for each of five runs. The spikes are at the same values of total simulation time for each run (x-axis should show simulation time from 0 to 5 ns):
The MBAR estimate for the free energy change is as expected.
Any help with this would be greatly appreciated.
Thanks,
Finlay
The text was updated successfully, but these errors were encountered: