Generated on Wed Apr 29 2015 11:51:40 for GGL-4.1.2 by doxygen 1.8.3.1
doxygen.hh
Go to the documentation of this file.
1 
2 /**
3  * \mainpage GGL - Graph Grammar Library
4  *
5  * <center> GGL - 4.1.2 </center>
6  *
7  * This document provides reference information about the
8  * <A HREF="http://www.bioinf.uni-freiburg.de/">Graph Grammar Library</A>.
9  *
10  * \section SecGoals The goal
11  *
12  * This C++ programming library provides a platform for the formulation and
13  * application of context sensitive graph grammars on arbitrary labeled graphs.
14  *
15  * It is split into several sub-libraries to achieve a high level of modularity.
16  *
17  * \section SecLibs Libraries
18  *
19  * \subsection SubSecGGL GGL - Graph Grammar Library
20  *
21  * The GGL collects the necessary interfaces and core functionalities to enable
22  * the formulation of graph grammar rules and their application.
23  * Therefore, the algorithms use the sgm::Graph_Interface to
24  * enable the independence of the concrete graph implementation used.
25  * The rule definition is currently based on BGL graphs which allows for a
26  * high level of flexibility (see \ref SecDependencies)
27  * All classes and functions are templated to maintain the flexibility of the
28  * boost graphs.
29  *
30  * The GGL is extended by the GGL-CHEM library (see \ref SubSecGGLCHEM) for
31  * the application of graph grammars to chemical molecules and reactions.
32  *
33  * The application of graph grammar rules is based on the detection of
34  * subgraph isomorphisms. This is done using the SGM library.
35  *
36  * \subsection SubSecSGM SGM - Subgraph Matching Library
37  *
38  * The SGM library provides a generic interface for graph or subgraph isomorphism
39  * algorithms. A graph handled by the SGM has to implement the
40  * sgm::Graph_Interface. A templated wrapper class for BGL graphs is provided.
41  * Furthermore, graphs that serve as patterns have to provide the extended
42  * sgm::Pattern_Interface interface.
43  *
44  * A first implementation of a subgraph matcher is done based on the VF2 library.
45  * The VF2 algorithm is the state-of-the-art algorithm for this objective.
46  * We integrated the VF2 library source into the package to reduce the
47  * dependencies of the package. See the vflib2* folder in the source directory.
48  *
49  * \subsection SubSecGGLCHEM GGL-CHEM - GGL Chemistry
50  *
51  * This library extends the GGL with classes to represent chemical molecules as
52  * BGL graphs. The molecules are read and written in the standard Daylight's
53  * SMILES format. The graph grammar rules specify valid chemical reactions that
54  * modify molecules.
55  *
56  * \subsection SubSecTools GGL Tools
57  *
58  * Based on the GGL we have set up several tools for a direct application of the
59  * library.
60  *
61  * - toyChem : iterative simulation of chemical reactions using GGL-CHEM
62  *
63  *
64  *
65  *
66  * \section SecDependencies Dependencies
67  *
68  * The GGL depends on the following libraries:
69  *
70  * - the <A HREF="http://www.boost.org/doc/libs/release/libs/graph/"> BGL - Boost Graph Library </A> (version >= 1.36.0)
71  *
72  * Optionally one can extend the function volume of GGL-CHEM using
73  *
74  * - the <A HREF="http://openbabel.org"> OpenBabel - The Open Source Chemistry Toolbox</A> (optional and version >= 2.2.0)
75  *
76  *
77  * \section SecApp Appendix
78  *
79  * Additionally, the documentation also features the following parts:
80  * - \ref PageInstallation
81  * - \ref PageTests
82  *
83  * The following lists and indices are available
84  * - <a class="el" href="annotated.html">List of all classes including brief documentation</a>
85  * - <a class="el" href="namespaces.html">List of all namespaces including brief documentation</a>
86  * - <a class="el" href="files.html">List of all files</a>
87  * - <a class="el" href="hierarchy.html">Class hierarchy</a>
88  * - <a class="el" href="classes.html">Alphabetical class index</a>
89  * - <a class="el" href="namespacemembers.html">Namespace members</a>
90  * - <a class="el" href="functions.html">Class members</a>
91  * - <a class="el" href="globals.html">File members</a>
92  */
93 
94 
95 
96 /**
97  * \page PageInstallation Installation
98  *
99  * Follow this steps to create a local version of the GGL:
100  *
101  * - download and unzip the
102  * <A HREF="http://www.bioinf.uni-freiburg.de/"> GGL source package </A>
103  * distribution
104  *
105  * - run "./configure --help" to get an overview of further possible parameters
106  * - run "./configure" with your desired parameters to generate the Makefiles
107  * - "make" to generate the library
108  *
109  * - "make test" to test if everything works fine (if not please report)
110  *
111  * - "make install" to install the headers and library to the given directory
112  *
113  * - "make doc" to generate the html documentation (if selected during the
114  * configure call)
115  * - "make doxygen-doc" to generate the whole documentation
116  *
117  * See the file INSTALL in the library root path for further informations.
118  *
119  */
120 
121 /**
122  * \page PageTests Test cases and usage examples
123  *
124  * To check if the GGL does function as expected a set of tests was implemented
125  * for each non-abstracted class.
126  *
127  * The source code can be used as an example for the usage of the GGL-classes.
128  *
129  * All files can be found in a subfolder named "tests" in the GGL root
130  * directory. They are named in the format "testCLASSNAME.cc".
131  *
132  */
133