Pirika logo
JAVA,HTML5と化学のサイト

Pirika トップ・ページ

Pirikaで化学
 物性化学
 高分子化学
 化学工学
 分子軌道
 情報化学

 その他の化学
 アカデミア
 MOOC講義資料
 プログラミング

ハンセン溶解度パラメータ(HSP):
 HSP基礎
 HSP応用
 ポリマー
 バイオ・化粧品
 環境
 物性推算
 分析
 化粧品の処方設計
 その他
 自分でやってみよう

雑記帳

Ad Space for you

 

Ad Space for you

 

 

 

Last Update

25-Jan-2019

情報化学フリー・ツールの利用:EPA T.E.S.T.

非常勤講師:山本博志 講義補助資料


2019.1.23

EPA(United States Environmental Protection Agency:米国環境保護庁)からT.E.S.T.というフリーウエアーが公開されている。このTESTというのは、Toxicity Estimation Software Toolの略だ。EPAのHPからWindows, MacOS, Linux版がダウンロードできるので、各自のシステムにあったものをダウンロードしよう。このソフトウエアーの目的は、ある化合物があった時に、そのToxicity(毒性)を予測して環境評価をできるようにしようという事だ。
EPA TEST software

分子を描いて計算ボタンを押すと、毒性に関する推算を行ってくれる。推算結果はHTMLの形で出力されるのブラウザーで簡単に確認できる。

Result of TEST estimation

その出力中に、識別子のリストもある。(2d_descriptors.txt)
これはRDKitのようなトポロジカルな指標や官能基の数など、797個の識別子になる。

全てはペーストしていないが上のようなDescriptorが手に入る。

QSAR(定量的構造活性相関)で毒性を扱う研究者であれば、このTESTというソフトウエアーの素晴らしさは既にご存知であろう。

MAGICIANを目指すなら、このソフトのできる以上の事を目指して欲しい。ソフトに付属のMolecularDescriptorsGuide.pdfとTEST User's Guide.pdfは必読だろう。

EPAのHPにはそのソフトを作成するのに使われた物性値がsdfファイルの形でダウンロードできるようになっている。
Training and prediction sets(12 MB)  used in T.E.S.T. (sdf format)

もし、やり方がわかるのであれば、TEST4_2_1の中にある、OverallSets.jarを展開してみよう。さらに詳しいデータセットが得られる。

このsdfファイルは推算式を構築した、Trainデータと予測性能を検証する用のtestに別れている。物性の種類は次のようになっている。
96-hour fathead minnow 50 percent lethal concentration (LC50)
48-hour daphnia magna 50 percent lethal concentration (LC50)
Tetrahymena pyriformis 50 percent growth inhibition concentration (IGC50)
Oral rat 50 percent lethal dose (LD50)
Bioconcentration Factor (BCF) The bioconcentration factor data set was compiled by researchers at the Mario Negri Istituto Di Ricerche Farmacologiche
Developmental Toxicity (DevTox)
Ames Mutagenicity (Mutagenicity)

Normal boiling point
Flash point
Surface tension @25
Viscosity @25C
Density
Water solubility @25C
Thermal conductivity @25C
Vapor pressure @25C
Melting Point

まず最初にやることは、このsdfファイルをテーブルに変換する事だ。詳しいやり方はこちらで説明している。問題はこのsdfファイルにはSMILESの構造式が入っていない事だ。そこで、まずsdfファイルをテーブルに変換して、その中のCAS番号からSMILESを検索して埋めていく。検索には次のようなページを使えば良い。
PubChem Identifier Exchange Service
というのがあって、CAS番号、PubChem CID, InChis, Smilesなどの分子を特定するIdentifierを他のものに一括変換できます。変換スピードが早いのが特徴です。

CTS, The Chemical Translation Service:
このページも化合物の名称などから、様々な分子のIdentifierへ変換してくれます。対応するフォーマットが広いのはいいですが、変換は遅いです。

MAGICIAN養成講座用には、ファイル分割のPro版を提供している。これは、OpenBabelを使ってmolファイルからSMILESへ変換する。

Train Test
BCF 541 135
BoilingPoint 4607 1151
Density 7125 1783
DevTox 227 58
Flash Point 6690 1672
IGC50 1434 358
LC50 659 164
LC50DM 283 70
LD50 5931 1482
Melting Point 7509 1875
Mutagenicity 4591 1147
Surface Tension 1133 283
Thermal Conductivity 352 90
Viscosity 444 113
Vapor Pressure 2006 504
Splubility to Water 4016 1004

