$30 off During Our Annual Pro Sale. View Details »

構造活性フォーラム2023-山﨑担当分

yamasakih
August 25, 2023

 構造活性フォーラム2023-山﨑担当分

#LLM創薬チャレンジ 開催報告
~創薬における大規模言語モデル活用の
フィージビリティスタディとして~

yamasakih

August 25, 2023
Tweet

More Decks by yamasakih

Other Decks in Science

Transcript

  1. #LLM創薬チャレンジ 開催報告
    ~創薬における大規模言語モデル活用の
    フィージビリティスタディとして~
    AutoGPT を用いた SBDD
    株式会社サイキンソー 山﨑 広之

    View Slide

  2. アジェンダ
    - LLM 創薬チャレンジでトライしたこと
    - LLM の理想と現状
    - まとめ
    LLM 創薬チャレンジの詳細は以下のサイトにまとめています。
    https://github.com/yamasakih/LLM-DD-Challenge/blob/master/contest.md

    View Slide

  3. LLM創薬チャレンジ 序盤
    - LLM に創薬に必要なプログラムを一から実装させてみる
    - 「タニモト係数で類似度を求める」、「 SDFから特定のタグの情報を抜き出す」ぐらいならできるが少
    し難しくなると実装できない。 ❌
    - Embedding を用いて Word2Vec みたいにできないか試す
    - 計算自体はできるが Embedding が SMILES だけにフィットしているわけでないので目立った効果
    はなさそう。 ❌
    - GPT-4 API や GPT plugin は Waitlist に登録したもののまだ使えない
    - GPT-3.5 の GUI や API ではやれることに限界があり、不十分であった。 ❌
    - AutoGPT のリリースがあり創薬チャレンジで試すことにした。

    View Slide

  4. AutoGPT
    AutoGPT では設定ファイルに記載した設定をもとに内部で ChatGPT を用いながら、設定されている Goal を
    実行するために何をすべきかを ChemCrow 同様 AI が自発的に提案し、ユーザが許可をすると実行をします。
    ai_goals:
    - Implement a Python script named smiles_from_sdf.py using RDKit to output
    the SMILES key of the chemical structure with IC50_range_nM tag "<100" (note
    that it is a string) from
    /workspace/Auto-GPT/autogpt/auto_gpt_workspace/CBLB_inhibitors_vsF.sdf to
    /workspace/Auto-GPT/autogpt/auto_gpt_workspace/CBLB_inhibitors_vsF.txt using
    RDKit.
    - Run smiles_from_sdf.py
    - Shutdown when task is done.
    ai_role: Medicinal Chemist and Chemoinformatician

    View Slide

  5. AutoGPT
    AutoGPT では設定ファイルに記載した設定をもとに内部で ChatGPT を用いながら、設定されている Goal を
    実行するために何をすべきかを ChemCrow 同様 AI が自発的に提案し、ユーザが許可をすると実行をします。
    ai_goals:
    - RDKit を使用して CBLB_inhibitors_vsF.sdf から IC50_range_nM タグ "<100" を持つ
    化学構造のSMILESキーを CBLB_inhibitors_vsF.txt に出力するsmiles_from_sdf.pyという
    Pythonスクリプトを実装してください。
    - smiles_from_sdf.py を実行してください。
    - タスクが終了したらシャットダウンしてください。
    ai_role: メディシナルケミストやケモインフォマティシャンとしてふるまってください

    View Slide

  6. Chemoinformatics plugin
    より複雑な作業を可能にするために AutoGPT が利用できる plugin を作成し提供しまし
    た。
    タニモト係数計算
    SMILES が正しいかの判定
    重複している SMILES を削除
    docking のためのタンパク質の変換
    PDB からリガンドの抽出
    REINVENT による構造生成

    View Slide

  7. Chemoinformatics plugin
    DockStream や REINVENT は JSON で設定ファイルを作成しそれぞれ Docking や構
    造生成を行うことができる。
    LLM に今回のデータセットに対して DockStream や REINVENT を行うための JSON
    ファイルを作成するように指示したところ作成し実行することができた。
    ai_goals:
    - 8gcy.pdbからタンパク質のアポ構造とリガンドのみの PDBをそれぞれ作成してください。
    - target_preparation_example.jsonc を読んで、 target preparation を実行するための
    json ファイルの出力方法を確認してください。
    - 作成したタンパク質 apo pdb とリガンド Z3N.pdb の2つの PDB を使用するように設定 json
    ファイルを更新し、 8gcy_preparation_setting.json として出力してください。
    - 8gcy_preparation_setting.jsonを使って、 target preparation を実行する。
    - タスクが終了したらシャットダウンしてください。

    View Slide

  8. LLM創薬チャレンジ 最終提出化合物
    1. PDB(8GCY)からアポタンパクとリガンドを抽出
    2. AutoDock にて docking をするための前処理
    3. AutoDock で docking を行い REINVENT で
    その docking score を指標として構造生成
    4. 既知構造と重複構造をフィルターし
    docking score TOP 10 を提出

    View Slide

  9. LLM創薬チャレンジ 最終提出化合物
    1. PDB(8GCY)からアポタンパクとリガンドを抽出
    2. AutoDock にて docking をするための前処理
    3. AutoDock で docking を行い REINVENT で
    その docking score を指標として構造生成
    4. 既知構造と重複構造をフィルターし
    docking score TOP 10 を提出

    View Slide

  10. LLM創薬チャレンジ 最終提出化合物
    1. PDB(8GCY)からアポタンパクとリガンドを抽出
    2. AutoDock にて docking をするための前処理
    3. AutoDock で docking を行い REINVENT で
    その docking score を指標として構造生成
    4. 既知構造と重複構造をフィルターし
    docking score TOP 10 を提出
    💡 化学構造の安定性や合成容易性を判断するツールを組み込むことで
    さらなるブラッシュアップができると期待できる

    View Slide

  11. LLM の理想
    人間がタスクに必要なコードやツールを LLM に指示したら作成してくれる。
    ⚪⚪したいから
    △△なツールを
    作ってよ。
    わかりました。
    … 3 秒後
    できました。

    View Slide

  12. LLM の理想
    人間がタスクに必要なコードやツールを LLM に指示したら作成してくれる。
    ⚪⚪したいから
    △△なツールを
    作ってよ。
    わかりました。
    … お待ちください
    … お待ちください
    … お待ちください
    すいませんできませ
    ん。
    💡 2023/8/25 現在の技術では複雑なタスクの場合まだ難しい

    View Slide

  13. LLM の現状
    人間が必要なコードやツールを提供し LLM に指示したらタスクを実行してくれる
    △△なツールを
    作ったから⚪⚪
    してよ。
    わかりました。
    … 10 分後
    できました。
    💡 人間がツールを用意したり LLM の出力をレビューしたりすることで活用できる

    View Slide

  14. LLM にちょうどよいタスク
    タスク LLM などの活用方法 例
    細かくルールやフォーマットが
    定義されている
    プログラムや RPA で自動化する 予算を管理している Excel シートで
    予算 100万円以上のレコードのみ
    にする
    ルールやフォーマットがあるが、細
    かく定義されていない、または
    よく変更されることがある
    LLM を活用しやすいタスクと言える フォーマットが異なる領収書の宛
    名、金額などをまとめる
    文章の要約や評価など
    ルールやフォーマットが定義されて
    いない
    LLM には適していないが、過去の
    事例からルールやフォーマットを整
    備するのに活用するのもあり

    View Slide

  15. LLM にちょうどよいタスク
    タスク LLM などの活用方法 例
    細かくルールやフォーマットが
    定義されている
    プログラムや RPA で自動化する 予算を管理している Excel シートで
    予算 100万円以上のレコードのみ
    にする
    ルールやフォーマットがあるが、細
    かく定義されていない、またはよく
    変更されることがある
    LLM を活用しやすいタスクと言える フォーマットが異なる領収書の宛
    名、金額などをまとめる
    文章の要約や評価など
    ルールやフォーマットが定義されて
    いない
    LLM には適していないが、過去の
    事例からルールやフォーマットを整
    備するのに活用するのもあり
    💡 LLM の今後の性能や機能のアップデートに備えて
    自分たちの業務で「LLM が活用できそうなタスク」をあらかじめまとめておくといい

    View Slide

  16. まとめ
    - AutoGPT を用いることで LLM に Docking や構造生成など創薬の SBDD やケモイン
    フォマティクスで行うタスクを試行させることができた。
    - しかし、本来人間が期待している「人間がタスクに必要なコードやツールを LLM に指
    示したら作成し、実行してくれる」ことは実現できなかった。
    - LLM を活用しやすいタスクにしぼり LLM を活用したり、今後の LLM の性能アップに
    期待しそのようなタスクをリストアップしておくことが重要である。

    View Slide