Drug Design Laboratory
News > Software projects > Tree2C


Classification tree to code converter

PGH2 synthase I - ibuprofen complex

This program converts the machine learning models, in particular the classification trees, generated by Weka program mainly to C source code but it supports also other programming languages (e.g. C++, Fortran 90, Java, JavaScript, JScript, Lua, PHP, Python, REBOL and VBScript). The resulting code requires no or very limited modifications to be used. The program can recognize several molecular attributes/descriptors (especially those that are calculated by VEGA ZZ and MOPAC 2016) and it can add automatically the code to calculate them. Moreover, Tree2C can generate code also for the domain property check, which is a very useful feature to evaluate the confidence of the classification results. In addition, the program can build the code for different targets to be integrated in a pre-existing program:

  • as generic C file with separated header;
  • as monolithic header file;
  • as C source code to build a dynamic link library for Windows (DLL), exporting the functions to call;
  • as C-script to be used in VEGA ZZ program. When you run the resulting script, if the VEGA ZZ workspace is showing a structure, the classification is performed for the current molecule, otherwise a file requester is opened to select an input database of molecules. In this second case, the classification is performed for all molecules of the database.
  • as C++ class with separated header;
  • as Fortran 90 module;
  • as Java class;
  • as JavaScript class;
  • as JScript pseudo-class;
  • as Lua class;
  • as PHP class in a single file;
  • as Python 3 class module;
  • as REBOL class;
  • as VBScript class.

For more information, you can consult the manual 

System requrements:

Tree2C supports both Linux (x86 or x64) and Windows (2000/XP/Vista/7/8/8.1/10 x86 or x64) operating systems and requires the HyperDrive runtime library, which is the same used for VEGA ZZ software. Since the program is written in standard C code, it can be ported to other operating systems without modifications.
Tree2C is provided in two different versions:

  • command line version (stand-alone);
  • GUI version with graphic user interface integrated in VEGA ZZ environment.

Both versions shares the several features, but the GUI-based version supports only the C language as target.

Software packages:

Tree2C is provided in three different packages:

  • Tree2C_1.0.0.24.zip 
    This archive includes the command-line version of the program for Linux (x86 and x64) built by gcc and Windows (x86 and x64) built by Mingw32/64 and RAD Studio 10.2 Tokyo. Moreover, examples and scripts are provided only in this package and the GUI version of the program is not included.
  • Vega_ZZ_3.2.3.28_Setup.exe 
    This setup includes both command-line and GUI versions of Tree2C and the applicative examples (Prediction of blood-brain barrier permeation and Prediction of mutagenicy) ready to use.
  • Vega_3.2.3.28_Linux_x86-x64-ARM.tar.gz 
    This archive includes the command-line version of the program for Linux (x86 and x64) built by gcc. Windows and GUI versions are not provided as well as examples and scripts.

The stand-alone version of Tree2C doesn't require the installation, while the GUI version is integrated in VEGA ZZ package and is installed automatically when you run the VEGA ZZ setup. Moreover, the same package includes the command line version (for both 32 and 64 bit Windows versions).