まとめてみると上記のようなデータ・セットになる。このデータを元にRDKitを使って識別子を発生させ、PLS, PCAを使って予測式を作り、TESTデータの予測性能を検証する。ここまでは、MAGICIAN養成講座用のProツールを使えば、半日仕事で終わるだろう。最低限ここまでは自分でやってみよう。

以下は、私がやった結果となる。大事なのは、この計算は誰がやっても同じ結果になるという事だ。化学の知識があろうが、無かろうが、院生だろうが、大学生であろうが、高校生であろうが同じ結果になる。これができたところで、EPAに自分の作った予測式をT.E.S.T.に載せてくださいと言っても無理な話だ。それは、ニューラルネットワークを使った機械学習でやったとしても同じでダメだろう。既に誰かがやっているに決まっている。PLS計算のNP値を増やせば少しは改善するだろう。

LogBCF calc. by PLS NP=30


BP Calc. by PLS

Density Calc. by PLS

DevTox Calc. by PLS

Flash Point Calc. by PLS

IGC50 calc. by PLS

LC50 calc. by PLS

LC50DM Calc. by PLS

LD50 calc. by PLS

Melting Point Calc. by PLS

Surface Tension calc. by PLS

Thermal conductivity calc. by PLS

Viscosity Calc. by PLS

Vapor Presuure Calc. by PLS

Water Solubility Calc. by PLS

識別子の数を増やせば良いかもしれない。ブラウザー版のRDKitは117識別子だが、EPAのT.E.S.T.は797識別子、Mordredは1000を超え、Dragonは6000以上の識別子だ。
人工知能(AI)は知能などないから、一杯識別子を食わせれば、収束するモデルを見つけてくれるかもしれない。

データ数が138個だった時には、水への溶解度は以下のようにモデル化できた。

Solubility to Water prediction

ータ数が1000個を超えると次のようになった。

Solubility to water calc. by PLS

少ないデータで予測式を作って、データ数がどんと増えたら、本当に正しく推算できるだろうか?データ数が138個で作ったScheme(2)で1000個を計算してみると次のようになった。全く性能が出ていないことがわかる。
logS Big data

今回は4000データ以上になり、以下のようになった。Trainデータですら十分に収束しないのであるから、1000データで作った予測式を使っても予測性能は全くでないと考えられる。(単位系をmol/Lからg/100ccへ変換してある。)

Solubility to water Calc. by PLS

データセットが大きくなった時には、小さいデータセットで作った式は使い物にならない。ということは、推算と言ってもそれが合うのは内挿の時だけであり、外挿の時には使えないことになる。ということは、情報科学は常に実験科学の後追いで、推算式を構築すること自体無意味なことになる。 画像解析のように100万の画像を見せて猫を認識させたように、100万の化合物を見せて、識別子を10000作って学習させれば正しく溶解性を答えられるようになるか?アルファ・ゼロのようにコンピュータ中で自己対戦して賢くさせることができるか? ネット上の文章を片っ端から入力して自然言語解析させたように、ネット上の化合物の情報を片っ端から学ばせれば良いか?そう思うのであれば、この分野でできることは無いので誰かがやってくれるのを待てば良い。

「ビックデータを出してくれれば、計算できます」と言うのは一休さんの虎退治と同じこと。100万の画像に含まれる動物の種類が幾つあるか想像してみよう。化合物はCAS番号のついたものだけでも3000万種類はある。合わないものが出たら識別子を増やしを繰り返したところで、いつまでたっても終わりはない。

EPAのT.E.S.T.の発想はそれとは全く逆の発想に基づいている。私もMAGICIAN養成講座のページで指摘したように、「ドローンのような小型の、用途に特化したマイクロ・セルAIを多数構築する」がこれからの主戦場になると考えている。その際には、化学の知識を総動員しなければならなくなるだろう。MAGICIANにはやれることがたくさん残っている。

今回ここで、ゼロベースでできあがったものを、どう改良してEPAに提示できるぐらいの式を構築していくか? まずは自分で考えてみよう。大学で、「考えてみよう」と言うと、「わかりません」「全て覚えますので答えを教えてください」と言う学生が圧倒的に多い。いつまでも受験戦争の時の考えを引きずるのか? それで済むなら私も人間に教えるよりはAIに教える。以降のページは自分なりの推算式改良の答えを持ってきたMAGICIAN養成講座の生徒だけにリンク先を教えよう。それらのページも、あくまでも私の解釈で真実では無い。

EPAのTESTの中にはlogKow(オクタノール/水分配比率)が無い。何か理由があるのだろうか?