Thanks Greg. In the results from the Butina clustering is the cluster centre
the first ID in the list? If so then to recover the cluster centres I’d just
need to do something like:
For c in cs:
conf_id_I_want = c[0]
Paul.
From: Greg Landrum [mailto:greg.land...@gmail.com]
Sent: Thursday, October 26, 2017 12:41 AM
To: Paul Hawkins <phawk...@eyesopen.com>
Cc: rdkit-discuss@lists.sourceforge.net; Sereina <sereina.rini...@gmail.com>
Subject: Re: [Rdkit-discuss] Conformer generation
On Wed, Oct 25, 2017 at 6:52 PM, Sereina
<sereina.rini...@gmail.com<mailto:sereina.rini...@gmail.com>> wrote:
Hi Paul,
Regarding your second question:
On 25 Oct 2017, at 18:36, Paul Hawkins
<phawk...@eyesopen.com<mailto:phawk...@eyesopen.com>> wrote:
Also, once I generate the conformers what is best way to cluster them by RMSD
so that each conformer has a minimum RMSD to all the others in the set?
I think the function AllChem.GetConformerRMSMatrix() might do (parts of) what
you want.
And since we're doing the "each reply refines the answer" thing, here's a bit
of code that does Butina clustering to group the conformers:
In [71]: m = Chem.AddHs(Chem.MolFromSmiles('OCCc1ncccc1CCCC'))
In [72]: AllChem.EmbedMultipleConfs(m,50,AllChem.ETKDG())
Out[72]: <rdkit.rdBase._vecti at 0x11630ac90>
In [73]: dm = AllChem.GetConformerRMSMatrix(m)
In [76]: cs =
Butina.ClusterData(dm,m.GetNumConformers(),1.5,isDistData=True,reordering=True)
In [77]: len(cs)
Out[77]: 9
In [78]: for c in cs:
...: print(c)
...:
(36, 2, 3, 4, 7, 8, 9, 11, 14, 15, 16, 17, 21, 29, 30, 33, 34, 40, 43, 44, 46,
47)
(10, 0, 32, 35, 38, 45, 49, 18, 19, 22, 23, 25, 27)
(48, 6, 39, 42, 12, 24, 26)
(5, 41, 31)
(37,)
(28,)
(20,)
(13,)
(1,)
The 1.5 argument in the call to Butina.ClusterData is the distance threshold
for things to be considered neighbors.
-greg
------------------------------------------------------------------------------
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
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss