Hello,

(Sorry I posted this on Nabble OpenBabel forum already, but that seems to be
simply an archive of this list.)

I would like to convert SMILES strings to their 3D forms in the SDF format.
However, the difficulty is that I am now forced to use the Java API of
OpenBabel to do this.

One approach would be to use the class OBBuilder to build 3D structures.
 However, this class seems to not be present in the Java API of openbabel,
making it impossible to use.

Another approach would be to generate the 3D structure with converter
options, as is shown in the following code.

import org.openbabel.*;

public class Main {
    public static void main(String[] args) {
       System.loadLibrary("openbabel_java");
       OBConversion conv = new OBConversion();
       OBMol mol = new OBMol();
       conv.SetInFormat("smi");
       conv.ReadString(mol, "C(Cl)(=O)CCC(=O)Cl");
       conv.SetOutFormat("sdf");
       conv.SetOptions("gen3D", OBConversion.Option_type.OUTOPTIONS);
       System.out.print(conv.WriteString(mol));
    }
}

However, the problem is that the gen3D option does not seem to have any
effect (with INOPTION and GENOPTION option types), and the result is quite
unexpected with OUTOPTION, as follows.


 OpenBabel05071010562D

  0  0  0     0  0            999 V3000
M  V30 BEGIN CTAB
M  V30 COUNTS 8 7 0 0 0
M  V30 BEGIN ATOM
M  V30 1 C 0 0 0 0
M  V30 2 Cl 0 0 0 0
M  V30 3 O 0 0 0 0
M  V30 4 C 0 0 0 0
M  V30 5 C 0 0 0 0
M  V30 6 C 0 0 0 0
M  V30 7 O 0 0 0 0
M  V30 8 Cl 0 0 0 0
M  V30 END ATOM
M  V30 BEGIN BOND
M  V30 1 1 1 2
M  V30 2 2 1 3
M  V30 3 1 1 4
M  V30 4 1 4 5
M  V30 5 1 5 6
M  V30 6 2 6 7
M  V30 7 1 6 8
M  V30 END BOND
M  V30 END CTAB
M  END
$$$$

Would you happen to know what is going on? Am I doing something wrong? Or
perhaps the 3D generation capability is not yet available through the
OpenBabel Java API, in which case I would have to do SYSTEM calls? Perhaps I
should use the CDK 3D structure generator as an alternative?

Thank you very much for any help.
------------------------------------------------------------------------------

_______________________________________________
OpenBabel-discuss mailing list
OpenBabel-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-discuss

Reply via email to