-
Notifications
You must be signed in to change notification settings - Fork 93
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
Multi-conformer WBO Support #792
Comments
I like the possible solutions listed above, and don't think they're mutually exclusive. Option 1 is already in-place, and is triggered by the Option 2 could be triggered by specifying The important decisions that we'll need to make are:
I would think that the first generation of fitting and application will be single-conformer, since we're aiming for an early-2021 release. Once implemented and used in a fit, we could include multi-conformer averaging in a production FF whenever the data shows it's ready. It's also worth mentioning that graph-based charge and partial bond order assignment is on the distant horizon, eg from espaloma, and I don't know that we've made a decision on how those will get merged into the main line of FFs. |
@SimonBoothroyd and @j-wags, I'm just chiming in here to say that openeye used to store the ELF10 WBOs in the bond data. That is what was used in fragmenter. Right now, fragmenter will only work as intended with older versions of openeye. |
Thanks, @ChayaSt. Do you know the last version of OpenEye Toolkits that supported ELF10 WBOs? In the short term we can update the fragmenter conda package to ensure that it gets paired with a compatible version of OpenEye toolkits. |
@ChayaSt Bumping this topic again -- it'll be super helpful if you have a record of any versions which did/didn't have ELF10 WBO capabilities so we can pin a good version range. |
Is your feature request related to a problem? Please describe.
Currently both the AT and OE backends only use a single conformer to compute the Wiberg bond orders (WBOs). Should multiple conformers be used to compute the WBOs, and if so, how should the WBOs of multiple conformers be pooled / averaged.
This is a question which has been mentioned in several code comments and PR comments, but I think it's worth having a single issue to track this.
Given that Sage is slated to be the first OpenFF to include WBO interpolated parameters it is probably good to start revisiting this and thinking what the 'recommended approach' should be (both for fitting and for the end user).
Related comments this PR:
@j-wags
@davidlmobley:
Describe the solution you'd like
Some possible solutions would be to:
Just use a single conformer (current default). This would either be the first conformer provided by a user if multiple conformers are passed to
use_conformers
, or a single conformer generated in-place inassign_partial_charges
. This would likely be the 'most' conformer dependant and input specific approach to computing the WBOs.Take a simple average of the WBOs for each provided (or in-place generated) conformer.
a. Take the Boltzmann average of the WBOs for each provided (or in-place generated) conformer as is implemented in fragmenter.
The text was updated successfully, but these errors were encountered: