Dear Christos,

2009/3/23 Christos Kannas <[email protected]>:
>
> I want to use RDKit to quantify Shape Similarity between molecules and have
> tried the following:
>
> from rdkit.Chem import AllChem
>
> mol1 = AllChem.MolFromSmiles("C(=O)(C(c1ccc(cc1)CC(C)C)C)NO")
> AllChem.EmbedMolecule(mol1)
> AllChem.UFFOptimizeMolecule(mol1)
>
> mol2 = AllChem.MolFromSmiles("C(=O)(C(c1ccc(cc1)CC(C)C)C)NO")
> AllChem.EmbedMolecule(mol2)
> AllChem.UFFOptimizeMolecule(mol2)
>
> print "Shape Tanimoto Distance: ", AllChem.ShapeTanimotoDist(mol1, mol2)
>
> However, I have noticed that the similarity of a molecule to itself ranges
> between 0.3 to 0.5 which doesn’t seem OK. Is there something I am missing?

yes. :-)
The ShapeTanimotoDist() function calculates the tanimoto similarity
between the shapes of two molecules in their current orientations.
There is no alignment step. So in the process above you generate two
different conformers, in more or less random orientations, for the
molecule and then calculated the shape similarity of those.

If you want reasonable shape comparisons, you first need a reasonable
alignment of the molecules. The RDKit doesn't currently provide a
practical method of dong this alignment (though the code in the module
Chem.Subshape does provide an impractical method).

> Also, can I get the tanimoto shape similarity between a molecule and a
> pharmacophore?

I don't understand the question; can you explain a bit more what
you're looking for?

-greg

Reply via email to