Hello everyone,
I am a bit confused. I want to make conformers and calculate their energies, but I am not very sure which is the correct way and at which point I need to embed my molecule. I am doing this : for line2 in infile2: mol2 = Chem.MolFromSmiles(line2) m2 = Chem.AddHs(mol2) cids = AllChem.EmbedMultipleConfs(m2, numConfs) for k in cids: a = Chem.MolToMolBlock(m2, confId=k) b.append(Chem.MolFromMolBlock(a)) fff = AllChem.UFFGetMoleculeForceField(b[k]) fff.Initialize() fff.Minimize() energy_value_U = fff.CalcEnergy() print("for each conformer") print(energy_value_U) energies.append(float(energy_value_U)) Should I be doing something else? like: for line2 in infile2: mol2 = Chem.MolFromSmiles(line2) m2 = Chem.AddHs(mol2) cids = AllChem.EmbedMultipleConfs(m2, numConfs) for k in cids: a = Chem.MolToMolBlock(m2, confId=k) b.append(Chem.MolFromMolBlock(a)) AllChem.EmbedMolecule(b[k]) fff = AllChem.UFFGetMoleculeForceField(b[k]) fff.Initialize() fff.Minimize() energy_value_U = fff.CalcEnergy() print("for each conformer") print(energy_value_U) energies.append(float(energy_value_U)) or like this: for line2 in infile2: print(line2) print(i) mol2 = Chem.MolFromSmiles(line2) m2 = Chem.AddHs(mol2) AllChem.EmbedMolecule(m2) cids = AllChem.EmbedMultipleConfs(m2, numConfs) for k in cids: a = Chem.MolToMolBlock(m2, confId=k) b.append(Chem.MolFromMolBlock(a)) AllChem.EmbedMolecule(b[k]) fff = AllChem.UFFGetMoleculeForceField(b[k]) fff.Initialize() fff.Minimize() energy_value_U = fff.CalcEnergy() print("for each conformer") print(energy_value_U) energies.append(float(energy_value_U)) or maybe non of the above?? Thanks a lot, Stamatia Zavitsanou
_______________________________________________ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss