Aritalab:Lecture/Algorithm/RingDetection
Contents |
化学構造における芳香環
芳香環の定義
芳香環の実験化学的な定義は、芳香性を持つ平面状の共役環状構造となります。共役構造とは、炭素の場合、単結合と二重結合が交互に現れる状態です。炭素のほかにも窒素、酸素、硫黄が芳香環を作れます。
芳香環は(4n + 2)個のπ電子を持つことが知られています(Hueckel rule)。環上の各原子が供与するπ電子の数は以下のように決まります。
- 二重結合をもつ炭素、窒素、酸素、硫黄なら1個
- 二重結合を持たない窒素、酸素、硫黄なら2個
したがって、以下に示す物質はいずれも芳香環になります。あまり言われませんが、DNAの塩基は芳香環なのです。(だから平面構造をしています。)
benzene |
adenine |
cytosine |
pyrazole |
imidazole |
芳香環の検出
ベンゼン環などの芳香環を単結合と二重結合の並びで記述すると、同一構造を一見、異なった形に描けてしまいます。化学構造中における芳香環の検出は、構造を正規化したり、構造における対称部分を見出すためにも必須の基本操作です。分子構造をグラフと考えると、芳香環の検出は以下のステップで達成できます。
- グラフ(構造)中の全てのサイクルを検出
- 各サイクルについて、π電子が(4n + 2)個になるか検証
プログラムを実装する上での問題点
n点の平面グラフでも、サイクルの数は2.2nより大きくなりうることが知られている (Alt, H. Fuchs, U. Kriegel, K. Combinatorics, Probability and Computing 8:397-405, 1999)。つまり、全てのサイクルを検証していると指数時間かかってしまう。しかし、全てのサイクルの基底をなすサイクル集合を見つけることは容易でないし、当然だが基底も一意ではない(Horton, JD. SIAM Journal on Computing, 16(2):358-366, 1987)。
例えば、ヘム環の外周は芳香環である。しかしこれを迅速に検出する汎用アルゴリズムの設計は上記の理由で難しい。計算化学の世界では実にさまざまなヒューリスティックが提唱されているが、いずれも理論的には抜け穴が多い。芳香環検出が難しい「困った」化合物の例を2つだけ挙げておく。
Heme O |
adenosyl cobalamin |