Date: 2024/04/30
Yuichi Katsumura
SAS Institute Japan Ltd.

アドイン：Toolkit for Materials Informatics について
1. このアドインの目的
マテリアルズ・インフォマティクス、ケモ・インフォマティクスのためのアドインです。
以下のようなことが可能です。


分子記述子を生成する
フィンガープリントを生成する
分子の描画予測モデルで記述子を使用するための前処理

分子記述子の生成、フィンガープリントの生成、分子の描画などは、RDKit (RDK)を使用しています。

2. システム要件







JMP 18 以降
表示言語は、英語および日本語のみ
Windows OS
以下の Python Package がインストールされ、JMP と連携できること
RDKit
NumpyPandas

Python integration の機能（JMP 18 の新機能）を利用しています。

3. テスト環境

JMP 18.0
Windows 11English, JapanesePython 3.11.5RDKit 2023.09.6

14. 事前の準備
1)

RDKit のインストール
1. [ファイル]＞[新規作成]＞[JSL スクリプト]を選択します
2. 以下のスクリプトを入力して[編集]＞[スクリプトを実行]を選択します

Python Install Packages("numpy pandas rdkit");2)

アドインのインストール
1. 「ファイル」＞「開く」で「Toolkit for Materials Informatics.jmpaddin」を選択して、インストールします。
2. 「アドイン」メニューにある「 Toolkit for Materials Informatics」＞「Check PythonPackages」を選択します。以下のようなウィンドウが表示されれば、問題ありません。

5. 使い方このドキュメンテーションでは、ESOL_delaney-processed.csv (Lambard) を使用しています。

[1] 分子記述子/フィンガープリントの生成
SMILES から分子記述子/フィンガープリントを生成します。
1) 「アドイン」＞「Toolkit for Materials Informatics」＞「Descriptor Calculation」を選択します。
2) SMILES が入力されている列を「Y,SMILES」に指定します。手法の選択の一覧から生成したい、記述子、フィンガープリントにチェックを入れます。


3)
4)

記述子、フィンガープリントは、RDKit を使用して生成しています。
https://www.rdkit.org/docs/GettingStartedInPython.html#list-of-availabledescriptors
記述子（Descriptor）を選択した場合、上記のページの「List of Available Descriptors」の記述子が生成されます。
Morgan Fingerprints、MACCS Keys Fingerprint、RDKit Fingerprint については、上記のページの「List of Available Fingerprints」をご覧ください。
Morgan Fingerprints については、半径とビット数を指定してください。
「OK」ボタンをクリックすると、選択した特徴量が生成されます。
終わりましたら、「閉じる」ボタンをクリックします。

[2] 分子の描画
SMILES から分子を描画し、データテーブルに追加します。
1) 「アドイン」＞「Toolkit for Materials Informatics」＞「Drawing Molecules」を選択します。
2) SMILES が入力されている列を「Y,SMILES」に指定します。生成する画像のサイズを指定します。
3) 「OK」ボタンをクリックすると、データテーブルに生成された画像が入力された列が作成されます。

4)
5)

6)

RDKit を利用して、画像を生成しています。
https://www.rdkit.org/docs/source/rdkit.Chem.Draw.html#module-rdkit.Chem.Draw
列名の一覧から画像の列を右クリックして、「マーカーとして使用」を選択すると、画像をマーカーとして使用できます。

画像をマーカーとして使用する場合、画像が見づらい場合は、マーカーのサイズを大きくするか、画像を生成する際の線の太さを調整してみてください。

[3] 前処理
以下のような前処理を行うことができます。


標準偏差が 0 である列を除外する
最も頻度が高い値の割合が閾値以上である

1)
2)「アドイン」＞「Toolkit for Materials Informatics」＞「Preprocessing」を選択します。
記述子、フィンガープリント等が入力されている列を「Y,列」に指定します。「OK」ボタンをクリックします。

3)「標準偏差が 0」、「最も頻度が高い値」のボタンをクリックすると計算が行われ、列が除外されます。

4)

例えば、「標準偏差が 0」のボタンをクリックすると、各列に対して標準偏差が計算されます。標準偏差が 0 であった列に対して、除外の設定が行われます。どの列が除外されたかについては、レポート下の「結果」のアウトラインに表示されます。

5)「最も頻度が高い値」をクリックすると、例えばある列に、0 と 1 の値が入力されおり、0 の頻度が 99%など、「閾値」に設定した値以上の場合（デフォルトは 95%）、その列が除外されます。

「閉じる」ボタンをクリックすると、ウィンドウが閉じます。

[4] 部分構造の検索指定した SMILES が部分構造に含まれるか否かでデータを検索、サブセットできます。
1) 「アドイン」＞「Toolkit for Materials Informatics」＞「Substructure Searching」を選択します。
2) SMILES が入力されている列を「Y,SMILES」に指定します。部分構造の描画で検索したい構造を描画します。SMILES が表示されるので、「Copy」ボタンをクリックして、「クリップボードから貼り付け」ボタンをクリックします。
3) 「OK」ボタンをクリックすると、データテーブルに「Substructure: <SMILES>」という列が追加されます。True という値が入力されているのが、部分構造がマッチした行です。「サブセット」ボタンをクリックすると、マッチした行のみがサブセットされます。

部分構造の描画は、以下のソフトウェアを使用しています。
JSME Molecule Editor - 3-Clause BSD License
使用方法については、以下のページをご覧ください。
JSME Help (jsme-editor.github.io)引用文献
RDKit: Open-Source Cheminformatics Software. [Online] [Cited: 9 7, 2023.]
https://rdkit.org/.
Lambard, Guillaume. [Online] [Cited: 9 7, 2023.]
https://github.com/GLambard/Molecules_Dataset_Collection.