オープン x サイエンス x ケモインフォマティクス

創薬 Advent Calendar 2024の24日目の記事です。久しぶりに書いてます。

以前にアドベントカレンダーに投稿してその勢いで入門書を書きました。 おかげさまで200超えの★と90超えのforkを得られたのでまずまず貢献したのかな?と思います。

その後、CBIのケモインフォマティクスハンズオンを開催することになり、そのマテリアルもオープンにしているので興味があれば一度動かしてみてください。

ケモインフォマティクスチュートリアル 2023

一般的なヴァーチャルスクリーニング(VS)を行うための入門的なハンズオン

化合物データの前処理(脱塩等)を行い、訓練データから活性予測モデルを作成。その後VS用のライブラリを構築し、Q活性予測モデルを利用しリガンドベースのヴァーチャルスクリーニング(LBVS)を行うという内容です。

ケモインフォマティクスチュートリアル 2024

こちらは中級以上向けで、完走率は3割切るくらいだったようですが、DRYの製薬企業研究者の2,3年目が到達するレベル感だと思います(私見)。こちらは化合物の生成モデルを使っているので色々応用が効く内容になっているはずです。ワークフローはコードで書いてもKNIME/PipelienPilotにまかせてもどっちでもいいような気がしますがバージョン管理するなら前者ですかね

  1. REINVENT4の転移学習を使ってEGFR阻害剤を生成するような生成モデルを作成
  2. 生成モデルに仮想化合物群を生成させ、Gypsum-DLでSBVSの前処理をおこなう
  3. AutoDock VinaでEGFRのキナーゼドメインに対しSBVSを実行し、結果をpymolで確認する
  4. (前処理とSBVSはmaizeというflow based programmingツールを使ってワークフロー化します)

ケモインフォマティクスチュートリアル 2025

来年やるとしたらALとかHITL関連のものをやってみたいですね。この論文にあるようにエキスパートを投入して環境に手をいれるっていうAZのアイデアも面白いですし、

または、Exscientiaのように生成モデルに工夫をしてRNN+RLじゃなくてビルディングブロックと反応をうまく学習させてより現実的な構造発生させるのにAL使うっていう感じの内容もよいかなと思ってます。

それではよいクリスマスを

バンコク3日目

バンコクもとうとう最終日です。あっという間であった。

朝もしっかりと起きて走ります。昨日とは違う公園を走ってみましたが、ちょっと小さめの一周1キロ弱だったことと、昨日のマッサージで若干色々ダメージを受けていたので軽めの2kmでやめてみた。

その後、お粥を食べに、Jok Ruam Jaiへ。お粥はタイ語でjokというらしいです。それにしてもpolidge/congeeの使い分けがわからん。と思って調べてみるとpolidgeは概念的に広いらしい。

さてjokですが、お粥はいいし、中に半熟卵とか鶏ひき肉のつみれとか入っていて美味しかったのだけど、カールっぽい油条オルタナティブ必要なのかな?放置しても粥となじまず自己主張し続けているんだけど、、、 油条が現地の好み的、入手容易性的に進化した結果なのだろうけどワタシ的にはいまいちだった。中華街の粥はどうなっとるんだろうか?と気になってしまった。

粥を食べたらホテルに戻ってチェックアウトして、前日急遽決めた寺巡りに。

で、ワットアルンの近くのお店でサクッと昼食を。カオムートート頼んだらいまいち。ご飯の上に薄いとんかつが乗っているだけ。30バーツと安かったのもあるけどなんのひねりもなかった。今回食べたものの中で最強のがっかり度でした。「ムートート食べるくらいならとんかつ食べればいいじゃん」という銘文が私の語録に追加された。

ワットアルンは良かったです。荘厳でした。

が、上の写真には写ってないけどその下にはタイの衣装を着たたくさんのレイヤーとそれをいい感じに取りまくる専属のプロのカメラマンが群がっていました。グラマブルなセルフィーを撮りたいのならまじのおすすめの寺院です。セルフィーなどとは無縁の私には長居無用の場所でした。なんというか商用施設として成功感高すぎの場所でした。

