title: Molecular query language (MQL)--a context-free grammar for substructure matching.
abstract: We have developed a Java library for substructure matching that features easy-to-read syntax and extensibility. This molecular query language (MQL) is grounded on a context-free grammar, which allows for straightforward modification and extension. The formal description of MQL is provided in this paper. Molecule primitives are atoms, bonds, properties, branching, and rings. User-defined features can be added via a Java interface. In MQL, molecules are represented as graphs. Substructure matching was implemented using the Ullmann algorithm because of favorable run-time performance. The Ullmann algorithm carries out a fast subgraph isomorphism search by combining backtracking with effective forward checking. MQL software design was driven by the aim to facilitate the use of various cheminformatics toolkits. Two Java interfaces provide a bridge from our MQL package to an external toolkit: the first one provides the matching rules for every feature of a particular toolkit; the second one converts the found match from the internal format of MQL to the format of the external toolkit. We already implemented these interfaces for the Chemistry Development Toolkit.
authors: Johann Wolfgang Goethe-University, Institute of Organic Chemistry and Chemical Biology, Chair for Chem- and Bioinformatics, Siesmayerstrasse 70, D-60323 Frankfurt am Main, Germany. proschak@bioinformatik.uni-frankfurt.de
authors: Ewgenij
authors: E
authors: Proschak
authors: Jörg K
authors: JK
authors: Wegner
authors: Andreas
authors: A
authors: Schüller
authors: Gisbert
authors: G
authors: Schneider
authors: Uli
authors: U
authors: Fechner
mesh_terms: D000465:Algorithms; D003198:Computer Simulation; D008958:Models, Molecular; D015394:Molecular Structure; D004364:Pharmaceutical Preparations / Q000737:chemistry; D012985:Software Design
chemical_list: D004364:Pharmaceutical Preparations