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