生成モデルを使って何するの?

生成モデルを使ってより良い化合物提案を効率的に行うアプローチが今年もいくつも提案されています(新しいかどうかは別にして)。

最近だと、2017年に提案されたREINVENTのスコア関数を工夫し、ここにファーマコアを使うというものが出ています。

REINVENTは強化学習で方策をかえるやつだから、スコア関数だけ工夫をすれば色々出来て楽しいけど、実際のプロジェクトで成果を出そうと思うとセンスを問われますね。それから、せっかくファーマコフォアを使っているのだから多様なスキャフォールドを提案してきてほしいけど、REINVENTだとなかなか難しそうに感じるのだけどそのあたりどうなんでしょう?単に化合物ライブラリをファーマコフォアでヴァーチャルスクリーニングかけるほうが良い結果を得られるような気がします。

自分がこの手法に期待するとすれば、 市販化合物に存在せず、かつ合成可能であり、ファーマコフォアを満たす新規な化合物の提案 ということになるのかなと。

もう一つちょっと前にpublishされたのがVAEを使ったもので、ドッキングシミュレーションのスコア関数をたよりに潜在空間を探索するもの(多分、アブストしか読んでない)

ちなみにREINVENTのスコアにドッキングスコアを放り込む方法が既に提案されています。

ただ、ドッキングスコア自体がかなり荒い評価関数なのと、ドッキングポーズの推定がそもそもあまり精度が高くないのでまずはドッキングシミュレーションの精度を上げるほうが先に成すべきことなんではなかろうかと思ってしまいます。

個人的にはLead Optimizationのような骨格を決めてその周辺を探っていくようなフェーズではREINVENT使ってプロジェクトにあわせてスコア関数を工夫すればいいと思っているけど、それよりも前のフェーズで構造に多様性を求めたいフェーズでは潜在空間探索させるのがよいかなーと思っているのでVAE+SELFIESの組み合わせはかなり興味があります。こっちも工夫のしがいが沢山ありますしね。

最近読んだ本

PerlとHaskell使いにはおなじみのオードリー・タン

ProductName オードリー・タン デジタルとAIの未来を語る
プレジデント社 / ¥1,980 (2020-11-29)

Rebuildのこの回を聞くのも良いでしょう

以下は速読用

最初の本は結構読みづらかった(いいことはちょいちょい書いてあったが)

ProductName フェイスブック流 最強の上司
マガジンハウス / ¥1,760 (2020-09-17)

SDGsは難しいよね、、、

ProductName Q&A SDGs経営
日本経済新聞出版 / ¥1,650 (2019-10-18)

静岡東部ははラブライブサンシャインとKNIMEの聖地

この記事は創薬 (dry) Advent Calendar 2020の24日目の記事です。

ラブライブサンシャインとKNIMEに関してはみなさんご存知だと思うので詳しい説明は省きますが、 もしKNIMEについてよく知らない方はt_kahi’s blogをチェックして、ラブライブサンシャインを知らない人は、今すぐNetflixを購読して呪術廻戦魔女の旅々を見てください。

今回は、KNIMEのワークフローを一元管理して共有するWebアプリケーションを作ったときの経緯を書いておきます。

そもそも、Mishima.syk #14@t_kahiがKNIMEの話をしたときにうちの会社は共有システム作ったよっていう話をしていて、それを聞いた他社の人が「うちの会社にも欲しいわ」って言ったから「じゃぁ、OSSの作るわ」っていう流れで始まった気がします。

そんで、2週間後くらいにSpotfireのユーザー会に参加しなきゃいけなかったんで、行きの新幹線でコード大体書いてたみたい。GiteaのKNIME版を意識してたからknimeaとかいう仮の名前をつけていた気がします。

一応、UGM中につくり終えたみたいですね。

その後UGMは楽しく終わったんだけど、ちょうど超大型台風が接近していて帰りの新幹線が止まっていたので、東京駅のプラットフォームでみんなで二次会してましたw そういえば@iwatobipen先生はいたようないないような、、、記憶があやふやですw

