Sometime between 2014 and now there appears to have been a change in
the way hypervalent halogen structures are handled. The old behaviour
(involving some tweaking of atomic_data.cpp to allow the higher
oxidation states) was to have a neutral halogen with double bonds to
most of the oxygens, e.g.
chlorate O=Cl(=O)[O-]
perchlorate O=Cl(=O)(=O)[O-]

The current behaviour is to 'charge separate' the dative bonds, giving
chlorate [O-][Cl2+]([O+])[O-]
perchlorate [O-][Cl3+]([O-])([O+])[O-]

Although this may be regarded as 'correct' (arguable!), it  can cause
problems of compatibility with other software and looks remarkably
ugly. It's also inconsistent with the handling of hypervalent P and S
compounds. Using the same convention, we should have -

trimethylphosphine oxide C[P+]([O-])(C)C
dimethylsulfoxide C[S+]([O-])C
dimethylsulfone C[S2+]([O-])([O-])C

- and I really don't want this to happen!

Does anyone know a way to restore the old behaviour for chlorites,
bromates, periodates etc.?

Best regards,
Chris Earnshaw

Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Rdkit-discuss mailing list

Reply via email to