Machine Learnig Aided Drug Design (MLADD)

Mishima.sykに参加された皆様お疲れ様でした。深層学習のフレームワークのハンズオン如何でしたでしょうか?次回に何をやるかは未定ですが、反省会という名の(新年会?忘年会?)でテーマに関して話し合う予定なので興味ある内容があれば私まで伝えてもらえるとありがたいです。

僕はkerasを触ったことがなかったので、一通り学べて助かりました。tf.contribe.learnはできるだけ何も考えなくていいように作っているのに対してkerasはもうちょっと構築の仕組みを楽にする感じのフレームワークかなぁと。tflearn](https://github.com/tflearn/tflearn)と似たものを感じた。

尚、当日の資料とデータはGitHubにあるので必要に応じてダウンロードするなり好きに使ってください。尚slideshareを使わないのは今の職場が何故かブロックしているからですw

ここからは、最近ちょっと考えていることをだらっと書いておきます。

その昔(というか今も)CADD(Computer Aided Drug Design)という言葉はあるのだが、あれはコンピューターを利用して解析をするオペレーター(モデラーともいう)のヒトと、実際に合成するケミストがいるので、主観のぶつかり合いというか、お互いの経験による解釈の違いというのが起こりやすい。あとは精度がそんなに良くないので確度を考慮しながら結果を解釈する必要があったりして色々面倒事が多い。

最近、DeepLearningのようなそこそこ精度の高い手法を淡々と自動的に構造最適化プロジェクトに適用するような環境を作ったらどういうことが起こるのだろうか?というあたりに興味が湧いている。機械学習はヒトの解釈の余地が入らないので淡々と受け止めるしかなく、それをどう使うかというのはどちらかというとケミストに委ねられるようになるし、モデラーにとってもそれ以上の何かを出さないと存在価値がないという状況になるのかなーとか思ったり。

将棋ウォーズで常に棋神がガイドしてくれる感じに近いのかなぁ。

pychembldbでアッセイ数の多いJ.M.C由来のデータを抜き出す

土曜のテスト用データになんかないかなーと探してたのだけど、ChEMBLのサイトではアッセイ数とかでフィルタリングができなかったので。

from pychembldb import *
for assay in chembldb.query(Assay).all():
    if assay.doc.journal == "J. Med. Chem.":
        act_num = len(assay.activities)
        if act_num > 100:
            print act_num, assay.chembl_id, assay.description

これだと効率が悪いのでものすごい時間かかるけど、一回流すだけだからまぁいいやと。

pychembldbで活性値付きのSDFをつくる

次回のMishima.sykまで2週間を切りました。そろそろハンズオンの準備を開始しています。

尚、ハンズオンでは作業環境を揃えるために事前準備が必要なのでよろしくお願いします。一応cloud9でもいけるように用意しているそうなのでネットに繋げさえすればOKみたいですが。

さて、ハンズオンのためにサンプルデータを選ばなきゃいけないんだけど、ChEMBLからアッセイ系選んで含まれている全ての化合物情報をsdfでダウンロードしたけど属性に活性値が付いてなかった。

アレレのレですよ。

なんかやり方あると思うんだけど、とりあえずはpychembldbで活性値付きのsdfを出力するようなものを作った。しかも自分の中で最近ブームが来まくり100%中の100%なclickを使ってコマンドにしてみた。

from rdkit import Chem
from pychembldb import *
import click

@click.command()
@click.argument("chembl_id")
def chemblid2sdf(chembl_id):
    assay = chembldb.query(Assay).filter_by(chembl_id=chembl_id).first()
    w = Chem.SDWriter("{}.sdf".format(chembl_id))
    for activity in assay.activities:
        m = Chem.MolFromMolBlock(activity.compound.molecule.structure.molfile)
        act = activity.standard_value
        m.SetProp("ACTIVITY", str(act))
        w.write(m)

if __name__ == '__main__':
    chemblid2sdf()

尚、幽遊白書コラボでモンストに戻ってみたけど、持てる(無料)オーブの全てをつぎ込んだけど、ガチャは飛影しか出ないし戸愚呂100%中の100%は3ステージくらいまでしか進めないしで心が折れた。

心が折れたといえば、ポケモンGoも寒すぎて歩く気力も削がれた上にレベル31で飽きが来た。メタモンは取ったけど…

最近読んだ本(20161103)

電車通勤になって読書の時間が取れるようになり捗る。ホントはコーディングしたいんだけどそれはもうちょっと落ち着いてからかなぁ。今のmacbook airはバッテリーの持ちが不安だからmacbook proを買うかどうか悩ましいところ。

ProductName 白いへび眠る島
三浦 しをん
角川書店 / 691円 ( 2005-05-25 )


中華街に行きたい

中華街も色々探索したいところ

ProductName 土曜の昼は中華街
今 柊二
神奈川新聞社 / 1620円 ( 2013-12 )


しずおか食セレクション

コンセプトが見えない本だなと思ったらしずおか食セレクションを集めただけだった。

ProductName 伊豆・沼津・富士・静岡・焼津・浜名湖 「食の都」を巡る旅 ふじのくに食のガイドブック
マイルスタッフ
マイルスタッフ(インプレス) / 1620円 ( 2013-03-14 )


最近読んだ本(20161106)

ザラッとした感じが心地よい

ProductName インターフォン (幻冬舎文庫)
永嶋 恵美
幻冬舎 / 617円 ( 2010-10-08 )


料理をプロセスから体系立ててみるという本が素晴らしく良かった

料理の四面体という本がとてもよかった。

ProductName 料理の四面体 (中公文庫)
玉村 豊男
中央公論新社 / 700円 ( 2010-02-25 )


料理をするということは、 火を利用し何らかの物質(液体または気体)を媒介させて熱を加える という単純明快なプロセスモデルで説明できるという主張であった。

1478327488

要するに、水、油、空気の三点を頂点とする三角形を底面として、火を頂点とする四面体のどこかに料理というモノは位置づけられるというのが筆者の言いたいことである。

料理を経験していくと材料のアレンジ(じゃがいもを里芋に変えてみる、醤油を煎り酒や魚醤に変更してみる)は上手くなっていくように思う。本書を読むと材料でなくプロセスを上手く変更するためのヒントを得やすくなるのではないかと思った。

料理を経験していくと材料のアレンジ(じゃがいもを里芋に変えてみる、醤油を煎り酒や魚醤に変更してみる)は上手くなっていくように思う。本書を読むと材料でなくプロセスを上手く変更するためのヒントを得やすくなるのではないかと思った。

具体的な例として思いつくのは次の本に載っていたレシピだ。かんたんで美味しいのでたまに作る

  1. 砂肝を沸騰したお湯に放り込んで火を止めたら10分程熱を入れる
  2. 砂肝を適当な厚さでスライスする。
  3. ごま油、塩、胡椒を混ぜたものを砂肝に回しかける。

これだけなのだが、これってアヒージョの変形じゃないかと気がついたのが、アヒージョを作るようになってからだいぶ経ってからなのだw 気がついたときにはちょっと感動した。

といったようなことを考えると、底面の三角形は実はもっと曖昧なものなのではなかろうかとも思えてくる。結局水の沸点が100度なので

  • 水:0-100
  • 油:150-200

という温度帯で液体のくくりにしてもいいのではないかと思う。水で揚げ物は出来ないからね。

と書いておいて、ヘルシオ(ウォーターオーブン)あるじゃん。アレ使えば油なしで唐揚げできるじゃんと。

図鑑コンプまであと二種 (ポケモンGO)

ハロウィン期間中に高個体値ヒトカゲを無事にリザードンまで進化できた。

1478133197

あとはプテラ、サワムラーの二種だけど「千本浜」や「三保の松原」に篭もるのもなんか面倒くさいので10kたまごを割るために歩き回ることになりそうだ。

goプラスほしいなぁ

料理のヒント

アボカド

  • モツ鍋にアボカド
  • アボカドの天ぷら
  • 明太子で和える

ProductName 365日アボカドの本
佐藤 俊介
PHP研究所 / 1404円 ( 2013-02-01 )


乾物

  • 切り干し大根に塩レモンを入れる(煮干しダシでさっぱり作る)
  • 煮干しをリンゴ酢で酢漬けにする

中華

  • 花豆の八角煮
  • コゴミとグリンピースの粥

餃子

  • せり、鶏肉
  • 枝豆、牛肉
  • しいたけ、豚肉
  • レンコン、貝柱

ProductName ウー・ウェン 体がよろこぶ季節のごはん
ウー ウェン
家の光協会 / ?円 ( 2009-02 )