I don't know about the "ultimate way": but this works for me (to generate n conformers):
writer = Chem.SDWriter('some_file.sdf') # add Hydrogens molH = Chem.AddHs(mol) # create n conformers for molecule confIds = AllChem.EmbedMultipleConfs(molH, n) # E optimize for confId in confIds: AllChem.UFFOptimizeMolecule(molH, confId=confId) # write to output file writer.write(molH, confId=confId) You should replace the EmbedMultipleConfs with EmbedMolecule if you are only interested in generating only one conformer. UFFOptimizeMolecule(...) returns an integer, which if 0 tells you the optimization has converged (or 1 otherwise). UFF is significantly faster, and I do not think the results are worse of than the ones generated for MMFF. At least for the small molecules I was looking at, but I am sure there are exceptions to this. Paolo has done a lot of excellent work on the forcefields, and I think the amide and carbonyl planarity issues for UFF have now been fixed. - Jean-Paul Ebejer Early Stage Researcher On 5 April 2014 13:35, Michał Nowotka <mmm...@gmail.com> wrote: > Hi, > > I've found this ( > http://code.google.com/p/rdkit/wiki/Generating3DCoordinates) wiki page > suggesting how to compute 3D coordinates: > > from rdkit import Chem > from rdkit.Chem import AllChem > > > m = Chem.MolFromSmiles('c1ccccc1C(=O)O') > AllChem.EmbedMolecule(m) > # the molecule now has a crude conformation, clean it up: > AllChem.UFFOptimizeMolecule(m) > > On the other hand, "Getting started document" describes this differently: > > > AllChem.EmbedMolecule(m2)AllChem.UFFOptimizeMolecule(m2) > > In the meantime, someone suggested that I should call: > > Chem.AddHs(m) > > Before calculating 3D properties. > > So what is an ultimate way of doing this? Lets assume I already have rdkit > molecule: > > m = Chem.MolFromSmiles('Cc1ccccc1') > > > or: > > m = Chem.MolFromMolFile('data/input.mol') > > what should I do with 'm' to compute 3D coordinates? > > Also, once we have MMFF implemented in rdkit, is there any benefit of using > UFF (apart from maybe backwards compatibility, as this is a new feature)? > > > Is UFF significantly faster then MMFF? > > Kind regards, > > Michał Nowotka > > > > > ------------------------------------------------------------------------------ > > _______________________________________________ > 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