Hi Omar,
you may have a look at this thread for an explanation and an example:
https://sourceforge.net/p/rdkit/mailman/message/36787480/
Cheers,
p.
On 18/11/2019 15:28, Omar H94 wrote:
What does it mean to take symmetry into account ?
On Mon, Nov 18, 2019 at 6:07 PM topgunhaides . <sunzhi....@gmail.com
<mailto:sunzhi....@gmail.com>> wrote:
Hi Greg,
Thanks a lot! This is very helpful. Further questions:
1. If I need RMSD matrix for clustering, I guess I will have to
figure out a way to loop over all conformers to get the matrix
first, if I choose to use GetBestRMS()?
2. Does the AlignMolConformers() handle symmetry and align all
permutations to get the best "RMSlist"?
3. So I guess the EmbedMultipleConfs() also uses "standard" (no
symmetry consideration) method to compute RMS for pruning?
I appreciate your help!
Best,
Leon
On Thu, Nov 14, 2019 at 2:45 AM Greg Landrum
<greg.land...@gmail.com <mailto:greg.land...@gmail.com>> wrote:
Hi Leon,
There's not really a "right" answer to your question - it
depends on what you want to calculate.
I personally think it makes more sense to use the heavy atom
RMSD (which is what you get if you remove Hs before
calculating the RMSD), particularly if you are comparing to
experiment.
Note that AllChem.GetConformerRMSMatrix() does not take
symmetry into account, so you may not get the correct results.
I just opened a ticket to fix this, but in the meantime if you
have molecules with symmetry-equivalent atoms you are probably
better off generating the conformer RMS matrix manually using
GetBestRMS().
Best,
-greg
On Wed, Nov 13, 2019 at 5:17 PM topgunhaides .
<sunzhi....@gmail.com <mailto:sunzhi....@gmail.com>> wrote:
Hi guys,
I am new to RDKit, and have a question about adding and
removing Hs.
As recommended in the documentation, hydrogen atoms should
be added for generating conformers, optimization, etc.
However, for clustering, should the Hs be removed first,
before generating the conformer RMS matrix? For instance:
from rdkit import Chem
from rdkit.Chem import AllChem, TorsionFingerprints
suppl = Chem.SDMolSupplier('molecule.sdf')
for mol in suppl:
mh = Chem.AddHs(mol)
cids = AllChem.EmbedMultipleConfs(mh, numConfs=5,
maxAttempts=1000,
pruneRmsThresh=0.5, numThreads=0, randomSeed=1)
m = Chem.RemoveHs(mh)
# RMS matrix
rmsmat = AllChem.GetConformerRMSMatrix(m,
prealigned=False)
# TFD matrix
tfdmat = TorsionFingerprints.GetTFDMatrix(m)
print(rmsmat)
print(tfdmat)
Note I remove the Hs before getting RMS and TFD matrices.
Both resulting matrices are different if I do not remove
Hs. The RMS without Hs, in general, tend to be smaller
than the RMS with Hs. This will in turn affect the
subsequent clustering result.
Could you guys give me some suggestions? Thank you!
Best,
Leon
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
<mailto:Rdkit-discuss@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
<mailto:Rdkit-discuss@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss