A chemical database is a database specifically designed to store chemical information. This information is about chemical and crystal structures, spectra, reactions and syntheses, and thermophysical data.
- 1 Types of chemical databases
- 2 Chemical structure representation
- 3 Search
- 4 Descriptors
- 5 Similarity
- 6 Registration systems
- 7 Tools
- 8 See also
- 9 Notes and references
Types of chemical databases
Chemical structures are traditionally represented using lines indicating chemical bonds between atoms and drawn on paper (2D structural formulae). While these are ideal visual representations for the chemist, they are unsuitable for computational use and especially for search and storage. Small molecules (also called ligands in drug design applications), are usually represented using lists of atoms and their connections. Large molecules such as proteins are however more compactly represented using the sequences of their amino acid building blocks. Large chemical databases for structures are expected to handle the storage and searching of information on millions of molecules taking terabytes of physical memory.
Chemical literature databases correlate structures or other chemical information to relevant references such as academic papers or patents. This type of database includes STN, Scifinder, and Reaxys. Links to literature are also included in many databases that focus on chemical characterization.
NMR spectra database
Most chemical databases store information on stable molecules but in databases for reactions also intermediates and temporarily created unstable molecules are stored. Reaction databases contain information about products, educts, and reaction mechanisms.
Thermophysical data are information about
- phase equilibria including vapor–liquid equilibrium, solubility of gases in liquids, liquids in solids (SLE), heats of mixing, vaporization, and fusion.
- caloric data like heat capacity, heat of formation and combustion,
- transport properties like viscosity and thermal conductivity
Chemical structure representation
There are two principal techniques for representing chemical structures in digital databases
- As connection tables / adjacency matrices / lists with additional information on bond (edges) and atom attributes (nodes), such as:
- As a linear string notation based on depth first or breadth first traversal, such as:
These approaches have been refined to allow representation of stereochemical differences and charges as well as special kinds of bonding such as those seen in organo-metallic compounds. The principal advantage of a computer representation is the possibility for increased storage and fast, flexible search.
Chemists can search databases using parts of structures, parts of their IUPAC names as well as based on constraints on properties. Chemical databases are particularly different from other general purpose databases in their support for sub-structure search. This kind of search is achieved by looking for subgraph isomorphism (sometimes also called a monomorphism) and is a widely studied application of Graph theory. The algorithms for searching are computationally intensive, often of O (n3) or O (n4) time complexity (where n is the number of atoms involved). The intensive component of search is called atom-by-atom-searching (ABAS), in which a mapping of the search substructure atoms and bonds with the target molecule is sought. ABAS searching usually makes use of the Ullman algorithm or variations of it (i.e. SMSD ). Speedups are achieved by time amortization, that is, some of the time on search tasks are saved by using precomputed information. This pre-computation typically involves creation of bitstrings representing presence or absence of molecular fragments. By looking at the fragments present in a search structure it is possible to eliminate the need for ABAS comparison with target molecules that do not possess the fragments that are present in the search structure. This elimination is called screening (not to be confused with the screening procedures used in drug-discovery). The bit-strings used for these applications are also called structural-keys. The performance of such keys depends on the choice of the fragments used for constructing the keys and the probability of their presence in the database molecules. Another kind of key makes use of hash-codes based on fragments derived computationally. These are called 'fingerprints' although the term is sometimes used synonymously with structural-keys. The amount of memory needed to store these structural-keys and fingerprints can be reduced by 'folding', which is achieved by combining parts of the key using bitwise-operations and thereby reducing the overall length.
Search by matching 3D conformation of molecules or by specifying spatial constraints is another feature that is particularly of use in drug design. Searches of this kind can be computationally very expensive. Many approximate methods have been proposed, for instance BCUTS, special function representations, moments of inertia, ray-tracing histograms, maximum distance histograms, shape multipoles to name a few.
All properties of molecules beyond their structure can be split up into either physico-chemical or pharmacological attributes also called descriptors. On top of that, there exist various artificial and more or less standardized naming systems for molecules that supply more or less ambiguous names and synonyms. The IUPAC name is usually a good choice for representing a molecule's structure in a both human-readable and unique string although it becomes unwieldy for larger molecules. Trivial names on the other hand abound with homonyms and synonyms and are therefore a bad choice as a defining database key. While physico-chemical descriptors like molecular weight, (partial) charge, solubility, etc. can mostly be computed directly based on the molecule's structure, pharmacological descriptors can be derived only indirectly using involved multivariate statistics or experimental (screening, bioassay) results. All of those descriptors can for reasons of computational effort be stored along with the molecule's representation and usually are.
There is no single definition of molecular similarity, however the concept may be defined according to the application and is often described as an inverse of a measure of distance in descriptor space. Two molecules might be considered more similar for instance if their difference in molecular weights is lower than when compared with others. A variety of other measures could be combined to produce a multi-variate distance measure. Distance measures are often classified into Euclidean measures and non-Euclidean measures depending on whether the triangle inequality holds. Maximum Common Subgraph (MCS) based substructure search  (similarity or distance measure) is also very common. MCS is also used for screening drug like compounds by hitting molecules, which share common subgraph (substructure).
Chemicals in the databases may be clustered into groups of 'similar' molecules based on similarities. Both hierarchical and non-hierarchical clustering approaches can be applied to chemical entities with multiple attributes. These attributes or molecular properties may either be determined empirically or computationally derived descriptors. One of the most popular clustering approaches is the Jarvis-Patrick algorithm .
In pharmacologically oriented chemical repositories, similarity is usually defined in terms of the biological effects of compounds (ADME/tox) that can in turn be semiautomatically inferred from similar combinations of physico-chemical descriptors using QSAR methods.
Registration systems usually enforce uniqueness of the chemical represented in the database through the use of unique representations. By applying rules of precedence for the generation of stringified notations, one can obtain unique/'canonical' string representations such as 'canonical SMILES'. Some registration systems such as the CAS system make use of algorithms to generate unique hash codes to achieve the same objective.
A key difference between a registration system and a simple chemical database is the ability to accurately represent that which is known, unknown, and partially known. For example, a chemical database might store a molecule with stereochemistry unspecified, whereas a chemical registry system requires the registrar to specify whether the stereo configuration is unknown, a specific (known) mixture, or racemic. Each of these would be considered a different record in a chemical registry system.
Registration systems also preprocess molecules to avoid considering trivial differences such as differences in halogen ions in chemicals.
The computational representations are usually made transparent to chemists by graphical display of the data. Data entry is also simplified through the use of chemical structure editors. These editors internally convert the graphical data into computational representations.
There are also numerous algorithms for the interconversion of various formats of representation. An open-source utility for conversion is OpenBabel. These search and conversion algorithms are implemented either within the database system itself or as is now the trend is implemented as external components that fit into standard relational database systems. Both Oracle and PostgreSQL based systems make use of cartridge technology that allows user defined datatypes. These allow the user to make SQL queries with chemical search conditions (For example a query to search for records having a phenyl ring in their structure represented as a SMILES string in a SMILESCOL column could be
SELECT * FROM CHEMTABLE WHERE SMILESCOL.CONTAINS('c1ccccc1')
Algorithms for the conversion of IUPAC names to structure representations and vice versa are also used for extracting structural information from text. However there are difficulties due to the existence of multiple dialects of IUPAC. Work is on to establish a unique IUPAC standard (See InChI).
- Biological database
- Beilstein database and Dortmund Data Bank
- Collaborative Drug Discovery
- Comparative Toxicogenomics Database
- Computational Chemistry List
- List of software for molecular mechanics modeling
- LOLI Database
- NMR spectra database
- SPRESI database
- Colocalization Benchmark Source
Notes and references
- Ullmann, Julian R. (1976), "An algorithm for subgraph isomorphism", Journal of the ACM 23 (1): 31–42, doi:10.1145/321921.321925
- Rahman, S. A.; Bashton, M.; Holliday, G. L.; Schrader, R.; Thornton, J. M. (2000). "Small Molecule Subgraph Detector (SMSD) toolkit". Journal of Cheminformatics 1: 12. doi:10.1186/1758-2946-1-12.
- Cummings, Maxwell D.; Maxwell, Alan C.; DesJarlais, Renee L. (2007). "Processing of Small Molecule Databases for Automated Docking". Medicinal Chemistry 3 (1): 107–113. doi:10.2174/157340607779317481.
- Pearlman, R.S.; Smith, K.M. (1999). "Metric Validation and the Receptor-Relevant Subspace Concept". J. Chem. Inf. Comput. Sci. 39: 28–35. doi:10.1021/ci980137x.
- Lin, Jr., Hung; Clark, Timothy (2005). "An analytical, variable resolution, complete description of static molecules and their intermolecular binding properties". JCIM 45 (4): 1010–1016. doi:10.1021/ci050059v.
- Meek, P. J.; Liu, Z.; Tian, L.; Wang, C. J; Welsh, W. J; Zauhar, R. J (2006). "Shape Signatures: speeding up computer aided drug discovery". DDT 2006. 19-20: 895–904.
- Grant, J. A; Gallardo, M. A.; Pickup, B. T. (1996). "A fast method of molecular shape comparison: A simple application of a Gaussian description of molecular shape". JCIC 17 (14): 1653–1666. doi:10.1002/(sici)1096-987x(19961115)17:14<1653::aid-jcc7>3.0.co;2-k.
- Ballester, P. J.; Richards, W. G. (2007). "Ultrafast shape recognition for similarity search in molecular databases". Proceedings of the Royal Society A 463: 1307–1321. doi:10.1098/rspa.2007.1823.
- Rahman, S. Asad; Bashton, M.; Holliday, G. L.; Schrader, R.; Thornton, J. M. (2009). "Small Molecule Subgraph Detector (SMSD) Toolkit". Journal of Cheminformatics 1: 12. doi:10.1186/1758-2946-1-12.
- Butina, Darko (1999). "Unsupervised Data Base Clustering Based on Daylight’s Fingerprint and Tanimoto Similarity: A Fast and Automated Way To Cluster Small and Large Data Sets". Chem. Inf. Comput. Sci. 39: 747–750. doi:10.1021/ci9803381.