And "fix" has the double meaning of correcting and positioningÖ

Yep - that really puts me off. The method doesnít remove aromatic flags so dearomatize isnít really right. 

I really am leaning kekulize as a good method name. It is what I searched for when I first needed the functionality and seems to coincide with 3/5 major toolkits. Iím struggling with the class name though.

From some other toolkits

mol.Kekulize() (OpenBabel)
m.dearomatize() (Indigo)
m.dearomatize() (JChem)

MolOps::Kekulize(mol) (RDKit)
OEKekulize(mol) (OEChem)


On 28 Apr 2014, at 08:00, Egon Willighagen <> wrote:

On Sun, Apr 27, 2014 at 9:11 PM, John May <> wrote:
Possibly, might be worth keeping saturation checker as that seems to be solving a slightly different but related problem.

Yeah, it did a few things indeed, but not sure we really want to keep
those in one class...

Anyways... what about calling the method fixDoubleBondPositions() ?

That is more clear than .saturate() (could also be fixing hydrogen
counts (which happens to be another purpose)), .deAromatize() (because
if the molecule was aromatic, it still is), though perhaps
.decideBondOrder() comes close and is a bit shorter...

And "fix" has the double meaning of correcting and positioning...


E.L. Willighagen
Department of Bioinformatics - BiGCaT
Maastricht University (
ORCID: 0000-0001-7542-0286

"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
Cdk-devel mailing list