Hi Leon,
MMFFOptimizeMoleculeConfs() by default will distribute minimization
tasks across all available CPU cores as it is multi-threaded at the C++
level, while ff.Minimize() will run single-threaded, unless you do the
distribution of individual minimization tasks yourself in the Python
layer (e.g., using Python multiprocessing.Pool or similar).
Apart from that technical difference, there is no scientific difference
in the calculation itself.
Cheers,
p.
On 18/11/2019 17:05, topgunhaides . wrote:
Hey guys,
Are there any differences between the ff.minimize and
MMFFGetMoleculeForceField for conformer optimization? Please see the
forllowing example:
from rdkit import Chem
from rdkit.Chem import AllChem
m = Chem.AddHs(Chem.MolFromSmiles('OCCCN'))
cids = AllChem.EmbedMultipleConfs(m, 10, randomSeed=1)
ps = AllChem.MMFFGetMoleculeProperties(m, mmffVariant='MMFF94s')
for cid in cids:
ff = AllChem.MMFFGetMoleculeForceField(m, ps, confId=cid)
ff.Initialize()
ff.Minimize(maxIts=1000)
print(ff.CalcEnergy())
optm = AllChem.MMFFOptimizeMoleculeConfs(m, maxIters=1000,
mmffVariant='MMFF94s')
print(optm)
Both give me the same set of energies for generated conformers. Thank
you!
Best,
Leon
_______________________________________________
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