phuongdo
2017-05-11 15:29:28 UTC
Hello, I have some 2D sdf structure and I need to generate 3D conformer, but
when I used OBBuilder class, it generated a 3D conformer with high energy. I
used ForceField to lower the energy but it seem not to get there yet. Here
is my script:
import pybel
import openbabel
conv = openbabel.OBConversion()
mol = openbabel.OBMol()
conv.SetInAndOutFormats("sdf","sdf")
conv.ReadFile(mol,"4.sdf")
builder = openbabel.OBBuilder()
builder.Build(mol)
conv.Convert()
ff = openbabel.OBForceField.FindForceField("mmff94")
ff.Setup(mol)
print ff.Energy()
ff.WeightedRotorSearch(200,25)
print ff.Energy()
ff.UpdateCoordinates(mol)
conv.WriteFile(mol,"4b.sdf")
I tried to use SystematicRotorSearch() but it took long time for molecule
with 5 rotatable bonds.
Please comment how to modify it.
Best wishes,
Phuong Do
--
View this message in context: http://forums.openbabel.org/Generate-low-energy-3D-conformer-with-python-tp4659929.html
Sent from the General discussion mailing list archive at Nabble.com.
when I used OBBuilder class, it generated a 3D conformer with high energy. I
used ForceField to lower the energy but it seem not to get there yet. Here
is my script:
import pybel
import openbabel
conv = openbabel.OBConversion()
mol = openbabel.OBMol()
conv.SetInAndOutFormats("sdf","sdf")
conv.ReadFile(mol,"4.sdf")
builder = openbabel.OBBuilder()
builder.Build(mol)
conv.Convert()
ff = openbabel.OBForceField.FindForceField("mmff94")
ff.Setup(mol)
print ff.Energy()
ff.WeightedRotorSearch(200,25)
print ff.Energy()
ff.UpdateCoordinates(mol)
conv.WriteFile(mol,"4b.sdf")
I tried to use SystematicRotorSearch() but it took long time for molecule
with 5 rotatable bonds.
Please comment how to modify it.
Best wishes,
Phuong Do
--
View this message in context: http://forums.openbabel.org/Generate-low-energy-3D-conformer-with-python-tp4659929.html
Sent from the General discussion mailing list archive at Nabble.com.