パトコアの技術ブログ

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

パトコアの技術ブログ

ケモインフォマティクスツールのコンソールからの利用

f:id:patcore:20201007190218p:plain

投稿者 Patcore, Inc.

前回の投稿ではGUIで操作する化学構造描画ツールの紹介をしました。GUIでの操作は直感的でわかりやすく、人間にとって親切なインターフェースを提供してくれます。一方で、数百-数千の化学情報を一度に変換したい、バッチ処理をしたい、他のツールと連携させたい、といった場合は、コマンドで操作できると便利です。

そこで、今回はコマンドラインで操作するツールについて紹介いたします。

  • molconverter
    化学情報を変換する。
  • mview
    MarvinViewを呼び出して、構造の確認をする。
  • cxcalc
    Calculator Pluginsを使った物性計算を行う。

目次

インストール方法

前回の記事でMarvinSketchのインストール方法を説明しましたが、標準の設定ではMarvin Suitesとして関連ツールも同時にインストールされます。今回紹介するMarvinViewやコマンドラインツールもMarvin Suitesの一部なので、MarvinSketchが使える状態であれば、特別な設定は不要です。

コマンドラインツール

化学情報の変換

化合物の構造を表現するフォーマットは多数あるため、複数の情報ソースから集めた化学情報を整理するためにはデータの変換が必要です。molconvertを使えば簡単に変換できます。例として、カフェイン分子を使ってみます。

f:id:patcore:20201007201441p:plain:w300

以下のコマンドではカフェインのSMILES Stringを基に、MOL形式に変換してファイルとして出力しています。

molconvert mol 'CN1C=NC2=C1C(=O)N(C(=O)N2C)C' -o caffeine.mol

オプションを付けて細かな設定も可能です。以下のコマンドではcaffeine.molのMOLファイルから構造をインポートし、その際に芳香族性の変換と明示水素を除くオプション:a-Hを付けています。結果はSMILES Stringとしてコンソールに表示されます。元のSMILESから変化していることがわかると思います。 構造の表記揺れはデータクレンジングなどの前処理の際に面倒になりますが、molconvertを使うと一発で変換できます。

molconvert smiles:a-H caffeine.mol
//結果
Cn1cnc2n(C)c(=O)n(C)c(=O)c12

画像にも変換できます。幅100px, 背景が黄色のpngイメージを作成しました。

molconvert png:w100,#ffff00 aspirin.mol -o output.png

f:id:patcore:20201007190207p:plain

SMILESだけでは構造を理解しにくいので、mviewを使って構造式ビューワーを呼び出すと便利です。|パイプを使って出力結果をmviewに渡しており、その場で構造を確認できます。

molconvert smiles:a-H caffeine.mol | mview -

f:id:patcore:20201007190210p:plain:w300

mviewはMarvinViewを呼び出すコマンドであり、オプションを指定することで範囲やレイアウトの指定ができます。

例として、PubChemのアッセイデータ(AID: 1942)をダウンロードしてみました。スクリーニングに使われた2405化合物の情報が含まれていますので、一部のみ取り出してマトリックス形式で表示してみます。先頭から50番目の化合物から数えて、100個化合物を表示します。

mview [file_name].sdf -s 50 -n 100 --gridbag

f:id:patcore:20201007190203p:plain

オプションですが、Name to StructureDocument to Structureを使うと、化合物名(日本語・中国語対応)と構造の相互変換や、論文などのドキュメントから化合物情報を抜き出すこともできます。

molconvert smiles document.pdf
//結果
Clc1ccccc1
ClC1=CC=CC=C1
...

物性値の計算

cxcalcはCalculator Pluginsのコマンドラインツールです。化合物の物理化学特性や、分子記述子の計算を行います。

pKaを求めてみます。caffeine, aspirin, morphine, fluvastatinの構造情報を持つinput.sdfファイルを作成しました。結果がテーブル形式で表示され、最も強い酸性度と塩基性度を示す原子のそれぞれ2つの結果が表示されます。

cxcalc input.sdf pka
//結果
id      apKa1   apKa2   bpKa1   bpKa2   atoms
1                       -1.16   -9.41   4,10
2       3.41            -7.14           12,3
3       10.26   13.78   9.12    -3.33   21,17,2,17
4       4.54    14.64   -2.84   -2.89   15,9,12,9

電荷を計算して結果をMarvinViewで確認するコマンドは以下のようになります。

cxcalc input.sdf -M charge | mview -

f:id:patcore:20201007190214p:plain

分子量と、pH = 6.4での logP、logDの計算は以下のようになります。

cxcalc input.sdf -mass logp logd -H 6.4
//結果
id      Molecular weight        logP    logD[pH=6.4]
1       194.194 -0.55   -0.55
2       180.159 1.24    -1.64
3       285.343 0.90    -1.52
4       411.473 3.83    1.97

Van der Waals 分子表面積、ドナー・アクセプター数の計算は以下のようになります。

cxcalc input.sdf vdwsa mass donorcount acceptorcount
//結果
id      Van der Waals surface area (3D) Molecular weight        donorcount      acceptorcount
1       269.12  194.194 0       3
2       246.18  180.159 1       3
3       388.43  285.343 2       4
4       593.41  411.473 3       4

トポロジーについても自動で計算してくれます。

cxcalc topanal input.sdf
//結果
id      Atom count      Aliphatic atom count    Aromatic atom count     Bond count      Aliphatic bond count    Aromatic bond count     Rotatable bond count    Ring count      Aliphatic ring count    Aromatic ring count     Hetero ring count       Heteroaliphatic ring count      Heteroaromatic ring count       Ring atom count Ring bond count Chain atom count        Chain bond count        Smallest ring size      Largest ring size
1       24      5       9       25      5       10      0       2       0       2       2       0       2       9
        10      5       5       5       6
...

Calculator Pluginsを使ってどの様な計算ができるか、といった情報は、公式のドキュメントサイトにまとめられています。色々な計算ができる強力なツールですので、ぜひ覗いてみて下さい。

インターフェース

今回紹介したコマンドラインツールの機能は、ChemAxon社の様々なアプリケーションで使うことができます。前回紹介したMarvinSketch、エクセル等で化学情報を扱うJChem for Office、化合物DB管理アプリケーションIJC, Plexus等があります。また、ワークフローツールであるKNIMEやBiovia社のPipeline Pilot上でノードとしても使用することができます。

そのため、今回紹介したコマンドをわざわざコンソール上で使用する機会は少ないと思います。一方で、コマンドを利用するとオプションを指定した細かい制御をすることができますし、ツール自体への理解が深まるというメリットがあります。

詳細なオプションの確認はChemAxon社の公式ページや、molconvert --helpなどのマニュアルを参照してください。