色々と(飲みながら)雑談していたら、KNIMEの話になって@bonohuがKNIMEのアナグラムが金目鯛になることを発見して、その後すぐに@t_kahiがフリーの金目鯛アイコンを探し出してくれて、無事に公開することができたと。 これがKNIMEのシンボルが金目鯛、そして聖地が静岡東部になった瞬間です

というわけで皆さん使ってみてください。コロナが落ち着いたら、みんなで東伊豆に集まって金目鯛をつつきながらKNIMEハンズオンでもしましょう(聖地巡礼)。

最後にいつもキャッキャウフフできるような環境を維持していてくれるMishima.sykに参加してくれているみなさんに感謝です。

ついでにキャッキャウフフしたい人も探していますので是非私まで。

DeepInsightでちょっとよくわからないことのメモ

人工知能でゲノミクスをというプレスリリースでちょっとよくわからないことがあるのでメモ

最後の方の「図1 変数ベクトルxを変換Tで行列に変換する全体像と変換の具体的な手順」のところで1-aの具体的な手順としてtSNE/kPCAが提案されているが、これがよく理解できていない。

例えば化合物ライブラリの例だとそれぞれの化合物は2048次元の特徴ベクトル(フィンガープリント)を持つ。ただし二次元空間にマップされるのはそれぞれの化合物であって特徴(feature)ではない。

1-bで特徴がマップされるためには特徴自体が多次元ベクトルを持つ必要がある。同僚にN回測定のサンプルなんじゃないの?って言われたけど、それだったら平均とって終わりじゃない?ってことになった。

仮にGeneをマップしようとするばあいnサンプルを転置してベクトルにすればいいけどその場合は「訓練」「バリデーション」「テスト」にそれぞれtSNE画像ができてよくわからんことになる。

それから200x200の画像に変換するってあるんだけどデータの遺伝子が60483あるので、ピクセルに一つ一つに対応させても2万遺伝子くらいあふれるよなーと。黒く塗り潰されるか遺伝子の位置が重なって情報欠損すると思うんだけどそのあたりもよくわからん。

実装眺めるしかないなーとCode AvailabilityからURLたどって探したんだけど見つけることができなかった。

追記: コードがダウンロードできました 2019.08.09

http://www.alok-ai-lab.com/materials.php

のDeepInsight Package DeepInsight_Pkg.tar.gzだそうです。

実装はMatlabだったので手元で動かすことはできませんが、コードを読んでみました。

Cart2Pixel.mの3行目

% Q.data should be in no_of_genes x no_of_samples format

で、実際に50行目あたりで

Y=tsne(Q.data,'Algorithm','exact','Distance',Q.Dist);

となっているのでやっぱりtSNEのドットはサンプルか(転置した場合)遺伝子を表現していていて、「訓練」「バリデーション」「テスト」にそれぞれtSNE画像ができるような気がします。

2020.12.19 追記

videoとコードを読んで理解した。

まずfeature vectorを転置すれば確かに良かった。1-bのそれぞれのドットが特徴のデカルト座標を表すことになるということは理解した。ただし、その後のピクセル化はちょっと恣意的に選び過ぎな気がするというか精度がそのプロセスに依存するような気がする。

遺伝子発現の場合、似たような発現プロファイルの遺伝子(特徴)を集めるという教師なし学習を予めおこなっておいて、その結果にCNNをおこなうってことの意味がまだ良くわかっていない。これでいいんだったらNMFで得られたメタ遺伝子を使ったモデル学習でもよろしいような気がするが?

Enjoy Currying

この記事はCurry Advent Calendar 2020の13日目の記事です。しらんけど。

ルーを使わないスパイスのカレーつくるだけならそれほど手間がかからないのだけど、意外と知らない人が多いようなので今回は啓蒙も兼ねてエントリーを書いてみます。材料の入手方法からだけど大体アマゾンでOK。

