-
Notifications
You must be signed in to change notification settings - Fork 22
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
from_smirnoff
_without_ charge_from_molecules
silently assigns all isormophic molecules the same partial charges
#1059
Comments
For better or worse is the intended behavior - whether or not In general this is just how the force field works, partial charges are computed by the definition in the force field and particular molecules can be assigned preset charges by matching the list of molecules in Footnotes
|
Ah thanks, that makes sense, I totally didn't think through that this was just the partial charges getting reassigned to am1bcc 🤦🏽♂️ !
That's unfortunate. There are a few cases that come to mind where manually modifying charges for a single molecule could be useful, but I guess it's also something we could do after we convert the Interchange object to the target engine format. |
Yeah, seconding Matt here - this is a known and intentional limitation of our format and ecosystem. We can't assign different charges to isomorphic molecules. If that's the desired behavior then it's up to the user to modify the charges after export to the target engine format. |
I agree that this is the intended behavior. Probably the outcome of this is that we should re-check the docs to make sure that this is sufficiently clear in the docs (which I see Matt is working on in #1064 ). However, I'd be opposed to having the toolkit/interchange print something that says it's doing this, because this is the expected behavior. |
@davidlmobley this runs counter to #1048 - from a user perspective, knowing the provenance of how charges were assigned is rather useful (I think I've made my point in that issue but happy to discuss further). |
I'm going to say this is resolved with better documentation of this behavior (#1059, part of 0.4.0). I don't think there's a huge conflict between this and logging (#1053, delayed to 0.4.1) since logging is opt-in. For figuring out a way to for this to happen, maybe #1075 or a (just to keep things more focused) different issue perhaps? |
Description
User case:
I construct an Interchange object from a Topology with two or more ismorphic Molecules with different partial charges.
In this case the first Molecule has am1bcc charges whilst all the others have gasteiger charges, which differ significantly.
Outcome:
All the Molecules silently get assigned the partial charges from the first Molecule.
Reproduction
Output
Software versions
Interchange v0.3.29
The text was updated successfully, but these errors were encountered: