macでインフォマティクス

macでインフォマティクス

HTS (NGS) 関連のインフォマティクス情報についてまとめています。

自然言語からの新規タンパク質設計を目指す Pinal

 

 デノボタンパク質設計は、タンパク質工学における基本的な追求であるが、現在のディープラーニングアプローチは、その狭い設計範囲によって制約されたままである。Pinalは、自然言語理解とタンパク質設計空間の架け橋となり、人間の設計意図を新規タンパク質配列に変換する。Pinalは、テキストから配列へという単純なエンド・ツー・エンドの生成ではなく、2段階のプロセスを実装している。まず、言語の指示に基づいてタンパク質構造を生成し、次に、生成された構造と言語入力の両方を条件として配列を設計する。この戦略は、より扱いやすい構造領域で動作することにより、探索空間を効果的に制約する。包括的な実験を通して、PinalがPDBデータベースを超える新規タンパク質構造への強固な汎化を示しながら、同時研究のESM3を含む既存のアプローチと比較して優れた性能を達成することを実証する。オンラインのデモはhttp://www.denovo-pinal.com/で利用できる。

 

オンライン(demonstration)

http://www.denovo-pinal.com/

 オンラインサーバーでは、15B T2strucと760M SaProt-Tを使用してタンパク質を設計できる。タンパク質の長さに制限がある(最大1024アミノ酸)。またセキュリティの観点からウイルスタンパク質の設計はサポートされていない。

 

入力:目的のタンパク質を自然言語で記述する。右の5は、生成するタンパク質数。デフォルトの5なら5つ生成される。

”Pinalはキーワード、短い文章、長い文章を入力として受け付ける。記述の最適化にはChatGPT、Llama、その他のLLMが推奨される。”(demoより)

 

exampleの例、クリックするとウィンドウ内に入力される。

例1

"Action."

例2

”Catalysis is achieved through this protein's enzymatic function, facilitating the reaction: (S)-malate + NAD(+) = H(+) + NADH + oxaloacetate.”

例3

”The cofactor that is vital for the optimal functioning of this protein is zinc ion (Zn(2+)). This zinc ion binds to each subunit of the protein, contributing to its catalytic activity. Zinc is well-known for its role in stabilizing the structure of metalloenzymes, which is a category this protein falls into. The binding of the zinc ion is crucial for the protein to perform its catalytic function effectively, which involves the hydrolytic deamination of adenosine and 2'-deoxyadenosine, converting them into inosine and 2'-deoxyinosine, respectively. Without the zinc ion, the protein would likely be less efficient or unable to perform these biochemical transformations.”

翻訳

”このタンパク質が最適に機能するために不可欠な補酵素亜鉛イオン(Zn(2+))である。この亜鉛イオンはタンパク質の各サブユニットに結合し、その触媒活性に寄与する。亜鉛は金属酵素の構造を安定化させる役割でよく知られており、このタンパク質もその部類に入る。アデノシンと2'-デオキシアデノシンを加水分解脱アミノ化し、それぞれイノシンと2'-デオキシイノシンに変換する。亜鉛イオンがなければ、タンパク質はこれらの生化学的変換の効率が低下するか、実行できなくなる可能性が高い。”

例4

”The GO term encompassing ATP hydrolysis activity involves molecular function for this protein. Part of the ABC transporter complex PstSACB involved in phosphate import In charge of facilitating the energy coupling required for the transport system. Lactobacillales encompasses the source organism of this protein in the taxonomic hierarchy. The protein sequence derives from the organism named Streptococcus agalactiae serotype III (strain NEM316). gbs1950 is the Ordered Locus Name assigned to the gene associated with this protein. plasma membrane is encompassed by the GO term associated with this protein regarding cellular component. The GO term of this protein covers ATPase-coupled phosphate ion transmembrane transporter activity with respect to molecular function. In regards to molecular function, the GO term associated with this protein integrates inorganic phosphate transmembrane transporter activity. The specific location of this protein can be found at Cell membrane. The complex is composed of two ATP-binding proteins (PstB), two transmembrane proteins (PstC and PstA) and a solute-binding protein (PstS).”

翻訳

