Better featurizations are required

I believe better featurizations are required, but there is a limit to physiological activity prediction only from ligand information 'cause it's a molecular recognition.

MoleculeNet: A Benchmark for Molecular Machine Learning

Results for biophysical and physiological datasets are currently weaker than for other datasets, suggesting that better featurizations or more data may be required for data-driven physiology to become broadly useful.

What features are multitask modering shared in physiological activity prediction ?

Multitask modeling relies on the fact that some features have explanatory power that is shared among multiple tasks.

I'm guessing it's a liposoluble feature such as logP expressed in Hansch-Fujita equation.

Mishima.syk #12をやりました

最近沼津でばかりやっているMishima.sykをやりました。初めての人も多くなかなか楽しい会になってよかったです。

特に、初めての発表の方々のクオリティが高かったのと、LTが名人芸に達してきている人たちがいて最高でしたね。 あと、今回休憩という名のバッファーを15分しか撮っていないにもかかわらず、凄腕タイムキーパーのおかげでほぼ時間通りに演題が進行して最高でした。

私のプレゼンは訳あって公開できませんが、みんながんばれ(適度に!)というエールとエスプリとエスプレッソを2で割って3余らした感じになりましたが、ちょっと真面目に考えないといけない状況なのかなーとは思っています。ルールを逸脱した手を打てる状況はあまりないからそういう意味では低分子化合物戦略は機械学習と共存する部分が増えていくのかもしれませんが、当分はウェットの知識のあるドライなケミストが強い時代がちょっと来ると思います。

私自身は工学部出身で、「シミュレーションできない学問は未熟な学問である」という立場を貫いてきて、化学反応とかドッキングシミュレーションを偉大なる波動方程式でシミュレートする未来が正しい世界の在り方に違いないとずっと信じてたんだけど、実際はその方向に行かなくて、(不完全な存在である)メディシナルケミストの合成案をシミュレーションするほうが(工学的に)うまくいくってのがあれなんですよね。

なんか歪んでいる感はあるから揺り戻しはくるような気がするけど、当面不確定な未来を予測する手段として機械学習が人間に置き換わる可能性はそこそこあるのかなと思っています。そういう状況で人のやることは、将棋で例えると、新たな駒(桂馬に新たな機能を付加した桂馬金とか)の開発(ルールの更新)みたいなことなのかな。ま、それはモダリティってことなんでしょうけどね。

昼は電車遅延のせいで、幅田屋でカレー南蛮そばをいただきました。カレー感はあまりないけどうまい。

1529926539

@tkochi0603チョイスの美味しいお店

刺身盛り合わせとマグロの味噌焼き

1529926542 1529926544

そして鳥

1529926546

二次会はうさぎの木

生ハム盛り合わせと、肉

1529926549 1529926551

ワインが美味しかった。

A Combination of QSAR Molecular Docking (or X-Ray Structure ) and Molecular Dynamics

最近MDと従来のQSARテクニックを組み合わせた手法が提案されていますね。

アプローチとしては静的な状態である三次元構造に動的な情報を付与させるために10ns-20ns程度の短いMDをかけてからサンプリングして、従来の3D-QSARの記述子を計算してMEAN,MEDIAN,SDを取るという方法です。

5th Autumn School of Chemoinformatics in Nara, 2017ではThierry Langer先生がDynamic Pharmacophores: A New Way to Enhance Virtual Screening Screening Efficacy in Early Drug Discoveryということで、ファーマコフォアモデリングでアンサンブルをとっていた。

11th ICCSではShuzhe Wangの発表したMolecular Dynamics Fingerprints (MDFP): Combining MD and Machine Learning to Predict Physicochemical Propertiesというポスターは独自記述子を定義していて興味深かったし、Fourches, DenisのNext-Generation MD-QSAR Models of Dynamic Kinase-Inhibitor Interactions Based on Machine Learning and Molecular Dynamicsは3D-WHIMの拡張で大変すごかった。特にMDを使うことでactivity cliffの解釈ができていたという点に非常に感銘を覚えた。activity cliffは単純にリガンドからの類似性っていう人間主観のアプローチがもたらすミスマッチだからそれをきちんと説明できるのは本当にすごいと思います(立体障害じゃないやつを)。

