ReCGenの計算原理の解説

【概要】

ReCGenは、フラグメントDB作成ツール、DBマージツール、構造生成ツールの3つの機能を提供しております。 図1にそれらのツールの関係を示します。 なお、ReCGen webサービスは、これらのツールの一部を利用できるようにしたものです。


図1 フラグメント作成から構造生成までの全体像

ReCGenでから出力されるバーチャル化合物構造の種類や数は、用いたフラグメントDBに依存します。 ReCGenでの構造生成は、先ず化合物ライブラリー(SDファイル)をフラグメントDB作成ツールを用いて フラグメント化して、ECFPフラグメントのDBを作成します。 化合物ライブラリーとしてはなるべく構造多様性があるものが望ましいです。 WEBアプリケーション版ではDrugBankの化合物をフラグメント化したDBを利用しています。 次に、母核構造と構造変換 部位を示したMOLファイルから、 作成されたフラグメントDBを利用して新規構造が生成できます。 DBマージツールは別々の化 合物ライグラリから作成したフラグメントDBを一つのDBにまとめて、 より大きなフラグメントDBを作成します。


【ECFPフラグメント】

ECFPフラグメントは、 ある原子を中心として同じ連結数をもつ原子までを包含する部分構造と定義されます。(図2参照) 中心原子ごとに連結数を一定の範囲で変化させて、細かい構造から大きな構造までのフラグメントを発生できるため、 多様な構造のフラグメントライブラリーを作成する事が可能です。


図2 ECFPフラグメント

従って、ECFPフラグメントを用いた構造生成の特徴はRECAP法と比べて以下の通りとなります。

  1. ① 新規性の高い化学構造を発生できる。
  2. ② 緻密な構造変化が可能であり、参照化合物周辺の構造を隈なく発生できる。

化合物のフラグメント化は分子構造のグラフとして見たとき、深さ優先探索アルゴリズムを適用して計算されます。 図3にアスピリンの構造式から生成されるECFPフラグメントの例(26種類)を示します。 図中の"U"や"Th"はフラグメントの切断面を示すためのもので、実際にウラン原子などが結合しているわけではありません。

図3 アスピリン構造から生成されるECFPフラグメント

【フラグメントの表記法】

化学構造情報のファイルフォーマットには様々なものがありますが、 標準的に用いられているものはSDF形式(MOL形式)です。 ReCGenではこの構造フォーマットを利用してECFPフラグメントを表記しています。

RecGenでのフラグメント化は芳香環や飽和環を途中でも切ってしまう方法で、 ECFPフラグメント中の原子が芳香環又は環構造の一部だったかどうかを、 何らかの形で情報を保持しておく必要があります。 これらの情報が保持できていないと、適切な分子構造をECFPフラグメントから再構成する事が出来ないからです。 したがって、SDF形式の標準の仕様を拡張してECFPフラグメントを表記しています。

図4はECFPフラグメントをSDF形式で表記した1例です。 図4において青字で示している"U"や"Th"と表記されている部分は、 フラグメントの切断面を示す重元素になります。 これはフラグメント化する際に元々の原子種によって表1のように対応しています。 また、赤字で示している結合価の数値は、 元々の構造が芳香環や飽和環の場合に特殊な番号を割り当てています。 結合価数の詳細を表2に示します。

図4 ECFPフラグメントの内部表現
表1 重元素
元素記号 説明
U 鎖状構造中の原子
Th 芳香環構造中の原子
Pa 非芳香環構造中の原子

表2 重元素
結合価数 説明
10 芳香環中の結合
11 非芳香環中の単結合
12 非芳香環中の二重結合
13 非芳香環中の三重結合

【フラグメントDB】

ECFPフラグメントは与える結合パス長を大きくするほど多様な部分構造フラグメントを生成する事が可能になります。 したがってReCGenから生成されるECFPフラグメントは膨大な数になり、 それに伴い構造発生に必要とされる計算時間も大きくなってきます。 そこでReCGenでは、膨大な数のフラグメント構造を管理し検索できるように RDBMSの1つであるSQLiteを利用しています。

入力化合物に適切に接続できるフラグメント構造をフラグメントDBから部分構造検索を行う必要があります。 一般的に化合物を効率良く検索するためにフィンガープリントが利用されます。 ReCGenにおいてもフィンガープリントを利用して部分構造検索していますが、 ECFPフラグメントはU原子等の特殊用途の原子を含むので、独自にフィンガープリントを作成しています。 検索用フィンガープリントは以下の通りです。