”ATP加水分解活性を包含するGO termは、このタンパク質の分子機能に関与している。リン酸輸入に関与するABCトランスポーター複合体PstSACBの一部で、輸送系に必要なエネルギー結合を促進する。分類学的階層では、乳酸菌がこのタンパク質の供給源となっている。このタンパク質の配列は、Streptococcus agalactiae serotype III (strain NEM316)という生物に由来する。gbs1950は、このタンパク質に関連する遺伝子に割り当てられたOrdered Locus Nameである。このタンパク質のGO termは、分子機能に関して、ATPase結合リン酸イオン膜貫通トランスポーター活性をカバーしている。分子機能に関して、このタンパク質に関連するGO termは、無機リン酸膜貫通トランスポーター活性を統合している。このタンパク質の特異的な位置は細胞膜に見られる。複合体は、2つのATP結合タンパク質(PstB)、2つの膜貫通タンパク質(PstCとPstA)、溶質結合タンパク質(PstS)から構成される。”

 

出力例

下のボタンからこの表をTSV形式でダウンロードできる。

 

SaProt-T module(オンラインデモ)

http://113.45.254.183:9527/

部分的な構造情報、指定されたアミノ酸入力、および自然言語記述の組み合わせを使用してアミノ酸配列を設計できる。最適な結果を得るためには、欠落している構造成分が配列全体の30%未満である必要がある。

 

インストール

Github

git clone https://github.com/westlake-repl/Denovo-Pinal.git
cd Denovo-Pinal/
mamba create -n pinal python=3.8 --yes
conda activate pinal
pip install -r requirements.txt

 

モデルのダウンロード

学習済みモデルをダウンロードするスクリプトが用意されている。

mkdir weights/
huggingface-cli download westlake-repl/Pinal \
--repo-type model --local-dir weights/

ファイル全てをダウンロードし、weights/Pinal/...のようなweightsディレクトリに配置する。

ダウンロードには1晩かかった。

>tree weights/

#DBのパス修正
mkdir weights/Pinal
mv weights/T2struc-1* weights/Pinal/
mv weights/SaProtT/ weights/Pinal/

 

 "Actin. "という入力記述に基づいて、1.2BのT2strucとSaProt-Tによって10個のde novo設計されたタンパク質を推論し生成する。

from utils.design_utils import load_pinal, PinalDesign
load_pinal()
res = PinalDesign(desc="Actin.", num=10)

T2struc-15Bで推論したい場合は、load_pinal()を呼び出す前に環境変数T2struc_NAMEを設定する。

 

 

その他

  • Pinalで設計したタンパク質をさらに編集したい場合、またはタンパク質の部分配列と構造に基づいてタンパク質を設計したい場合は、SaProt-Tをが使用できる(下のスレッドも参照)。

引用

Toward De Novo Protein Design from Natural Language

Fengyuan Dai, Yuliang Fan, Jin Su, Chentong Wang, Chenchen Han, Xibin Zhou, Jianming Liu, Hui Qian, Shunzhi Wang, Anping Zeng, Yajie Wang,  Fajie Yuan

BioRixv, Posted August 02, 2024.

 

SaProt: Protein Language Modeling with Structure-aware Vocabulary

Jin Su, Chenchen Han, Yuyang Zhou, Junjie Shan, Xibin Zhou,  Fajie Yuan

BioRixv, Posted April 19, 2024.

 

 

あとになってプレプリントが出たProTrek(online server)で望んでいるタンパク質構造を探し、 Pinal or SaProt-Tを使ってそのタンパク質構造を改変したり全長を得るということのようです。もしくは、GPTなどのLLMで関心のある既知タンパク質について自然言語で記述させ、その記述から Pinalでタンパク質配列を発生(断片ならSaProt-Tで全長を推論)、AF3で構造推論、Evollaで機能を検証する流れも単純だが強力だと書かれてますね。

その結果をfoldseekに投げれば近い構造もすぐにみつけることができますね。しかしLLMやPLMなど活躍し始めると人の介入だけ不要では?と思ってしまいます。AIによって完全に自動化された社会で、餌(機能するタンパク質)をもらうためにボタンだけ押す人になった気分です。極端すぎますが