これとは真逆でワットバークナムは厳かな感じがして静かで良かったです。みんながbe humbleになれる場所でした。

その後カオムートートのダメージを払拭すべく、ルンピニ公園の近くのカームーの店(カームーボンガイ)でガパオカームーwith 目玉焼き(なんていうか知らん)を食べました。これがすこぶる美味しくてわたしの食満足度が満たされました。

そのままワン・バンコクで適当に暇つぶしをしてからホテルにもどって荷物を受け取り、「さあ空港に行くか!」とはならず、クラフトビールを引っ掛けてみました。burbritはミャンマーで立ち上げたクラフトビール醸造所らしいです。

IPAを二杯ほど飲みました。

IPA二杯でタイ古式マッサージ2時間受けられるし、カオマンガイなら10杯食べられるのでクラフトビールはなかなか贅沢品だなぁと思いました。というか台湾でも魯肉飯何杯分とか数えてた気がするwまぁ美味しいものには敬意を払いましょうということで。

で、空港に着いたらフードコートでカオカームーwithゆで卵を注文。ここの値段は空港価格ではなく良心的だったように思います。ちなみに今飲んでいるchangのビール(495ml)は200バーツなのでスーパーで買う価格の4倍くらいでした。

なかなか満足のバンコク旅行でした。

バンコク2日目

朝は早起きしてジョグです。朝から交通量が多くて公園に行くまでが大変。公園は一周2kmくらいなので二周ほどしてみました。老若男女問わずたくさんの人が走っているし、ショッピングモールにもランニング関連グッズが沢山売られていたので皆さん走るのが好きなようです。

走ってシャワーを浴びたら、朝は麺にしました。

トムヤム汁ありミックス中華麺。中華麺ではなくライスヌードルでも良かったかも

ちょっとびっくりしたのはブラックコーヒー頼んだらとても甘かったこと。確かに見た目はブラックなんだけど。マレーシアで言うKopiみたいな感じの飲み物なのだろうか?でもまぁ美味しかったのでよし

その後、生まれて初めてのタイ古式マッサージを受けて、体周りがいい感じになりました。特に肩こりが収まったので非常に良きでした。これのためにまたバンコク来てもいいくらい。

そのあと、ちょっとBTSに乗ってカレーを食べに。アロイアロイです。

夕飯は遠出するのが面倒になり、昨日行ったヘンヘンカオマンガイへ。どんだけカオマンガイ頼むのよ?って感じなんだけどさっと食べられて美味しいので言う事無し。

ちょっと今滞在しているホテルからナイトマーケットに行くのはめんどくさいのでビール飲んで寝る予定。次回はもうちょっと別の場所に滞在したい。

バンコク1日目

CBIの年会も終わり11月の第一週の予定が運良くガラ空きだったので、取れなかった夏休み(というか連休)をこのタイミングで取ることにしました。なんか意味づけしたほうが行く気になるだろうと「自分探しのショートトリップ」と周りには吹聴しておきました。

オプションとしては、セブ、ハノイ、そしてバンコクを考えていたのですが、前の2つは現地深夜着、現地早朝発のフライトであんまり楽しめない感じのスケジュールだったので却下しました。あとLCC使えばいいやーって感じでマイル使う必要もない値段だったというのも理由です。というわけで、羽田夜中発バンコク早朝着(帰りはバンコク夜中発、羽田朝到着)という寝てればいい感じに着いている便でバンコクに来ました。当然のことながらノープラン。

ホテルには7時に着いたのですが、14時まで部屋が使えないということなのでワット・ポーに行きました。開園直後だったので観光客はほとんどおらず快適でした。

猫も瞑想中でした。

QSAR的な悟りをひらいた私の足の裏にもなにか書いてあるに違いない(怖くて見れないが、、、)

そこから移動してピンクのカオマンガイことゴーアン カオマンガイへ。

まぁ、美味しかった。

