yu9824's Notes

マテリアルズインフォマティクス (MI) において最も重要な要素のうちの一つとして、モデルの解釈が挙げられる。

モデルを解釈することで、ドメイン知識と照らし合わせてモデルの正しさを確認することや新たな知見を得ることができる。

化学構造とその化合物の性質を紐づけて解析を行う定量的構造物性相関 (Quantitative Structure-Property Relationship, QSPR) 手法のうちの一つとして、FingerPrintを説明変数、化合物の性質を目的変数として機械学習モデルを構築する方法がある。

この手法について調査したところ、FingerPrintが対応する部分構造とそれに紐づく寄与率を化学構造上に描画することで解釈を行う手法があることがわかった。

これについて検討を行い、実際に描画を行なった結果を以下に示す。


特別なソフトを使わずに化合物の3次元構造を描画できるようにしたかった。

実際、世の中に化合物を描画するソフトはたくさんあるが、基本的に自分だけでなく見る相手にもそのソフトを使用してもらう必要がある場合がほとんどである。

一般に、会社のPCにソフトをインストールするためには複雑な申請が必要であるケースがある(特に大きな会社)。したがって、そういった会社でも使用できるようなブラウザで化合物の三次元構造をグリグリとマウスで動かしながら触れるような形で出力したいと思った。


shapで解析した結果を可視化しようとした際、よくわからないmatplotlibのエラーに遭遇した。

調べても出てこず、色々試した結果うまくいったのでエラーコードと共に対処法を示す。

バグなのか仕様変更なのかはわかっていない。


訳があってRをやらなくてはならなくなった。

環境構築をするにあたってローカルにインストールすることも考えたが、再現性やソフトの競合を避けるという意味でdockerコンテナ上に環境を構築することにした。

単にrstudioのイメージを使用して環境構築することができなかったが、いくつか工夫をすることで対処することが可能だった。

その方法をメモしておく。


自分はコードブロックの表示のために、highlight.jsを利用している。

自分はPCがMac、スマホがAndroidなので、それらでWebサイトの表示を確認していた。

たまたまWindowsでこれを確認する機会があったのだが、システムデフォルトのフォントが適用され、個人的に苦手なフォントになっていた(Windowsのコマンドプロンプトのフォントみたいな感じ、見づらくないだろうか)。

これを改善するために配布されているオープンフォントをサブセット化、圧縮、アップロードを行なったので、その手順を残しておく。


最近の投稿

【matplotlib】colorbarの高さを図と揃える
matplotlibでcolorbarの高さと図を揃える方法についてメモ。
何もhandlerが設定されていないのにlogが出力される
logの出力を止めるため、継承しているすべてのLoggerのHandlerを削除した。にもかかわらず、ログが表示されてしまった。解決するまでかなり時間がかかったのでメモ。
モダンなfingerprintの計算方法
これまで馴染み深かったrdkitにおけるfingerprintの計算方法が新しくなったらしいのでメモ。
Minimal mistakesをNetlify上でホストする【備忘録】
Jekyllの優れたテーマの一つにminimal-mistakesがある。これをNetlify上でホストする手順を備忘録として残す。
Githubで特定のコミット同士を比較する
Githubで特定のコミット同士を比較する方法の備忘録。