化学
データベースとは、化学情報の格納を
目的として
設計された特別な
データベースのことを指します。この
データベースは、反応の過程において一時的に現れるものではなく、安定した
分子の情報を保存するために用いられています。通常、化学構造は2Dで表現され、
原子と
化学結合を線分で示しますが、この方法は
計算化学やデータ検索などにおいて十分とは言えません。化学
データベースは、化学物質
データベースと化学反応
データベースの2つに大別できます。化学反応
データベースは、反応条件などを通じて反応物と生成物を関連付けた情報を構成します。大規模な化学
データベースでは、数百万にも及ぶ化合物がテラバイト単位のストレージに保存されています。たとえば、2005年には、CASが2,500万項目以上の化合物を管理していました。
表現方式
化学構造をデジタル
データベースに格納する方法は主に2つに分けられます。1つ目は、連結テーブルや接合マトリックスに基づく構造表現で、角度や
原子の属性を追加する手法です。これにより、MDL社のMOL、PDB、CML記法などが利用されています。2つ目は、深度優先または幅優先のリスト構造を用いた文字列化形式で、SMILESやSMARTSといった記法があります。
これらの表現方法は、
立体化学や特殊な
原子価を表現できるように改良されてきました。重要な評価ポイントは、データサイズや検索時間、そして柔軟な検索が可能かどうかです。
検索機能
化学者は、部分構造やIUPAC名の一部に基づいて検索条件を設定し、
データベースを検索します。化学
データベースは、部分構造検索機能を備えている点が特徴であり、部分グラフ同形法や
グラフ理論を利用した探索が可能です。
検索アルゴリズムは、含まれる
原子の数に応じて計算量がO(n3)またはO(n4)と増加します。これを効率化するために、atom-by-atom-searching (ABAS)と呼ばれる検索
コンポーネントが用いられ、対象
分子構造の
原子と結合を使った部分構造を探索します。ABAS検索は、ウルマンアルゴリズムを用いて実装され、検索のスピードは分割実行によって改善されます。検索条件がフラグメントにあるかを見つけ出すために、ビット列を用いて構造の存在をスクリーニングする方法が一般的です。
分子構造の類似性は定義が明確ではなく、プログラムによって異なる解釈がされます。一般的には
分子量の違いやさまざまな測定を組み合わせて類似性が考えられます。測定結果の乖離度合いはユークリッド距離や非ユークリッド距離で表現されます。類似性に基づいて、
データベースは「類縁」
分子構造をクラスタリングすることができ、階層的または非階層的クラスタリング手法が用いられます。
登録システム
重複のない化学物質を管理するための
データベースシステムは登録システムと呼ばれます。これらは、化学物質の目録や
特許システムとして利用され、化学的表現の一貫性を保つための特定のルールに基づいています。例えば、特定の構造の違いを無視する前処理が行われることもあります。
ツール
コンピュータ内の化学データは通常、グラフィック表示装置を通じて
化学者に提示され、化学構造式
エディタで簡単に編集可能です。さまざまな内部表現が存在し、OpenBabelのようなオープンソースツールで異なるフォーマット間の変換が可能です。また、IUPAC名を構造表現に変換するアルゴリズムも利用されています。
このように、化学
データベースは化学情報の管理・検索において必要不可欠な役割を果たしており、今後もさらなる発展が期待されています。