このニガウリとポークリブのスープも美味しかったです。

サイアムからプロムポンまで徒歩一時間くらいだからショッピングモールとか物色しながら歩くかーと結局歩いたのですが、これは失敗だった。暑すぎてへばった。あと朝は曇っていたのだけど、昼から急に晴れて日差しも強かったのも辛かった(日焼け止め塗るタイミングもなかった)

タイティー飲んだりしながらのんびり移動

夕方お腹がすいたので今度はヘンヘンカオマンガイへ。

個人的にはこっちのほうが好みの味でした。

機内であまり眠れなかったのと、朝早くから活動していたので流石に疲れて9時くらいには就寝しました。日本時間で11時なんでたいして早いわけではないけど。

韮山の杉山酒店から始まる居酒屋放浪生活

韮山の杉山酒店の角打ちに行きたいという同僚たちと予定をあわせて、昼飲みをしてきました。ちなみに私はCBI学会の期間からずっと飲み続けているので一週間連続ですw

角打ちは良かったです。お酒も料理も美味しかったです。久しぶりに日本酒のんだ。

角打ちで長っ尻なのもアレだなぁといいところで切り上げて、知り合いを呼んでリパブリューでビールでも飲もうかと沼津に下山。

ビールも飲んだので帰ろうとしたらJR止まっとるがな!という状況。

どうしようかなー!じゃぁ寿司でも食べるかとITA酒場

お寿司を食べても電車は動かず、羊肉を食べに行きましょうかと。

それでも電車は動かず。再開を待ち遠しい我々はここでまたリパブリューに戻りました。

結局いつまで経っても電車が動かないので、みんなでタクシーで帰ることにしました(私は三島から新幹線に乗って帰りました)。

久しぶりに楽しく飲んだり食べたりしました。WCB以来の楽しさでした。

CBI2024に参加しました

本大会は900弱の参加者だったそうであと数年もすれば1000超え達成するのではないでしょうか?オーガナイザーの皆様、参加者の皆様お疲れ様でした。我々もより魅力的なコンテンツを提供していかないといかんなぁと思いました。

  • ポスターは「こういう構成にすればいいのにー」みたいな上司(偉そう)マインドが勝ってしまってあんまり楽しく見れなかった(反省)
  • たくさんの人と情報交換できたので非常に有意義だった。と同時に私はサイエンティフィックな貢献をできてないなーとちょっと思うところはあった(発表すべきだった)。
  • エリックスカフェのコーヒーは美味しいですねえ。

船堀グルメ

カレーは美味いがナンが大きすぎた

カレーは美味いがご飯が多すぎ

ここの焼き鳥は美味い。

CBIハンズオン(chemoinformatics)のリハをおこないました

CBI年会の初日のチュートリアルセッション(TS03 ケモインフォマティクスハンズオン)のリハをおこないました。

今回は去年のように最終調整を兼ねたリハ兼ビールでも飲んで楽しむというゆるいものではなく、課題の洗い出し兼あと二週間で潰すべきタスクのリストアップに近いような作業でした。なので結構疲れたけど、このタイミングでやっておいて本当に良かったと思いました(やらんかったら、相当グダグダなセッションになっているはず)。

わたしもmac担当として、REINVENT4きちんとインストールできるように試行錯誤したり、maizeがmacでも動くようにプルリク出したりと久々に働きました。

ハンズオンの流れとしては

  1. REINVENT4の転移学習を使ってEGFR阻害剤を生成するような生成モデルを作成
  2. 生成モデルに仮想化合物群を生成させ、Gypsum-DLでSBVSの前処理をおこなう
  3. AutoDock VinaEGFRのキナーゼドメインに対しSBVSを実行し、結果をpymolで確認する
  4. (前処理とSBVSはmaizeというflow based programmingツールを使ってワークフロー化します)

という中級以上向けの攻めた内容になっていると思います。ちなみに、チュートリアルセッションは定員に達したそうで参加したい方はキャンセル待ちになるのではないでしょうか?

