Re: [Rdkit-discuss] sanitization converts "I(=O)(=O)[O-]" into "[O-][I+2]([O-])[O-]"

2021-01-22 Thread Peter S. Shenkin
 On Fri, Jan 22, 2021 at 9:01 AM Ivan Tubert-Brohman < ivan.tubert-broh...@schrodinger.com> wrote: > I think there was some confusion between left and right in the original > message, but RDKit prefers the representation that preserves the octet at > the expense of having more formal charges: >

Re: [Rdkit-discuss] sanitization converts "I(=O)(=O)[O-]" into "[O-][I+2]([O-])[O-]"

2021-01-22 Thread Ivan Tubert-Brohman
I think there was some confusion between left and right in the original message, but RDKit prefers the representation that preserves the octet at the expense of having more formal charges: In [9]: mol = Chem.MolFromSmiles('O=I(=O)([O-])') In [10]: Chem.MolToSmiles(mol) Out[10]:

Re: [Rdkit-discuss] sanitization converts "I(=O)(=O)[O-]" into "[O-][I+2]([O-])[O-]"

2021-01-21 Thread Peter S. Shenkin
It seems to me offhand RDKit's choice is analogous the way carboxylates are generally notated: R-C(=O)O- rather than R-C+(O-)O- . Both are legitimate and in fact equivalent upon application of chemical knowledge, but do you prefer the second representation for carboxylates? -P. On Thu, Jan

[Rdkit-discuss] sanitization converts "I(=O)(=O)[O-]" into "[O-][I+2]([O-])[O-]"

2021-01-21 Thread Jason Biggs
The RDKit will always convert iodate from the form on the left, with an expanded octet on iodine and a single negative charge, into the form on the right with all single bonds and a charge on every atom (image here https://i.stack.imgur.com/hq3St.png). This happens no matter how I import the