openforcefield/smirnoff99Frosst

Change order to appropriately type Carboxylates

Closed this issue · 5 comments

I realized this while I was looking at the which carbonyl option should be used for the more generic carbon option. There is a bond for "carboxylates" C(=O)[O-] groups such as this molecule:

aa851d4e-d1fd-4d1a-8f3a-19b6bad64016

I would assume that the two oxygens in a carboxylate should be treated equally (like a nitrogroup) since there are equal resonance structures for the two oxygens. However the carbon with the negative charge gets this bond:

[#6X3:1](~[#8X1])~[#8X1:2]      656.0  1.250   parm99 carboxylate C~O

And the other oxygen (drawn with the double bond) gets the carbonyl assignment:

[#6X3:1]=[#8X1+0,#8X2+1:2]      570.0  1.229   parm99 carbonyl oxygen

In the smirffish file that is the order these appear in, I don't yet have a suggestion on how to fix this assuming they are supposed to be assigned the same parameter.

@davidlmobley ( @cbayly13 we may need you on this one)

@davidlmobley

I think if we switch the order so

[#6X3:1]=[#8X1+0,#8X2+1:2]      570.0  1.229   parm99 carbonyl oxygen
[#6X3:1](~[#8X1])~[#8X1:2]      656.0  1.250   parm99 carboxylate C~O

It should fix the problem... I'm trying to think of any situations where this wouldn't work.

@bannanc - do you have a charged mol2 for these you can peer at? If the oxygens are getting hte same charge (which I would guess they are) then I would agree with you that the bonds ought to have the same parameters.

@bannanc is correct, we just need to switch the order like she says. The
[#6X3:1](~[#8X1])~[#8X1:2] 656.0 1.250 parm99 carboxylate C~O
parameter will only be applied to carboxylates (or carbonates or carbamates) and the tildes are good generality to accommodate the different ways carboxylate can be written.

Thanks, @cbayly13 ! @bannanc - sounds like we can re-title this to "change the order for..." and make this change.

updated in pull request #43