-
Notifications
You must be signed in to change notification settings - Fork 8
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
Continuing cross-check of SMIRFF parameters against parm@frosst #44
Conversation
c100 is a challenging test with lots of torsions. I'll do some simpler tests to work back up to this:
OK, so that leads me to the simple ethane/butane/propane case as a starting point for troubleshooting, as it's looking like there's a consistent difference with one very identifiable torsion. It's different by a factor of 3! I'll work on that. |
Oh, and this is THIS torsion:
|
Fixed that one - I had a typo in |
So now that fixes the few cases I just posted except c1266, ethoxyethane, where I have values of 0.650844 and 0.627600 for the H5-C2-C4-H10 torsion. Here are the torsions which actually match anything:
I'm imagining there is a typo in one of these. Presumably it's the generic at the top or the [#1:1]-[#6X4:2]-[#6X4:3]-[#1:4]. Oddly, the 0.6276 value is the same as we just fixed for the |
@cbayly13 - I could use your input on this one. Right now we seem to not properly handle all the torsions involving H1, H2, and H3 in SMIRFF. This particular instance just noted above is ethoxyethane, chains compound c1266 from AlkEthOH, and the issue seems to be that EITHER you've done something smart OR made a mistake. The issue in question is the HC-CT-CT-H1 in this molecule. Here's the problem, I believe:
So, the key point is, your SMIRFF mockup applies a specific torsion to H Did you do this on purpose and deliberately deviate from parm@frosst, or do you need to (a) amend I think (b) is probably easier and the problem could be solved if we added (OK, maybe I'll botch the SMARTS, but I'll try) an electron withdrawing group attached to the carbon to re-apply the generic, so maybe something like |
@davidlmobley , your option (b) is correct and your smarts string is also correct (I checked it). We are building in a parm99 bug here... let's make sure we tag it for removal later. Note that this bug in parm99+parm@Frosst all because of atom typing. That said, I would hope the energy difference is not too large because "barrier/idivf" is pretty similar: for the generic 1.40/9=0.1555, and for the specific HC-CT-CT-HC, 0.15/1=0.1500 so it shouldn't be so horrible. |
Excellent, I will "fix" that.
Just to clarify - what exactly is the bug in parm99 here? Should it be that the HC-CT-CT-HC torsion also applies to all other non-typed hyrogens, i.e. as per your SMARTS
Yes, this is a small difference so it doesn't seem important - but when trying to make sure the energies are the same, it certainly poses a problem. :) |
For the record, the bug is that, well, there's no reason that parm99/parm@frosst should be applying the generic X-CT-CT-X torsion to all hydrogens EXCEPT HC-CT-CT-HC; it's just that someone forgot to give other hydrogens the same treatment. It's a small parameter difference, however. |
OK, I just pushed that "fix" (reproducing the minor parm99/parm@frosst bug in the SMIRFF xml, with a suitable comment noting it) and now I can reproduce parm@frosst energies with SMIRFF for this case, ethoxyethane. This means I now pass for:
Returning to Probably this is sort of a variant of the last issue, in that I bet a generic is being used for the H1 which shouldn't be in parm@frosst, and the suitable hydrogen-containing version is used here because our SMARTS are more general. Checking. I'm also adding a second .ffxml file here which will provide "actual parm@frosst" if I can, for energy checking, versus "correct parm@frosst" which is the one without these bugs (i.e. our original once corrected). |
…duces parm@frosst/parm99 bugs deliberately.
Yes, indeed, this seems to be the same type of issue. Here we have I'll introduce this bug as well to the special xml file for energy comparisons. Sheesh. While THESE do not result in a big difference in parameters, I wonder how many crazy things like this there are for more complicated molecules where a completely unintended generic parameter gets applied because someone created derivative types without going back and ensuring they were using the right torsions. It's horrifying. I just introduced this via the SMARTS |
I'd botched the SMARTS and wasn't matching the right torsions exclusively. I've now fixed it, and those torsions pass for Next, I hit an issue on O1-C5-C6-O3 for the same molecule, which is OH-CT-CT-OS, where force constants were way off. We had a typo in the XML file where 1.175 had become 0.175. This is now fixed. Now Once the tests pass, I should merge this PR and then start a new PR to:
etc. |
Continuing the work needed for #37 which was begun in #38 . Now, with the IDIVF flag, we've made real headway on
c100
from AlkEthOH, but we're not quite there yet:I'm out for a while, but will get back to this later or tomorrow I hope.