MMQL - Macromolecular Query Language

I.N.Shindyalov, W. Chang[1], C.Pu[2] and P.E.Bourne

San Diego Supercomputer Center
P.O. Box 85608
San Diego, CA 92186-9784

[1] Department of Biochemistry and Molecular Biophysics
Columbia University
630 W. 168th St. New York, NY 10032

[2] Department of Computer Science and Engineering,
Oregon Graduate Institute of Science and Technology,
P.O. Box 91000, Portland, OR 97291-1000.
Macromolecular Query Language (MMQL) is an extensible interpretive language in which to pose questions concerning the experimental or derived features of the 3-dimensional structure of biological macromolecules. MMQL portends to be intuitive with a simple syntax, so that from a user's perspective complex queries are easily written. A number of basic queries and a more complex query -- determination of structures containing a 5 strand Greek key motif, are presented to illustrate the strengths and weaknesses of the language. The predominant features of MMQL are a filter and pattern grammar which are combined to express a wide range of interesting biological queries. Filters permit the selection of object attributes, for example, compound name and resolution, whereas the patterns currently implemented query primary sequence, close contacts, hydrogen bonding, secondary structure, conformation, and amino acid properties (volume, polarity, isoelectric point, hydrophobicity, and different forms of exposure). MMQL queries are processed by MMQLlib, a C++ class library, to which new query methods and pattern types are easily added. The prototype implementation described uses PDBlib, another C++ based class library for representing the features of biological macromolecules at the level of detail parsable from a PDB file. Since PDBlib can represent data stored in relational and object oriented databases, as well as PDB files, once this data are loaded they too can be queried by MMQL. Performance metrics are given for queries of PDB files for which all derived data are calculated at run time and compared to a preliminary version of OOPDB, a prototype object oriented database with a schema based on a persistent version of PDBlib which offers more efficient data access and the potential to maintain derived information.

Back to The MMQL Home Page