化学データベース

化学データベース（かがくデータベース、chemical database）は、化学情報を格納する目的で設計されたデータベースの総称である。
概要.
多くの化学データベースは反応の過程で一過性に現れる様なものではなく、安定している分子の情報を格納する。化学構造の表現は、伝統的には、原子と化学結合を表す線分とを使用して、平面上に描かれる（2D構造）。この抽象化された表現は化学者向けの表現であり、この表現は計算化学や、特に検索や格納についていうならば適当な方式ではない。
化学データベースは、そのデータ構成により化学物質データベース（化合物データベース）と化学反応データベースとに分けることができる。化学反応は「反応物の化学物質」と「生成物の化学物質」を反応条件等で関連付けたデータ構成になるため、化学反応データベースは化学物質データベースの技術を基に構築されるのが普通である。
巨大な化学データベースは幾百万の化合物をテラバイト級のストレージに格納している（2005年時点で CAS は2,500万項目の化合物を格納している）。
表現方式.
化学構造をデジタルデータベース上に実装する方法として、大別して2つの方式が存在する。
これらの方式を元に、立体化学の違いや有機金属化合物で見られるような特殊な原子価を表現し分けられる様に改良が加えられている。コンピュータが扱う表現形式で最も重要な評価すべき点はデータのサイズや検索時間の増加傾向とフレキシブル検索が可能であるか否かという点にある。
検索.
化学者は部分構造や IUPAC 名の一部のような属性よる制約に類する検索条件を使ってデータベース検索を実行する。化学データベースは他の汎用データベースと異なり、部分構造検索を提供する点が特徴に挙げられる。この種の検索は部分グラフ同形法（、時として単射 と呼ばれる方法）やグラフ理論の応用により探索することができる。検索アルゴリズムは計算量で O ("n"3) ないしは O ("n"4) 倍の複雑さで増大する（n は含まれる原子の数）。検索機能を集約したコンポーネントは atom-by-atom-searching (ABAS) と呼ばれ、検索対象分子構造の原子と結合からなる部分構造を探索できるように、検索できるようにマッピングを行っている。ABAS 検索はウルマン・アルゴリズムかその変法を使って通常は実装される。検索速度の向上は分割実行により実現され、前処理により複数の検索タスクに分割されて格納される。前処理には、普通、分子のフラグメント構造の有無を表現するビット列に展開する作業も含まれる。検索構造がフラグメントにあるかどうか見つけるには、探索される分子構造と ABAS 比較される際に検索構造を表すフラグメント存在し得ないものを除外する必要がある。この除外操作はスクリーニングと呼ばれ、それを実装するのにビット列が使用され、それは構造キー（structural keys）とも呼ばれる。このようなキーの検索効率はフラグメントを選択に使用するキーの組み立て方とデータベース中の分子構造にそのキーが存在する確率に依存する。他の種類のキー構築方法にフラグメントから算術式で導出されるハッシュ値を元にする方法が使用されている。この方法はフィンガープリントとも呼ばれるが、時としてこの語は構造キーと同義語のように使用される。構造キーやフィンガープリントを格納するのに必要な記憶容量は折りたたみ処理により低減され、キーの比較する部分をビット単位操作で比較するのであり、ビット列全体で比較しないことで高速化される。
類似性.
分子構造の類似性については、これ一つであると決められるような定義は存在しない。そして類似性の概念はプログラムにおける定義で依存しており、しばしば類似性の乖離度合いの逆数が使用される。2つの分子が他と比べて分子量の違いが小さい場合に類似性があるとする。また、他の種々の測定量を多変量解析で結合させて類似性とすることも見受けられる。乖離度合いは大別すると、ユークリッド距離と非ユークリッド距離とに分類される。 
データベースは類似性に基づいて、「類縁」分子構造の集団にクラスター化することができる。階層的クラスタリングあるいは非階層的クラスタリングの両方の方式によって、化学的な登録項目とその属性を区分することもできる。これらの化学的属性や分子構造の性質は実験的あるいは計算化学的に決定され、デスクリプタ（物質記述子）の導出に利用される。　一般的なクラスタリング手法の一つに、Jarvis-Patrick アルゴリズム（k 近傍法）が挙げられる。
登録システム.
レコードが化学物質として重複のないように管理されたデータベースシステムは登録システム（registration systems）とも呼ばれる。これらのデータベースは化学物質の目録や特許システムあるいは産業用データベースとして広く利用されている。
登録システムは、通常、データベース内の化学的表現の揺らぎを特定の表現ルールに沿うように強制することで一意性を保っている。文字列化表現を発生する際に優先ルールを適用することで、「正規 SMILES」のような、固有／「正規化」文字列表現を登録システムは格納することができる。 CASシステムのようなある種の登録システムは同一の登録項目に対して固有なハッシュ値（CAS 登録番号）を発生させるアルゴリズムを採用している。
登録システムでは、塩化合物のハロゲンイオンの違いのような相違が検索上の違いとして無視されるように分子構造を前処理する場合もある。
ツール.
コンピュータの内部表現は、通常は化学者にグラフィック表示装置上のデータとして提示するように処理される。データ項目は化学構造式エディタを介して容易に編集できるようになっている。この種のエディタは内部的に画像データとコンピュータの内部表現とを変換している。
数多くの内部表現のフォーマットが存在し、それらの間を変換する多数のアルゴリズムも存在している。この変換のためのオープンソースユーティリティの一つに OpenBabel が挙げられる。
IUPAC 名を分子構造表現に変換したり、その逆変換を行うアルゴリズムもまた、文書から構造式情報を抽出するテキストマイニング（データマイニングの一技法）で利用される。しかし、言い回しの違いで発生する IUPAC 名の別称の存在が問題を複雑にしている。固有の「IUPAC 標準名」を制定する動き () も存在する。