Hi guys,

Can anyone give me some advices to improve the efficiency of the embedding
code? See example below:


import time
from rdkit import Chem
from rdkit.Chem import AllChem

suppl = Chem.SDMolSupplier('cid831548.sdf')   # medium size molecule (10
heavy atoms)

for mol in suppl:
    mh = Chem.AddHs(mol, addCoords=True)

# embedding
    start = time.time()
    AllChem.EmbedMultipleConfs(mh, numConfs=5000, maxAttempts=100,
pruneRmsThresh=0.5,
                               randomSeed=1, numThreads=0,
enforceChirality=True,
                               useExpTorsionAnglePrefs=True,
useBasicKnowledge=True)
    cids = [conf.GetId() for conf in mh.GetConformers()]
    end = time.time()
    print("time eclipsed: ", end - start)


The results:
numConfs=1000,   time eclipsed: 10 seconds
numConfs=5000,   time eclipsed: 66 seconds
numConfs=10000, time eclipsed: 176 seconds

I need to request a lot more than 10000 conformers per molecule and have a
lot of molecules to process.
I also wish to compute conformer energies and hopefully can do optimization
(both are time consuming). So need to make my code as efficient as
possible. Thank you!

Best,
Leon
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to