このようなアプローチではMDを計算してサンプリングしたあとに、どういう計算で静的な状態を記述するかというのが重要なのだと思いますが、勘のいいあなたはもう既におわかりのように、既にFMOを組み合わせた手法が提案されています。この手法はかなりプロミッシングではないかなーと感じています。なぜかわからないヒトは「すごいよFMO!」を10回くらい読み直しましょう。

そもそも、QM/MMやらんでMDでサンプリングして力場よりずっと精度のいいFMO計算なんかして順番が逆なんじゃないの?とか思っていたが、実際やってみると精度出そうだし不思議だなーと思っていたのだけど、さっきシャワーを浴びていたらなんとなく理解して嬉しくなったのでちょっとエントリーをこしらえてみました。

それぞれの演題には既にペーパーでているのが多いので興味があったら追いかけるといいと思います。

Q: What is the meaning of B.C. and A.D. ?

ICCSではたくさんの刺激を受けた。特に今まであまり気にしなかったけど、あーなるほどと考えさせられたのが以下のやり取り。

今まで漠然と「ChEMBL便利!」ぐらいにしか思ってなかったけど、振り返ってみるとこういうデータがパブリックなものになったことはすごい大きなことだったと。実際にChEMBLなかった頃のサンプルデータとか本当に大変だったからね。

Mishima.sykだってハンズオンすると大抵ChEMBLのデータを使っていて、サンプルデータに関して悩まなくていいし、新しいアルゴリズムの実証もChEMBLを使えばいいから、どのデータを使うかに関して悩まなくて良くなったのはすごい大きい。

なんでもオープンにするべきかはまた違うと思うけど、論文にするようなデータは最初から再利用できる方向で著者も用意しておくのが本当はいいんだろうなぁと思う。パテントもそうならんかね、本当に。

Answer: Before ChEMBL(B.C.) After Data(A.D.)

Mishima.syk #12やります

おまたせしました。ちょっと間が空きましたが6月の終わりにやります。

DisGeNETとかopen phacts触ってみましたとかいう話をしてみたいところであるが。

Quantitative Structure-PK Relationship

個人的には、QSARがMDやMOのようなシミュレーションを併用しているように、QSPRのあたりもPBPKやPK-PDなどのシミュレーションを活用してもっとうまくやる日が来ないかなと願っている。

なんかそんなこと書いてたよなーと探したらいくつか見つけたが、その当時はRに傾倒していたのか…そして8年前か、前職で無駄にサボりすぎたな…

最近Novartisからそのあたりの論文出たので早速読んでみた。こういう論文テンション上がるわ。

スライドも見つけたのと、著者を調べたらsimulation plusからnovartisに移ったのかな?でもこのあたり精力的にやるんだろうなぁ。

論文の内容は一部はよくあるQSPRでCLintを予測してPBPKモデル(一部の人達から熱狂的支持をうけるGastroPlus、でもちょっと使いづらい)に渡してBioavailability(F)を予測するというもの。

論文中では実験値もQSPRから予測したCLintでも全然あってない、y=x+aみたいな横棒の線になってた。でもCL(local)っていう局所予測モデルになおすとすごく改善していたので、おーすごいすごいこれはと読んでたけど。これはgastroplusのFに合うようにCL(local)をoptimizeして、それをQSPRで学習したっぽい… ちょっとずるいけど仕方ないのかなぁ。以前も似たようなことあったし。

Figure.5のランドスケープは有用そう、今度試したい。

2部はPBPKでシミュレーションして、PLSで重要そうなパラメータを出してくるっていう話。スキャフォールド依存的なそういうパラーメータがシミュレーションで見つかると面白いよなぁと思うが、こういうことやるには簡易でスループットの高いPKアッセイ系がないと難しいかなと思った。

Dive into DeepChem

やっと時間が取れたので嬉々としてコードリーディングしてるけど、謎のディレクトリが結構あってexamplesに移したほうが良いんではと思うものもあった。これから洗練されていくのだとは思いますが、強化学習とかが一緒に入っていると使いづらいんじゃないかなぁ(自由度がなくなるっていう意味で)。

このあたりは、ウェブフレームワークのフルスタックがいいのか、薄いラッパーがいいのかっていう問題に似ている気がするけど、Flask使いの僕としてはdeepchemはとりあえず使いつつ、便利な機能を参考にしつつ薄いフレームワーク作って柔軟に対応できるようにしていくようになっていく気がする。

