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
[email protected]
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss