本文へスキップ
コミュニティ

RFdiffusion と ProteinMPNN による骨格生成と配列設計

RFdiffusion で小規模な単量体骨格を生成し、PDB 座標を ProteinMPNN に渡して、後続検証用の構造・配列・由来情報を保存します。

難易度: 上級 費用: 無料 プライバシー: ローカル ~90 分
セットアップ開始

できるようになること

  • 追跡可能な計算候補の成果物を作成し、文書化した確認基準を点検します。

構築するもの

公式文書に基づくレビュー原稿です。本バッチでは実行しておらず、インストール、推論、最適化、実験結果は未検証です。

対象と範囲

計算によるタンパク質設計の研究者向けです。基準例は無条件の150残基単量体であり、結合能や目的機能を主張しません。RFdiffusion は骨格座標を生成し、設計領域のグリシン表記は仮のものです。ProteinMPNN は確認済み骨格に配列を割り当てます。FastRelax、再フォールディング予測、実験検証は含みません。

入力、接続、成果物

入力は長さ制約、選択した RFdiffusion の重み、正確なソースと環境の記録です。生成 PDB が単一の鎖 A を持ち、通常の全骨格 ProteinMPNN モデルに必要な N/CA/C/O 座標が利用可能か確認します。鎖 ID、残基番号、PDB と TRB の対応を維持します。欠損原子、番号の欠落、代替配座、固定モチーフには明示的な対応表が必要です。TRB は Python のシリアライズデータを含む場合があるため、信頼できる実行の生成物だけを確認します。成果物は骨格 PDB とメタデータ、seqs 内の FASTA、乱数シード・温度・スコアの記録です。スコアはモデルの選好であり、活性やフォールディング成功の証明ではありません。

限界、費用、利用条件

確認した RFdiffusion 環境は Python 3.9、PyTorch 1.9、CUDA 11.1 です。現行 GPU との互換性は未確認です。ProteinMPNN の環境を別に記録し、ファイルで接続します。GPU 時間、保存領域、環境構築は利用者の負担で、時間見積もりに推論は含みません。コードのライセンスはそれぞれ BSD-3-Clause と MIT です。表示義務を守り、選択した重みの付属条件を利用前に確認してください。私有の構造データの利用権は別問題であり、広範な OS や機器への対応は保証しません。

公式資料

骨格生成

RFdiffusion

骨格を条件とする配列設計

ProteinMPNN

構成リソース

RFdiffusion

骨格生成 · source 86507b6538f51fce57b5a72477165f03999ed7ae; Base_ckpt.pt

公式文書に基づくレビュー原稿です。本バッチでは実行しておらず、インストール、推論、最適化、実験結果は未検証です。

コードは公開されていますが、計算・保存費用と外部サービスの条件は別途確認してください。

リソースを見る

ProteinMPNN

骨格を条件とする配列設計 · source 8907e6671bfbfc92303b5f79c4b5e6ce47cdef57; v_48_020

公式文書に基づくレビュー原稿です。本バッチでは実行しておらず、インストール、推論、最適化、実験結果は未検証です。

コードは公開されていますが、計算・保存費用と外部サービスの条件は別途確認してください。

リソースを見る

互換性

クライアントOSアーキテクチャバージョン要件
Python Linux指定なし>= 3.9

セットアップとテスト

1. 小規模な単量体設計を定義

Linux

最初は無条件の150残基単量体とします。利用権のある入力、保存領域、互換性のある計算環境、公式の重みを用意し、元の CUDA 環境の導入を別途確認します。

公式出典

期待される結果

目的と重み・環境の前提条件が記録されています。

2. 確認したソース版を取得

Linux

新しい作業ディレクトリで実行します。固定版 RFdiffusion README に従って SE3nv、SE3-Transformer、重みを準備し、ProteinMPNN の Python/PyTorch/NumPy 環境を別途構築します。以下の取得コマンドだけでは導入は完了しません。

git clone https://github.com/RosettaCommons/RFdiffusion.git
git -C RFdiffusion checkout 86507b6538f51fce57b5a72477165f03999ed7ae
git clone https://github.com/dauparas/ProteinMPNN.git
git -C ProteinMPNN checkout 8907e6671bfbfc92303b5f79c4b5e6ce47cdef57
公式出典

期待される結果

ソースが固定され、依存関係を満たす個別の環境が記録されています。

3. ファイルと鎖の接続条件を記録

Linux

全骨格版 v_48_020 を使用し、--ca_only は指定しません。鎖 A、N/CA/C/O 原子、残基の対応を確認します。モチーフや追加鎖を導入する場合は固定位置と鎖の方針を先に定義します。

公式出典

期待される結果

確認済み単鎖 PDB を公式の --pdb_path に渡せます。

4. 候補骨格を一つ生成

Linux

構築済み RFdiffusion 環境を有効にして一つの小規模サンプルを生成します。コマンド終了ではなく出力ファイルを確認します。

cd RFdiffusion
./scripts/run_inference.py 'contigmap.contigs=[150-150]' inference.output_prefix=review_outputs/backbone inference.num_designs=1
公式出典

期待される結果

期待する成果物は RFdiffusion/review_outputs/backbone_0.pdb と対応する TRB、150 の設計残基です。本バッチで観測した結果ではありません。

5. 確認済み PDB から配列を設計

Linux

親ディレクトリに戻り ProteinMPNN 環境を有効にします。鎖と原子を確認してから PDB を渡します。シード37、温度0.1は明示したデモ設定です。

python ProteinMPNN/protein_mpnn_run.py --pdb_path RFdiffusion/review_outputs/backbone_0.pdb --pdb_path_chains A --out_folder sequence_outputs --num_seq_per_target 2 --sampling_temp 0.1 --seed 37 --model_name v_48_020
公式出典

期待される結果

sequence_outputs/seqs に配列とモデル・シード・スコア情報を含む FASTA が期待されます。生成数と150残基の長さを確認し、参照配列を新設計に数えません。

トラブルシューティング

  • 依存関係・CUDA の失敗:固定版の環境と実際のドライバー・機器を確認し、環境を無断で混在させません。
  • 骨格がない場合:ログと重みの配置を確認します。
  • 解析エラー:鎖 A、残基番号、骨格原子を確認し、修正時も対応を維持します。
  • メモリー不足:バッチを縮小してエラーを保存します。
  • FASTA の不一致:参照配列と生成配列を区別し、骨格に対応させます。低スコアだけでは検証になりません。
まだ動作しません

代替案

別途確認した ProteinMPNN-FastRelax は拡張候補であり、実行済み工程ではありません。本基準例は骨格と配列の組までです。