On Tue, Apr 5, 2011 at 11:07 AM, JP <jeanpaul.ebe...@inhibox.com> wrote:
> Greg - there is an inherent subtlety in here - check my thinking...
>
> You might generate a 1,000 conformers which are all at least 1.0A
> RMS(D) from the first conformer, but which are all 0.1A RMS(D) from
> each other.

No. If you use the RMS(D) filter on conformer generation, it applies
to all conformers.
Here's a modified version of the script that shows this:
#-------------------------------------
# usual imports
from rdkit import Chem
from rdkit.Chem import AllChem

# generate a mol
mol = Chem.MolFromSmiles('O=CCC=O')
# add hydrogens
mol_h = AllChem.AddHs(mol)
# notice the prune threshold - set to 1.0 RMS...
conformation_ids = AllChem.EmbedMultipleConfs(mol_h, numConfs=50,
pruneRmsThresh=1.0)

confIds = [x.GetId() for x in mol_h.GetConformers()]
for i in range(len(confIds)):
    for j in range(i+1,len(confIds)):
      # match the first (original) conformer to the rest
      rms = AllChem.AlignMol(mol_h, mol_h, confIds[i], confIds[j])
      bestrms = AllChem.GetBestRMS(mol_h, mol_h, confIds[i],confIds[j])
      print(i,j,rms,bestrms)
#-------------------------------------

The output I get is:
~ > python script.py
(0, 1, 1.3379167659438251, 0.60362436042913781)
(0, 2, 1.1782030519271491, 0.59622250108410513)
(0, 3, 1.2243862716355547, 0.30392328812710107)
(0, 4, 1.1984592787586832, 0.55143501013497065)
(0, 5, 1.0641915526094818, 0.68902440786534314)
(1, 2, 1.0255947054908345, 0.59258704355875447)
(1, 3, 1.0951734935453765, 0.44791337584830399)
(1, 4, 1.0543889914981652, 0.9168070962596423)
(1, 5, 1.1385762625965217, 0.43605179946798073)
(2, 3, 1.5373690362549735, 0.53769968087304854)
(2, 4, 1.2293196779352933, 0.81799884353238672)
(2, 5, 1.0825253214349586, 0.34237739827222707)
(3, 4, 1.1332931410059917, 0.68575442529906516)
(3, 5, 1.0079860535928928, 0.65467761705027916)
(4, 5, 1.4641765048256545, 1.0142361289438402)


The sample script above has another correction to the original one:
It's not safe to assume that conformers are labelled sequentially.
They often are, but there's no guarantee of this. To correct for this,
I modified the script so that it loops over the conformer ids that are
actually present.

Best,
-greg

------------------------------------------------------------------------------
Xperia(TM) PLAY
It's a major breakthrough. An authentic gaming
smartphone on the nation's most reliable network.
And it wants your games.
http://p.sf.net/sfu/verizon-sfdev
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to