ChemCom: UnionBit Treeによる高速な類似化合物の検索

By | 2015年8月18日


今回は、ChemCom*を使って、類似化合物の検索を行ってみます。
ChemComには、Bit bound, kD Grid, MultiBit Tree, UnionBit Treeの4つのアルゴリズムが実装されています。また、Fingerprintは、FP2とMACCSの2つから選択できます。

*J. Chem. Inf. Model., 2015, 55 (7), pp 1292–1296

準備

ChemComは、Java Web Start(JavaWS)で提供されています。
まずは、以下のChemComのサイトにアクセスします。

ChemCom: http://bioinformatics.org/chemcom/

ページの中ほどにあるAVAILABILITYにlinkがあるので、そこをクリックします。
Javaのセキュリティにより、通常は以下のダイアログが表示されると思います。

chemcom_01

ChemComを使うためには、例外サイト・リストにhttp://bioinformatics.org/を追加しなくてはなりません。Javaのセキュリティ設定の編集をしたくない場合は、ChemComのソースコードをダウンロードし、アプリケーションとしてビルドするといいと思います。

[例外サイト・リストの編集]
Windows8.1ですと、[コントロールパネル]→[プログラム]→[Java]を選択することにより、Javaコントロール・パネルを起動します。

Javaコントロール・パネルのセキュリティタブで、例外サイト・リストの編集ができますので、http://bioinformatics.org/を追加します。

chemcom_02

例外サイト・リストの編集後、AVAILABILITYのlinkをクリックすると、ChemComが起動します。

chemcom_03

毎回Webサイトにアクセスしたくない場合は、デスクトップにChemComのショートカットを作り、起動させることもできます。

[ショートカットの作り方]
Step 1.
[コントロールパネル]→[プログラム]→[Java]を選択することにより、Javaコントロール・パネルが起動します。
Step 2.
一般タブの表示ボタンを押します。
Step 3.
Javaキャッシュ・ビューアが起動するので、ChemComを選択し、右斜めに向いている矢印のボタンをクリックします。
ChemComが表示されていない場合は、キャッシュにChemComがない状態ですので、ChemComのWebサイトのlinkから、ChemComを起動してみてください。

chemcom_04

上記の作業により、デスクトップにショートカットが生成されます。
chemcom_05

チュートリアル

ChemComを起動します。

Step 1: 入力ファイルの選択
化合物は、ZINCからランダムにSDFとして取得しました。取得したSDFに対しては、水素除去、座標を2Dにした後、IDタグを作成し、ZINCコードを付加しています。

Query SDF Fileには、上記SDFからランダムに10,000化合物を選択したSDFを、Database SDF Fileには、上記SDFからランダムに50,000化合物を選択したSDFを用いました。

Tags:では、IDタグを選択しています。ここで選択したタグが、化合物を示すIDの役割りをします。

chemcom_06

Nextボタンを押します。

Step 2: アルゴリズムの選択

Algorithm ModeでUnionBit Algorithmを、Fingerprint AlgorithmでFP2を選択します。Tanimoto係数もここで指定を行います。

chemcom_07

Nextボタンを押します。

Step3: 出力ファイルの設定
ここでは、Output CSV Fileのみチェックを入れています。
このCSVファイルには、Step2で指定したTanimoto係数以上の値をもつqueryとdatabae化合物のペアとその類似度が出力されます。

chemcom_08

Perform Comparisonボタンを押します。

Step4: 実行

類似化合物の検索が実行されます。
ここでは、類似化合物検索の各ステップにおける実行時間が表示されます。

chemcom_09

最後に、各アルゴリズムの実行時間を比較してみます。
ここでは、実行時間として、Indexing DatabaseとComparingの和を用いました。
(Intel Core i7-3630QM CPU@2.40GHz, RAM 8GB)

chemcom_10

Boundと比較すると、kD Grid, MultiBit Tree, UnionBitの3つのアルゴリズムは、明らかに高速であることが分かります。