触ってみた: Chroma
#創薬アドベントカレンダー (dry) 2日目記事。 #souyakuAC2023
先日発表されていた、
Ingraham, J.B., Baranov, M., Costello, Z. et al.
Illuminating protein space with a programmable generative model.
Nature 623, 1070–1078 (2023).
https://doi.org/10.1038/s41586-023-06728-8
拡散モデルでタンパク質構造を生成するやつ。
1/n: We are excited to share that our paper on Chroma, a general purpose diffusion model for proteins, is out today in @Nature! https://t.co/FwvQ15UaHc
— Andrew Beam (@AndrewLBeam) 2023年11月15日
A couple of my favorite highlights in the 🧵below 👇 pic.twitter.com/hk4TtkstDJ
Chroma と名付けられている。
3/n: We also have open-sourced the code behind Chroma and provided free access to models weights to academic and non-profit researchers.
— Andrew Beam (@AndrewLBeam) 2023年11月15日
You can find links to the code, the model weights, and example notebooks on the @generate_biomed Chroma page:https://t.co/CGfSnsMFF1
デモ版が Colab で用意されているので触ってみた。
Colab のノートブックは こちら 。
モデルのウェイトを利用するための API key が必要なので、まず こちら で登録する必要がある。キーを取得したら API key 入力欄に入力。
8つのパターンの使い方が用意されている。
#Chroma has also generated a protein model in the shape of Japanese character!
— 叢雲くすり (創薬ちゃん) 💊創薬アドベントカレンダー OPEN💊 (@souyakuchan) 2023年11月16日
アルファベット以外でもいけるようだ。
文字形状の点群への変換を経由しており、任意の文字でできるのかもしれない。
Colab Notebook:https://t.co/4NPybWL4gz https://t.co/fsNrhEKX6i pic.twitter.com/arhUL4msIw
これは "Shape" 機能を使って平仮名の形に合わせたタンパク質構造を生成してみたもの。
ぬ為転変🤞#Chroma pic.twitter.com/89wb8ov2gF
— 叢雲くすり (創薬ちゃん) 💊創薬アドベントカレンダー OPEN💊 (@souyakuchan) 2023年11月16日
※ ただし構造を生成できると言っても、それが実際に発現・精製できてフォールドするものとは限らない。
なお論文中に書いてあるように、生成したタンパク質モデルが実際に精製・構造分析できて上手くいった(?)のは 3% 程度らしいのでモデルを生成できたからといってリアルに作れるフォールドとは限らない。
— 叢雲くすり (創薬ちゃん) 💊創薬アドベントカレンダー OPEN💊 (@souyakuchan) 2023年11月16日
特に面白そうに思ったのは "Natural language" 機能で、プロンプトでどういうタンパク質かを記述して構造を生成させることができる。
実際にフォールドしてタンパク質として希望通りに機能するかどうかは別として、近いことはできるようになったと言えるかもしれない。ゴリゴリ発現・精製・分析できるラボはこれから楽しいかもしれない。
— 叢雲くすり (創薬ちゃん) 💊創薬アドベントカレンダー OPEN💊 (@souyakuchan) 2023年11月16日
プロンプト: "Highly thermostable, water-soluble protease"#Chromahttps://t.co/kLLjMZrgoX pic.twitter.com/9Cst68NBYa
「安定な可溶性タンパク質」などと入力して生成させるとそれっぽいものが出る。
とは言うものの、タンパク質の機能や構造など具体的な指定をすると全然反映されていない結果が返ってくることのほうが多い印象。画像生成 AI 同様、欲しい絵が出るまでガチャを回し続けることが必要といった性質のものかもしれない。
配列や構造データそのものを入力してそれを元にして更にこの機能を付与して~~などといった処理も今のところできない(?)のでタンパク質設計に実用するのは現状なかなか難しい気はするが、そのうち img2img のような使い方などが実装されてきたりするようだと有用な使い道も出て来るかもしれない。
みなさんも面白い使い方を見つけたら是非教えて欲しい。