スパイス

使うのは、クミンシード、コリアンダーパウダー、ターメリック、カイエンペッパー(チリパウダー)の4種類あれば良いです。

継続するかどうか不安な方はとりあえずセットのやつを手に入れればいいと思います。

ライス

ライスはバスマティライスです。インド人の同僚もこれを薦めていたので間違いないと思います。茹で方はショートパスタとほとんど同じで、日本の米を炊くより楽ちんです。10分茹でて湯切りして鍋に戻して放置と決めているので一度やったら忘れません。

その他用意するもの

後は鶏もも肉、玉ねぎ、トマト、ニンニク、生姜を用意すればよいです。

ニンニク、しょうがはめんどくさいときはチューブのやつをつかうので、チューブを買ってストックしてありますが、初めて作るときは感動が少し減るので、フレッシュなやつを愛情込めてみじん切りにするなりおろすなりするとよいでしょう。

トマトはフレッシュでも水煮でも良いですが、イタリアのトマトは味が濃すぎるというかすっぱすぎるのでそのあたり注意したほうが良いです。私はストックしておきたいのと、缶だと捨てるのがめんどいという理由で紙パックのトマト水煮を家に沢山ストックしてあります。

作り方

この通りにやりましょう。足りないスパイスは無視でよいです。

書籍としては渡辺玲先生のこれがよいです。

ジャガイモが入ってねーぞっていう人はアルゴビを一緒に作っておけば良いんじゃないでしょうか?

この素晴らしい創薬プロジェクトに祝福を!

この記事は創薬 (dry) Advent Calendar 2020の9日目の記事です。

まずは10年前に書いた駄文を見てください(p.12)。

というわけで、最近やっと、創薬用のイシュー管理システムを作って動かし始めました。redmineはタスクの管理色が強くて、イシューの議論にあまり向いてなかったので、GitHubのIssuesを参考に創薬の諸問題に関して十分に議論を積み重ねることができるように工夫したものをスクラッチから作っています。実物を見せられないのが残念ですが、ジャガーでいうところのニャンピョウみたいな感じなのでそこは想像で補ってください。

あとはメディシナルケミストの生産性の見える化のために、MMPをベースとした化合物構造の差分管理システムなどがあれば良いと思うのだけどそのあたりは誰か別の人が考えるでしょう。

が、興味があればQuantifying, Visualizing, and Monitoring Lead Optimizationなどを読むことをおすすめします。今どきだったら、このあたりのメトリクスと構造生成器をうまく組み合わせて創薬プロジェクトのスピードアップをはかるのがイケてるやり方なのかなと思います。

より良く働くためのワークマネージメント

Asanaというタスク管理ツールの紹介がメインの本

1,2章は一般論なので面白かった。

ワークマネージメントで誰が何をしないといけないか明確にする

  • ビジネスの目標を設定する
  • 目標達成のために必要な仕事を設定する
  • 誰が担当し、いつまでにやるのかを設定する
  • それぞれの権限と責任範囲を設定する

とあるが、このあたりはredmineでもできるはず。

  • Asanaを使うと自然に報連相ができてしまう
  • Toに二人以上いれると誰からも返信がこない

ダッシュボードとかが良くできているような気がした。

Mishima.syk #16やりました

Mishima.syk #16に参加された皆様お疲れさまでした。オンラインでも楽しくやれるということがわかってよかったです。またDiscordを使った懇親会も入れてみましたが、結局2200くらいまでの5時間近く雑談できていたので次回もこの方式でやろうと思いました。

14ヶ月ぶりの開催と言われて「あれ、そうだっけ?」となりましたが、調べたら正しかったので、コロナの影響が結構大きかったんだなと改めて気付かされましたね。