あとドッキングシミュレーション周りのコードに興味があるんだけど、MOEとか schrodingerに対応してほしいなと思うけど、これは自分でやるかもしれない。ただ、ドッキングシミュレーションの大雑把な情報をDLにかけて高次の抽象表現得られるとは全然思わない。むしろCNNのようなコンボリューションの効果のほうが、いわゆるMDのような動的な効果を考慮するようになっていいんじゃないかなぁと考えている。

ただし、自分のスタンスとして、ドッキングってのは反応の前後でproductとかreactantが変化しない化学反応 だと捉えているので、そのあたり表現できない荒い計算は未来が感じられない。正直、軌道の係数とかインプットにしてみたい。

pafnucyも読む。

DeepChemのソースコード黙々リーディング会っていう、ソースコード読みながら注釈入れつつGithubで共有して、そのあとリパブリューでビールをガブガブ飲む会を思いついたんだけど、興味ある人おるかな?

data

dataいじり用

dock

docking関連

feat

記述子関連

  • adjacency_fingerprints.py
  • atomic_coordinates.py
  • basic.py
  • binding_pocket_features.py
  • coulomb_matrices.py
  • fingerprints.py
  • graph_features.py
  • mol_graphs.py
  • nnscore_utils.py
  • one_hot.py
  • raw_featurizer.py
  • rdkit_grid_featurizer.py

hyper

parameter最適化用

metalearning

metrics

sklearn.metrics

models

molnet

nn

rl

強化学習

splits

データセット分割

trans

tree.txt

utils

最近買った本

深層学習、強化学習関係の本を買ってみた。

速習強化学習は八重洲ブックセンターでパラパラめくったら良さそうだったので購入。あとAIっていうラノベだかファンタジーの新ジャンルが出来ていて花開いているなと感じた。

それから、深層学習、強化学習をCで実装するっていう漢だなと思える本があった。

ProductName 速習 強化学習 ―基礎理論とアルゴリズム―
Csaba Szepesvari
共立出版 / 3240円 ( 2017-09-21 )


詳解ディープラーニングも読み物として良さそうだなと思ったんだけど、分厚かったので却下、家に帰ってポチるかとアマゾン開いたらKindleでも買えたのでそっちを購入、でもfire8だとちょっと文字が小さい。固定レイアウトはあんまりよくないよね。

SMILESで任意の原子を任意の位置に置きたい

例えば

CHEMBL361227

でフッ素原子が文字列の最後尾に来るようなSMILESを得たいとする。

RDKitにはRenumberAtomsというメソッドが用意されているので、原子のインデックスを変更してからSMILESに出力すればうまくいくんじゃないかと思いついたのでやってみた。

from rdkit import Chem

mol = Chem.MolFromSmiles("Fc1ccc(Nc2[nH]cnc3ncnc23)cc1")
l = list(range(mol.GetNumAtoms()))
max = l.pop()
l.insert(0, max)

new_mol = Chem.RenumberAtoms(mol, l)
print Chem.MolToSmiles(new_mol, canonical=False)

出力結果

c1c(F)ccc(Nc2[nH]cnc3ncnc2-3)c1

うまくいかない

今回の場合はアルゴリズムの空気感を読んでリバースすれば上手くいった。

from rdkit import Chem

mol = Chem.MolFromSmiles("Fc1ccc(Nc2[nH]cnc3ncnc23)cc1")
l = list(range(mol.GetNumAtoms()))
#max = l.pop()
#l.insert(0, max)
l.reverse()

new_mol = Chem.RenumberAtoms(mol, l)
print Chem.MolToSmiles(new_mol, canonical=False)

結果

c1cc(Nc2c3ncnc-3nc[nH]2)ccc1F

やっぱりランダムにSMILESを生成してみて、お目当てのSMILESが出るまでトライする方法しかないんだろうかね

ChEMBLからフラグメントスクリーニングのアッセイ系を検索したいのですが

ChEMBLからフラグメントスクリーニングのアッセイ系を検索したいのですがやり方がわかりません。誰か知っていたら教えてもらえると助かります。

とりあえず、キナーゼのアッセイ系で、分子量250未満の化合物が20化合物以上登録されている系を抜き出してみました