【W7】活性予測のための機械学習モデル_04_Step2_前編
【W7の目的】
ターゲット分子(EGFR)に対して新規な化合物の活性を予測するために、様々な教師あり機械学習(supervised ML)アルゴリズムを使用する方法について学習します。
(引用元)
【データの前処理】
Ligand-based screening: machine learningメタノード
Step1で今回の問題を決めました。そして4511化合物をEGFR阻害活性pIC50 = 6.3を基準として2群に分類しました。
Step2ではデータの前処理を行います。
機械学習アルゴリズムに合わせた入力データ加工を行います。
特に重要なのが化合物のエンコーディングですが今回のデモデータではMACCSフィンガープリントを選んでいます。
【Number To String】
過去に紹介してますが、日本語化されたディスクリプションを引用すれば
列(または一連の列)内の数値を文字列に変換します。
前回Step1で活性のあるなしの真偽値をDouble型で生成しました。判定結果は文字列すなわちString型でないと後の処理に困るのでここでactivityカラムのデータ型を変換しています。
結果:
activityカラムは「0.0」「1.0」という文字列(上図「S」はStringのS)データに変わっています。
【化合物エンコーディング】
magattacaさんの記事に詳しく紹介されています。
機械学習のために、化合物を特徴のリストに変換する必要があります。
W4ですでにエンコード方法は見てきました。
今回もフィンガープリントを利用して化合物の特徴量抽出を行います。
すでにW4でも体験された通りとは思いますが、化合物をいかに表現するかで機械学習の予測精度にかなりの影響があります。
基本的な作業仮説として
我々が分子の類似性に興味がある理由として,「類似した化合物は似た性質を持つ」というsimilar property principleというものが挙げられます.ある生理活性を持つ化合物と似た構造の化合物はやはり同じような生理活性を持つというわけです.
入力化合物の特徴量が似ていたら、似た性質を示すと仮定して予測モデルを構築します。微小な化学構造の違いでも活性が変わることはしばしばありますが、その変化を表現できる特徴量を選べるかどうかで予測性能が変わりそうだとは思えますね。
似ている化合物は果たして似た活性を示すのか?
についてはPy4chemoinformaticsで示してくださっている実例をご覧ください。
今回のデモデータではMACCSのみで体験していますが、Fingerprintだけでも多様な選択肢がありますし、記述子まで考えたらもう果てしなく研究が進んでいますね。
例えばですが記述子の一例としてMordredに関してはこちらの記事がオススメです。
商用ならMOE, iCATS, alvaDesc, ADMET predictor…綺羅星のごとくありますね。
機械学習アルゴリズムの選定や最適化が自動化される昨今、むしろ化合物のエンコードをどう設計するかが最新の研究対象だったりしませんか?
今回はそのあたりはすっかり割り切って進めますが、本当に奥深いと言うか底知れないといつも感じます。
【RDKit Fingerprint】
こちらのノードでのMACCSフィンガープリント算出に関しては下記の記事で詳しく書いてますので割愛します。
設定:
結果:
【Column Filter】
このノードの説明は何回かしてきたので今回も割愛します。
設定:
結果:
activityカラムが予測対象となる特徴量すなわち目的変数。
MACCSカラムが教師あり機械学習で用いる説明変数(のもと)となります。
用語説明として、下記のサイトがわかりやすかったので紹介しておきますね。
機械学習における特徴量とは、物事や事象などの特徴が表現されたデータのことです。
特徴量はただ単に、特徴が表現されたデータのことで、説明変数、目的変数の両方とも特徴量ということができます。
機械学習における目的変数とは、予測したい変数のことです。
説明変数とは、目的変数を説明することができる変数のことです。
次のBit Vector Generatorノードで、MACCSカラムを説明変数として今回実際に用いる形に整形します。
次回へつづく。
おまけ:
【化合物の特徴量抽出の研究】
先ほども述べたとおり、化合物をいかにコンピューターで扱える情報へと翻訳(エンコード)するか、すなわち化合物の特徴量をどうやって抽出するかの研究についてはW4でも紹介しました。
(再掲) https://note.com/knimesupportteam/n/n9c1aa4a164bf
今も世界中で研究が進められています。
例えばですが、深層学習のためにどのように化合物を表現するかも問題に合わせて工夫されるようです。Schneider教授らの総説を紹介しておきます。
正直言ってDeepLを駆使し、かつ数学的な説明はほぼ飛ばして読みましたが、ケモインフォマティクスの初心者にも面白く読めました。
創薬化学者が化合物の性質などを推測する際に、化合物の構造をどのように捉えているかをあらためて考えた上で、コンピュータに処理できる形に翻訳しているのだなと感じました。まさにRETHINK。
グラフニューラルネットワーク(GNNs)を用いた化合物の特徴量抽出によって、人間が定義した記述子よりも化合物プロファイルの予測性能が高く、しかも創薬化学者に予測理由を可視化して見せることができる可能性が紹介されていて、今後の研究の進展が楽しみになりました。
NNs for molecular property prediction have been shown to outperform human-engineered molecular descriptors for several biologically relevant properties.”
“GNNs seem particularly suitable in the context of explainable AI (XAI)
もちろんこれまでと同じく全能の手法なんてそうそう見つかるもんではないんですが、まだのびしろがあると実感できたことが嬉しいです。
記事を読んでいただきありがとうございます。 先人の智慧をお借りしつつ、みなさんに役立つ情報が届けられたらと願っています。 もしサポートいただけるなら、そのお金はKNIMEの無料勉強会の開催資金に充てようと思います。