どの演題も興味深かったのですが、LTは全部面白かったです。音声認識とラベリングの話と社会人博士課程の話は特に良かったです。それから、Mishima.sykに昔から参加している面子にケモインフォの話をさせると、最初から異次元を目指すので、あまり馴染みのない方にもわかるように丁寧に説明する演題があったのもオンラインで幅広く参加できるようになったおかげかなと思いました。今後も期待しています。

今回の工夫

タイムキーピングをきちんとやった

これまでは、ざっくり時間を決めて会議室退出時間にぎりぎりまで喋り倒すという流れだったのをきちんと時間通りに終わるようにしてみたけど、これは良かったです。

Discordを併用した

ZoomのほかにDiscordを併用し、すべての発表者のチャンネルを作って質問などはそこに書き込むようにしたおかげで、情報の整理はスッキリできたように思います。ただ、反動としてTwitterの書き込みが極端に減ったので参加者以外には見えなくなったというのはどうなのかな?と。

投げ銭システム採用

Amazonのギフト券サービスを利用した投げ銭システムを採用してみました。これはうまくワークして、次回以降のZoomの利用料金がカバーできるようになったので、また近いうちにオンライン開催したいなと思っています。投げ銭してくれた皆様ありがとうございました。

ニーズの集約

Discordに「今後ききたい内容」を集めるチャンネルを用意してみたのですが、これはあまりうまくいかなかったです。テーマを決めるのは毎回苦労するので、これに関しては引き続き工夫していきたいところ

Discordのボイスチャンネルを使った懇親会

発表者それぞれにDiscordのボイスチャンネルを用意して好きなように集まって雑談できるようにしましたが、これは割とうまくいきました。ただ、特にチャンネル名に意味はなくて、いくつかチャンネルを用意しておくだけでよかったみたいです。

シングルセル解析

シングルセル解析のウェットの方の原理などが知りたかったので買ってみた。

1部は良かったけど、2部,3部はサーベイな感じが強すぎたのとがんが多かったので読み流してしまった。

免疫の領域でシングルセル解析での例が知りたかったのだけど、、、

やはりこれ以上は論文とかレビュー読めってことですかね。

DX(デジタルトランスフォーメーション)とはなにか?

DXに関する情報を頭に入れておかないといけなかったので何冊か本を読んだ結果、 デジタルというキーワードをテコにして組織変革をしましょう というだけのバズワードだった。

企業がIT部門を技術職集団と位置づけず、経理の延長とかSIみたいにMS製品やSAPみたいなパッケージ調達部署にしたからこういうよくわからないアイデアが出てくるんじゃないのかな?

この本が一番面白かった。組織変革について具体例を挙げながら丁寧に解説していた。ただ、RPAに重きを置きすぎている感はあるけど、読むならこれが良いと思う。

ProductName 未来IT図解 これからのDX デジタルトランスフォーメーション
エムディエヌコーポレーション(MdN) / ¥825 (2020-06-16)

経産省のガイドラインによると、DXとは

「デジタル技術を活用して顧客や社会のニーズの基に、製品やサービス、ビジネスモデルを変革するとともに、業務そのものや、組織、プロセス、企業文化、フウロを変革し競争上の優位性を確立すること」

だそうです。当たり前な感じがするが、、、

本書は特に読むべき点がなかったけど、コラム3のデジタル人材はセミナーや研修では育たないという話が面白かった。まぁパッケージ調達するような人たちに研修受けさせても別に組織改革にはつながらないですよねっていう当たり前のことではないかと思ったけど。

ProductName デジタル変革とそのリーダーCDO
同文舘出版 / ¥2,750 (2019-09-07)

本書ではITとデジタルの違いについて論じていてITを「内向きのIT、価値創造のためでないIT」でデジタルを「外向きのIT、価値創造のためのIT」と定義していて、苦しい定義だなと思った。

DXプロジェクトをITベンダーに丸投げすれば、新しいバズワードが生まれて、「内向きのDX、価値創造のためでないDX」「外向きのDX、価値創造のためのDX」というおかわり可能なビジネスモデルでITベンダーはハッピーになれますね。