合計342種類の部分構造の有無を1か0で表現して342bitのフィンガープリントとなります。

  • ● 8種類の原子タイプを構造式に設定する C, Car, N, Nar, O, Oar, S, Sar, P, Par, F, Cl, Br, I, (B, Si, Se), Th, Pa, U
  • ● パス長1の原子ペアが部分構造として含まれるかどうか(171種類)
  • ● パス長2の原子ペアが部分構造として含まれるかどうか(171種類)

図5にニコチン酸アミドの場合の例を示します。 この例では342bit中11bitが1となっています。 SQLiteを用いた具体的な実装においては342bitのフィンガープリントを6個の64bit整数に分割して取り扱っています。


図5 検索用FPの原子タイプの例
パス長 フィンガープリント構造
1 Car-Car, Car-Nar, C-N, C-O, C-Car
2 Car--Car, Car--Nar, Car--N, Car--O, C--Car, N--O

【構造生成の原理】

ReCGenに実装されている構造変換は、フラグメントを単純に結合するのではなく、 ある一定の重なり部分(糊代部分)を以って結合させる方法を用いています。 この方法を用いることにより、現実的に合成出来ない構造の生成をある程度抑えることができます。 具体的には図6に示す通り、以下の4つの手順で新規構造を生成しています。

  1. ① 糊代部分のフラグメントの切り出し
  2. ② 原子インデックスの対応関係の作成
  3. ③ 入力構造とフラグメントの合わせる
  4. ④ 不用原子を削除し、結合を作って完成とする

手順①の糊代部分のフラグメントは、Atを中心としたパス長2までの範囲のECFP4フラグメントと定義されます。 またAtが複数あり位置が近い場合は、詳細は後述しますが、糊代部分を拡張させて扱うことにします。 結合させるべきフラグメントは、その糊代部分を含むかどうかの部分構造検索をフラグメントDBに対して行い取得します。 手順②では部分構造検索結果を基にして重ね合わさる原子の対応をつけています。 手順③では二つの分子を対応付けられた原子において重ね合わせます。 手順④で結合をさせて完成構造としており、DB検索で得られたフラグメント数だけ手順②〜④を繰り返します。

図6 ECFPフラグメントの結合の原理

入力構造中にAtが複数ある場合は拡張させて扱っています。 例えば図7のように2箇所のAtを持つ入力構造の場合には、それぞれのAtから作られる糊代部分に重なる原子があります。 このような場合には、それらの糊代部分をつなげて一つの糊代部分へと拡張して取り扱います。 これ拡張によって、環構造を形成する場合と分岐構造ができる場合の両方を取り扱うことが出来るようになります。

図7 糊代フラグメントの拡張

また図8のように、2つの糊代部分に重なる原子が無い場合は、分岐構造ができる場合のみになります。

図8 拡張されずに必ず分岐ができる例

【多段階生成】

多段階生成とは図9のように、入力構造に一回フラグメントを付加した後さらにフラグメントを付加して構造生成することです。 前述した通りReCGenの基本的な構造生成は、入力構造側の切断面から糊代部分を定義して、 その糊代部分が重なる様にECFPフラグメントを結合させます。 一方、ECFPフラグメントの切断面からも同様に糊代部分が定義出来て、 その糊代部分が何個定義できるかによってECFPフラグメントを分類することができます。 ここでは糊代部分が定義できるECFPフラグメントの切断面を「結合手」と呼称します。 図9の中列ように一回ECFPフラグメントを付加した後の構造の結合手は、 0個のものや1個やそれ以上のものが出てきます。 ReCGenではECFPフラグメントが付加された構造の結合手が、 入力構造の設定通りの数の場合にのみ次段階への生成へと計算を進めることとしています。

図9 2段階生成の原理

【入力できる構造生成の例】

ReCGenでは様々なタイプの構造生成が可能です。 図10の構造はReCGenで扱える入力の例で、 適当な構造描画ツールを用いてMOL形式でファイルを保存すればReCGenの入力構造ファイルとなります。

図10 構造変換例

2カ所変換の例

2段階変換の例

2段階構造補間

無母核からの構造生成