openff-evaluator
openff-evaluator copied to clipboard
[PAPRIKA] Host-Guest Free Energy Gradients
Description
This PR adds support for calculating the free energy gradients for host-guest systems with the paprika protocol.
Status
- [ ] Ready to go
Question: I noticed that the code in _evaluate_energies converts the potential energy to pint units but keeps it in kilojoule/mol. So the gradient I'm getting for energy parameters like LJ_epsilon becomes kilojoule/kilocalorie. What is the reason for keeping the potential energy in kilojoule/mol?
https://github.com/openforcefield/openff-evaluator/blob/ef37ac8231e07f24dc97a3fba9a4ef03ed8651b8/openff/evaluator/protocols/openmm.py#L117-L122
Codecov Report
Merging #342 (35828bf) into master (94c3703) will decrease coverage by
0.81%. The diff coverage is45.50%.
Thanks @jeff231li! I've added this to my queue to review within the next week or so. Please ping if you require it more urgently!
@SimonBoothroyd I'm reviewing this PR this week; are there any areas of concern preventing merge? I'll prioritize getting the CI to pass first.
@SimonBoothroyd I'm reviewing this PR this week; are there any areas of concern preventing merge? I'll prioritize getting the CI to pass first.
I think the implementation looks like a great first pass, but currently contains large areas where code either duplicates already present functionalities (ComputePotentialEnergyGradient) or which can be significantly reduced (the schema definitions) which will take some careful thinking through.
Unfortunately I don't have the time at the moment to look over this and suggest the changes which will be required to be merge, so it may be some time before this will be able to be merged - my sincerest apologies for this delay!