Friday, September 18, 2009

Bond order information and aromaticity

CML allows you to mark a bond as single (S), double (D), triple (T), but also as aromatic (A). The latter has the downside that one looses the localization of the double bonds, often used in 2D diagrams, e.g. in JChemPaint.

The CDK addresses this by storing the aromaticity as additional property on the bond:
<bond atomRefs='a1 a2' order='D'>
  <bondType dictRef="cdk:aromaticBond"/>
</bond>

2 comments:

Andrew Dalke said...

CML does not support quadruple bonds?

In private discussion related to OpenSmiles I got this comment:

> Calling SetOrder with 8 is not unreasonable, indeed CambridgeSoft's ChemDraw file format specifies values for quadruple, pentuple and hextuple bonds.

Egon Willighagen said...

The default CML convention supports the following bond orders: 1, 2, 3, S, D, T, A. The exclusion of 4/Q, etc, is a bit arbitrary. It also supports namespaced bond order types, such as: cdk:Q.

So, yes, CML supports higher order bond orders, but does not provide them in the core 'dictionary'.