DeepChem(Pythonライブラリ)について

Abstract

  • DeepChemhaは,分子構造から値を予測するための,包括的なフレームワークを提供するPythonライブラリ
  • Schrodinger社協力のもと,ディープラーニングを用いた最新手法が実装されている
  • エネルギー予測,溶解度予測,溶解自由エネルギー予測,親油性予測などの回帰・分類手法が実装されている
  • 電荷行列からFingerprintまで,幅広い分子特徴抽出法が実装されている

 

DeepChemは,Stanford大学のB. RamsundarV. Pandeが開発したマテリアルデザインのための包括的なフレームワークを提供するPythonライブラリです.最近では,計算科学用シミュレーション・解析ソフトを提供するSchrodinger社も開発に加わっており,最も注目度&利便性の高いマテリアルデザイン用ライブラリの一つでしょう.今回は,Pandeグループが出した最新の論文をベースに,DeepChemでは何が行えるかを眺めてみたいと思います [Z. Wu et al., Chem. Sci. 9, 513 (2018)].

 

DeepChemの使用法

上述したように,DeepChemはPythonライブラリです.Tensorflow-gpuが動く環境があれば,Anacondaで簡単にインストールすることができます.また,Dockerイメージも既に提供されているので,多くの環境で簡単に動かすことが可能です.

まず初めに,DeepChemを用いて予測を行いたい分子構造をSMILE記法に変換します.SMILE記法は,分子構造を文字列に変換する表記法の一つで,rdkitこちらのサイトで簡単に変換することができます.

次に,一行目に各列のラベル,それぞれの列に[分子ID,SMILE記法,物理量]と並んだcsvファイルを準備します.DeepChemは,この値を教師データとしながら,分子構造と予測対象の値の関係を学習していきます.この時,ユーザは適した分子特徴抽出法とモデルを選ぶ必要があります.DeepChemの計算までの流れを図1にまとめました.

f:id:MaterialDesign:20180114104733j:plain

図1. DeepChemの計算までの流れ.

 

データセットを用いた豊富な実験例

本ブログを読んでいる方の中には,自分たちが直面している課題に対して,適したモデルや問題設定がわからない方もいると思います.

そのような場合は,提案者が行っているDeepChemを用いたデータセットの実験結果を眺めることが解決法の一つとなります.Z. Wu らが出版した論文中には,様々なデータセットに対して,モデルと分子特徴抽出法を変えながら,ベンチマークを取った結果が詳細にまとめられております [see Figs. 7-15].類似したデータセットを見つけることができれば,モデルや特徴量を選ぶ際に有用な情報になります.

f:id:MaterialDesign:20180114104041p:plain

図2. 論文中で用いられているデータセットの種類.広範囲のスケールに広がる問題に対応できていることがわかります [Z. Wu et al., Chem. Sci. 9, 513 (2018)].

 

こんな企業課題に使える

以上を踏まえて,現在の実装で,DeepChemを用いて解くことができる企業課題の例を挙げてみました:

  • 対象の病気に対して,より高い効能を持つ薬の提案
  • 安価な合成香料のデザイン
  • 類似した効能を持つ新規化粧品の開発
  • より安定した塗料提案

一方,分子シミュレーションを行ってきた筆者が思う,DeepChemでは行うことが難しそうな例とその理由も挙げてみます:

  • ポリマー材料の粘性や弾性予測:これらの現象は,ポリマー同士の絡み合いなど,分子構造よりもう少し大きな要因(メゾスケール)が支配的であり,入力情報として分子構造しか持っていないDeepChemは,予測が困難だと思います.
  • 混合溶液:DeepChemの基本設計は,「分子構造の変化によって引き起こされる値の予測」ですので,他の物質との相互作用を複雑に考慮することは,基本的に難しいでしょう.
  • 温度,圧力による変化:上述した理由から,温度や圧力などの熱力学的変数による変化の予測も,DeepChemでは難しいと思われます.
  • SMILE記法で分けることができないもの:DeepChemは,分子構造の入力法としてSMILE記法を採用しています.なので,SMILE記法で分類できないもの,例えば同位体などは区別できません.

ただ,いずれにしても,こんなに使いやすいライブラリは他にありませんので,上記のような課題を持つ企業は,研究開発に取り入れていくと良いかもしれません.