パトコアの技術ブログ

化学情報管理・創薬支援のためのケモインフォマティクス製品を扱うパトコアです。本ブログは技術チームにより運営されており、各種ツールを使うとどんなことができるの?という観点から、技術情報をお届けします。

パトコアの技術ブログ

化合物データベースを作成する(Excel編)

f:id:patcore:20201201153040p:plain

化学構造情報と物性値・アッセイデータ・スペクトルデータなどを紐づけたデータベースは多数存在しており、公的・私的な様々な目的で利用されています。特に製薬企業では保有する化合物データベースはR&Dの要であり、数百万もの化合物情報が情報資産として厳重に管理されています。最近ではAstraZenecaとBayerのパートナーシップの事例のように、オープンイノベーションの動きを受けて保有するデータを相互に参照可能とする動きがあるようですね。

本格的な化合物データベースを作ろうとした場合、データベース管理システム(DBMS)の専門知識と共に、構造正規化ルールやステレオ情報・塩・溶媒の取り扱いなど、化学ならではの条件を考慮する必要があります。実験を主に行う化学者にとっては大変な作業です。

この一見すると難しいトピックですが、ChemAxon社のJChem for Excelを使うと、身近なツールExcelを用いて簡単なデータテーブルを作成することができます。Excelシートとして作成した化合物データテーブルに対して構造検索も行うことができます。

今回の記事では、このExcelアドインツールについて紹介します。ChemAxonのYouTubeチャネルにはHow Toビデオのプレイリストも用意されているため、併せて見てみてください。


How to download JChem for Office add-in from the ChemAxon website & install it for Microsoft Office


JChem for Excel

ライセンスを取得後、JChem for Officeのページからインストーラーをダウンロードします。JChem for OfficeにはExcel以外のMicrosoft Officeツール用アドインが含まれていますので、Excelアドインのみ利用する場合はチェックを外してください。

f:id:patcore:20201201153043p:plain

最近の32bit版か64bit版のWindows OSにインストールされているMicrosoft Excelでは、おおよそ対応しています。

f:id:patcore:20201201153019p:plain

※本記事が執筆された現在における対応表です。
 Office 365への対応状況は公式ページを参照してください。


sdfファイルからデータをインポートする

インストールに成功すると、Excelに新たな「JChem」タブが現れます。このタブを開いたリボン上から、化学情報を扱うための様々な機能を利用できます。早速データをインポートしてみます。

f:id:patcore:20201201155440p:plain


化合物データベースを作るため、ChEMBL ActivityデータベースのSARS-CoV-2データソースから、高いpChEMBL Valueを示す250化合物のデータをダウンロードしました。sdf形式であればそのまま化合物情報を読み込めますが、ダウンロードした形式がcsv形式なため、一旦データテーブルとして読み込みました。構造情報はSMILESとして提供されています。

f:id:patcore:20201201153008p:plain

JChemに構造として認識させるため、SMILESの列を選択して「From SMILES」のボタンをクリックします。構造が認識され、セル内に表示されました。

f:id:patcore:20201201153013p:plain:w600


構造を使ってフィルター(部分構造検索)する

化合物データベースとして必要な機能の一つに、構造式検索があげられます。JChem for Excelではその簡易的な機能として、構造を使って行をフィルターする機能が備わっています。

JChemタブから「Filter」をクリックすることにより、条件を指定する画面が現れます。

f:id:patcore:20201201153029p:plain:w500

部分構造(Substructure)検索以外にも、完全一致などの検索条件を指定できます。とりあえずイメージの構造を描画し、部分構造検索を行いました。250の化合物の内、78件がヒットしました。

f:id:patcore:20201201153033p:plain:w600


Excel関数として構造類似度を計算する

構造検索を行う上で構造類似度(Similarity)による検索は外せません。しかし、簡易機能であるJChem for ExcelではSimilarity Searchのオプションはありません。困ってしまいましたね。

ここで、JChem for Excelの機能としてある、化学計算用の関数について紹介します。ExcelではSUM関数やAVERAGE関数などをセルに入力して計算を行うことができますが、JChem for Excelアドインは同様な化学計算用の関数を提供しています。Calculator Pluginsと組み合わせて様々な計算を行うことができます。

f:id:patcore:20201201153047p:plain

この関数の中に、「Dissimilarity Score」を計算する関数があります。分子記述子を使ってタニモトやユークリッドDissimilarity Scoreを計算してくれます。構造の列の横にタニモト係数を求める列を作り、「1 - Dissimilarity Score(query,target)」の条件で値を求めました。後は列の類似度の値でソートすることにより、簡易的な構造類似度検索を行うことができます。

f:id:patcore:20201201153107p:plain:w600


テーブルデータをエクスポートする

作成したExcelのテーブルは様々な化学フォーマットでエクスポートすることができます。

ChEMBL IDや活性値などの情報と共にエクスポートしたいので、SDF形式を選択し、構造情報を持つ列を指定してエクスポートします。250化合物の構造情報とその他のデータが共にファイル(69 MB)として出力されました。

f:id:patcore:20201201153023p:plain


SAR(構造活性相関)テーブルを作る

JChem for Excel上の人気の高い機能として、Rグループで構造を分解して、構造活性相関を分析する機能があります。骨格の構造をクエリとして指定し、化合物情報を読み込ませると自動で構造分析してテーブル形式で出力してくれる便利機能です。

これまでに使用したChEMBLのデータをMCS分析しても良いのですが、重複構造の削除など処理が面倒ですので、JChem for Excelのダウンロードページにあるデモファイルにある構造情報を使います。JChemタブから「R-group Decomposition」をクリックし、共通の骨格とそれ以外をR1, R2, R3グループとしてクエリ構造を描画します。「Generate SAR table」のオプションを付け、比較する活性値を選択します。後は自動で解析してくれます。

f:id:patcore:20201201153101p:plain

R1とR2グループのSARテーブルが自動生成されました。後はExcelの機能である条件付き書式で色付けして、分析のため見やすくしました。

f:id:patcore:20201201153055p:plain


Beyond JChem for Excel

普段使い慣れているExcelにアドインとして導入できるJChem for Excelを利用することにより、化学情報の取り扱いがずいぶんと楽になります。簡易的な構造検索機能も備わっているため、簡単な化合物データベースを作ることができました。この他にも作成したテーブルの共有機能など、ChemAxonの様々な機能を利用できるとても便利なツールです。

一方で、本格的な化合物データベースを作成しようとすると、テーブルのリレーションを定義することができない点や、外部サービスとの連携が難しい点等の拡張性の問題が出てきます。また、構造検索のパフォーマンスについても、通常はインデックスの作成や、プロキシサーバーに検索履歴をキャッシュとして残して高速化を図りますが、Excel上では利用できません。JChem for Excelで扱える化合物数は数千が限度です。

次回は数百万以上の化合物数を扱うことができる本格的な化学データベースエンジンである、JChem Baseについて紹介します。




公式ユーザーガイド:

https://docs.chemaxon.com/display/docs/jchem-for-excel-user-s-guide.md