On Tue, May 26, 2009 at 9:51 AM, Evgueni Kolossov <[email protected]> wrote:
>
> One additional question about this subject:
> If we have molecules in both tautomeric forms:'C[N+](=O)([O-])' and
> CN(=O)(=O)'
> than what we will have after SmilesToMol() and MolToSmiles() (which will
> sanitise molecule)?

There's no difference between the results, the sanitization step done
by MolToSmiles() or by reading molecules in from a mol block "fixes"
the system by generating the zwitterionic form:
--------------------
[2]>>> m = Chem.MolFromSmiles('CN(=O)(=O)')

[3]>>> print Chem.MolToMolBlock(m)

     RDKit

  4  3  0  0  0  0  0  0  0  0999 V2000
    0.0000    0.0000    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    0.0000    0.0000    0.0000 N   0  0  0  0  0  0  0  0  0  0  0  0
    0.0000    0.0000    0.0000 O   0  0  0  0  0  0  0  0  0  0  0  0
    0.0000    0.0000    0.0000 O   0  0  0  0  0  0  0  0  0  0  0  0
  1  2  1  0
  2  3  1  0
  2  4  2  0
M  CHG  2   2   1   3  -1
M  END


[4]>>> m2 = Chem.MolFromSmiles('C[N+](=O)([O-])')

[5]>>> print Chem.MolToMolBlock(m)

     RDKit

  4  3  0  0  0  0  0  0  0  0999 V2000
    0.0000    0.0000    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    0.0000    0.0000    0.0000 N   0  0  0  0  0  0  0  0  0  0  0  0
    0.0000    0.0000    0.0000 O   0  0  0  0  0  0  0  0  0  0  0  0
    0.0000    0.0000    0.0000 O   0  0  0  0  0  0  0  0  0  0  0  0
  1  2  1  0
  2  3  1  0
  2  4  2  0
M  CHG  2   2   1   3  -1
M  END

--------------------

-greg

Reply via email to