いろいろ倉庫

KNIME、EXCEL、R、Pythonなどの備忘録

【KNIME】化合物を扱いたい。

・KNIMEの使い方は様々にあるが、そのうちで特に発達している利用法の1つにケモインフォマティクスがある。化学情報学や計算化学と日本語訳される学問で、化学物質の性質を情報学の観点から表現・解析・予測する学問らしい。せっかくKNIMEを扱っているので、ケモインフォマティクスを少し齧ってみたいと考えた。

・前準備として、まずデータセットをダウンロードした。今回は、MoleculeNetから、化合物のデータセットを借りた(詳細は下記リンクを参照)。

moleculenet.org

・siderというデータセットがサイズ的に扱いやすそうだったので落とし、解凍したところ、csvファイルだったので、とりあえずfile readerノードで読み込んでみた(下図)。

f:id:choron81:20211212220401p:plain

・SMILESは構造情報で、各項目は標的臓器などを表しているらしい。分類問題のお試し用データセットだが、今回は分類問題を解くことが目的ではない。

・また、化合物情報を扱う前準備として、Chemistry、CDK、RDkitのExtensionは最低限入れておいた方が良いらしい。

・現在、構造情報であるsmilesが、文字列(String)として認識されているので、これを構造情報の型(SMILES)と認識させる必要がある。そこで、molecular type castノードを実行すると、構造情報として認識された(下図)。

f:id:choron81:20211212221418p:plain

・これだけだとつまらないので、構造式を描画させてみる。構造情報列の列名を右クリックして、Available RenderesからRDkit 2D descriptionを選択する(下図)。

f:id:choron81:20211212221524p:plain

f:id:choron81:20211212221716p:plain

・セルの大きさに合わせて表示されるので、セルを大きくしないと構造がつぶれてしまうが、一応描画された。

・例えば、相同性をざっくり見たければ、Fingerprintを算出し、tanimoto係数を求めればよい(下図)。

f:id:choron81:20211212222033p:plain

f:id:choron81:20211212222307p:plain

・これを使ってクラスタリングしたければ、Distance Matrix Calcurationノード(tanimotoを選択)で距離を算出する(下図)。その先の解析は、Hierarchical Clusteringノードとかk-medoidsノードとかにくっつけても良い。

f:id:choron81:20211212222654p:plain

・今回の教訓は、何も考えずにデータを放り込むと、私のメモリ4GのPCは一瞬で固まるということ。

 

終わり。