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