終了後にビールを飲みました(お約束)が、やはり来年以降はRDKitUGMJPの資金を調達しながら、ボランティアでやっているモデレーターにとってもwin-winになるような仕組みを考えたいなーと思いました。

Running REINVENT4 on the M3 chip

As it could not be installed with the original requirements, I modified it and uploaded it to the Mishima-syk repository.

$ git clone https://github.com/Mishima-syk/REINVENT4.git
$ cd REINVENT4
$ conda create --name reinvent4 python=3.11
$ conda activate reinvent4
$ pip install -r requirements-macOS.lock
$ pip install --no-deps .

Now, you can set mps (Metal Performance Shaders) in the device parameter

# mps_sampling.toml
# REINVENT4 TOML input example for sampling
run_type = "sampling"
device = "mps"  # M3 GPU
json_out_config = "_sampling.json"  # write this TOML to JSON

[parameters]

## Reinvent: de novo sampling
model_file = "priors/reinvent.prior"
output_file = 'sampling.csv'  # sampled SMILES and NLL in CSV format
num_smiles = 157  # number of SMILES to be sampled, 1 per input SMILES
unique_molecules = true  # if true remove all duplicatesd canonicalize smiles
randomize_smiles = true # if true shuffle atoms in SMILES randomly

Running the reinvent4 program

$ reinvent -l sampling.log mps_sampling.toml

JASPUG2024に参加しました

今年もJASPUGに参加しました。相変わらず盛況で古参と新参のバランスも取れていていい感じに新陳代謝をしているように思いました。

私の方も古くからの参加者と意見交換したり親交を深めたりできて大変刺激をうけました。あとは、転職した元メンバーの人達と再開しても相変わらず楽しく話せるのは今の会社のカルチャーでもあるのかなぁと思いました。

ちなみにステッカーが溜まっているので最近新調したMBAにペタペタしないといけないです。

その他メモ

私のゼンマイがバカになっているような気がする

懇親会で知り合いにfmkzさんは現状の不満をバネに先に進むタイプですよねーとか言われて、確かにそうだなーと思ったのですが、最近ゼンマイの効きが弱くなっているのではなかろうかと帰りの新幹線で自問自答していました。確かにマネジメントにのめり込みすぎてこのままでいいのか?と思うようなことはあります。

やっぱ多様性の尊重は感謝の正拳突きで表現するべきなのだろうか?

同僚、上司、部下、知り合いは尊重してなんぼですね

仕事では色々あったり立場上難しい関係になったりするけど、やっぱり他社に別れても楽しく話せるのは一緒に厳しい状況を生き抜いた同僚たちだったりするので、常に尊重は欠かせないですねぇ。製薬業界もライフサイエンス業界も一つの系みたいなものですねぇと感じることが最近特に増えています。

コード書くのは楽しすぎ

pen先生と一緒に、ちょっとハンズオンのコンテンツのバグ取りとかポリッシュをスキマ時間にやっておりましたが、やっぱ楽しいですねぇと思いました。CBIのハンズオンに向けて完成度を高めていきます。去年、今年は無料でやりますが、来年はちゃんとお金を取ってRDKitの作者の旅費に使えればいいんじゃないかなぁと思っています。そろそろRDKitUGMJPやってもいいでしょ。

Mishima.syk 21やりました。

参加していただいた方、発表していただいた方ありがとうございました。

今回LLM関連の深い話題が多く大変楽しかったです。

今回は、ちょっと日程が合わずに1年ぶりになってしまいましたが、次回は半年後くらいを目標に企画したい。

今月終わりにはCBI年会の初日にケモインフォマティクスのハンズオンもありますので、機会があればそちらも参加していただければと思います。

Pythonを使用したFlow-based Programming(FBP)のハンズオンセミナーを開催いたします。生成モデルの利用、 Docking Study、スコアリングといった一連の流れをFBPで実装する工程を学びます。本ハンズオンは、精度よりも 全体の流れを理解することを目的としています。