main page
namespaces
classes
files
GGL home
Generated on Wed Apr 29 2015 11:51:40 for GGL-4.1.2 by
doxygen
1.8.3.1
Main Page
Related Pages
Namespaces
Data Structures
Files
File List
Globals
src
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