On Mon, Jan 15, 2018 at 11:59 PM, Jason Biggs <jasondbi...@gmail.com> wrote:

> Thanks for the detailed reply
>> The fact that this isn't happening for you indicates that you are reading
>> the molecules in without sanitizing them - the mol file parser calls
>> assignStereochemistry() by default if you sanitize. Are you sure that you
>> should be disabling sanitization?
> I did turn it off, but then afterwards I call sanitize, but with a
> user-specified option for whether to perform the
> Kekulization/setAromaticity steps.  I'm not certain what we want to set as
> the default behavior, but I want the user to have the option of having the
> molecule stay in the particular kekulized state that they input.

Ok, as long as you're aware that there are many parts of the code that
expect that aromaticity will be assigned. This includes the fingerprinters
and many of the descriptor calculators. Of course any SMILES that's
generated from a Kekule form is not truly canonical.

It might be worth thinking about adding an option to the aromaticity
perception code to maintain the original bond types and just set the
"isAromatic" flag on the bonds. This would allow the user-provided
resonance form to be maintained but still have aromatic markings there for
fingerprints and descriptors. That's involves touching a non-trivial amount
of code, but it could be an interesting capability to have.

I will go through the molfile parser to see what else I'm missing out on by
> doing the sanitization step afterward.
Would it break functionality to add a sanitizeOps optional argument to some
> of the XXXToMol functions (defaulting to SANITIZE_ALL of course)?

That's an interesting suggestion and shouldn't be overly hard to add; I'll
take a look at it.

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