Hi Noel,
On Thu, Apr 24, 2008 at 12:03 PM, Noel O'Boyle <[email protected]> wrote:
> I'm a bit confused by how RDKit calculates the 2D coordinates. I use
> AllChem.Compute2DCoords(mol, clearConfs = False) to calculate the 2D
> coordinates.
>
> Given an SD file containing a 2D depiction, RDKit appears to use those
> coordinates rather than generating its own. Can you confirm that this
> is the case, as this is a bit unexpected?
Take a look at the documentation for AllChem.Compute2DCoords
(accessible in Python via: "help AllChem.Compute2DCoords).
By setting clearConfs=False you have told the code to keep the
existing conformation (the one read from the SD file) and to add the
2D conformation as a new one. If you had left that argument in its
default value (True), then the existing conformation(s) would have
been replaced with the new 2D one.
an example:
[5]>>> m = Chem.MolFromMolFile('foo.mol')
[6]>>> m.GetNumConformers()
Out[6] 1
[7]>>> AllChem.Compute2DCoords(m,clearConfs=False)
Out[7] 1
[8]>>> m.GetNumConformers()
Out[8] 2
[9]>>> AllChem.Compute2DCoords(m)
Out[9] 0
[10]>>> m.GetNumConformers()
Out[10] 1
-greg