rfdiffusion-nim について
rfdiffusion-nimは、NVIDIAのホスト型APIまたはローカルDocker NIMでRFdiffusionを使い、タンパク質のバックボーンPDBを設計するスキルです。de novo設計、モチーフ足場、結合体設計に対応し、出力の保存と解釈も案内します。
主な機能
- 01de novoバックボーン設計
- 02モチーフ足場の設計
- 03ホットスポットを使った結合体設計
- 04ホスト型APIとローカルNIMの利用
- 05PDB出力の保存と解釈
活用シーン
- 01de novoタンパク質のバックボーン生成
- 02標的モチーフ周辺の足場構築
- 03標的構造に対する結合体設計
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ nvidia-bionemo/ bionemo-agent-toolkit --skill rfdiffusion-nimインストール後、Claude Code で/rfdiffusion-nimを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
BENCHMARK.mdskill-card.mdskill.oms.sigconfig/skillspector-baseline.ymlevals/config.ymlevals.jsontrigger_evals.jsonreferences/api.mdexamples.mdparameters.mdscience.mdvalidation.md詳細
RFDiffusion NIM
de novo タンパク質、モチーフ足場、結合体向けのタンパク質バックボーン PDB を設計します。 まずはホスト型/ローカルでの利用にこのガイドを使用し、必要な場合にのみ補足ファイルを読み込んでください。
references/api.md:正確なエンドポイント、スキーマ、Docker フラグ、レスポンスフィールド。references/science.md:設計モード、強み、制限、後続工程への引き継ぎ。references/parameters.md:contigs、ホットスポット、ステップ、シード。references/validation.md:PDB、contig、アーティファクトの妥当性チェック。references/examples.md:ホスト型/ローカルの簡潔なリクエストパターン。
モードを選択
状況が不明な場合にのみ尋ねてください。
NVIDIA API をホスト型で利用しますか、それともローカルの Docker NIM を利用しますか?
- ホスト型:
https://health.api.nvidia.com/v1/biology/ipd/rfdiffusion/generate - ローカル:
http://localhost:8000/biology/ipd/rfdiffusion/generate
ローカル推論のパスには /v1/ を含めません。ホスト型のリクエストでは Authorization: Bearer $NGC_API_KEY を使用します。サポートされているローカル Docker の起動では、レジストリへのログイン、利用資格の確認、初回のモデルダウンロードに NGC_API_KEY(またはプリフライトを介した NVIDIA_API_KEY)を使用します。-e NGC_API_KEY でコンテナに渡してください。準備完了後のローカル推論リクエストでは、認証ヘッダーは不要です。ウォームキャッシュを利用したキー不要の起動方法は、イメージ/バージョンによって異なるため、決めつけないでください。
ローカル Docker
ローカルセットアップについて回答する場合は、docker login、docker run、準備状況の確認、認証不要のローカルリクエストを実行する前に、以下のプリフライトをそのまま記載してください。単純な : "${NGC_API_KEY:?Set NGC_API_KEY}" チェックに置き換えたり、キャッシュのデフォルト値を作り出したり、NVIDIA_API_KEY へのフォールバックを削除したりしないでください。デフォルトのセットアップでは単一 GPU の device=0 を使用します。
set -a
[ -f .env ] && . ./.env
set +a
if [ -z "${NGC_API_KEY:-}" ] && [ -n "${NVIDIA_API_KEY:-}" ]; then
export NGC_API_KEY="$NVIDIA_API_KEY"
fi
: "${NGC_API_KEY:?Set NGC_API_KEY or NVIDIA_API_KEY}"
: "${LOCAL_NIM_CACHE:?Set LOCAL_NIM_CACHE}"
echo "$NGC_API_KEY" | docker login nvcr.io --username '$oauthtoken' --password-stdin
mkdir -p "${LOCAL_NIM_CACHE}"
chmod 755 "${LOCAL_NIM_CACHE}"
docker run -it \
--runtime=nvidia \
--gpus "device=0" \
-e NGC_API_KEY \
-v "${LOCAL_NIM_CACHE}:/opt/nim/.cache" \
-p 8000:8000 \
nvcr.io/nim/ipd/rfdiffusion:2
準備状況の確認:
until curl -sf http://localhost:8000/v1/health/ready; do sleep 5; done
Contigs DSL
contigs は、保持するものと生成するものを定義します。パターン構文全般(固定長、範囲、保持する鎖セグメント、鎖の区切り)については、references/api.md の Contigs Language Reference を参照してください。
設計モード:
- de novo:
contigs="80-120"。ホスト型での実環境検証では、空でないinput_pdbまたはinput_pdb_assetが必要なため、インラインリクエストには以下のダミー PDB を含めてください。 - モチーフ足場の構築:
target.pdbを読み込み、input_pdbを渡し、"A25-35/0 50-80"のような contig を使用します。 - 結合体の設計:ターゲットの
input_pdb、ターゲットと結合体のセグメントを含む contig、および ChainResidue 文字列形式のhotspot_res=["A50", "A51", ...]を渡します。
DUMMY_PDB = (
"CRYST1 1.000 1.000 1.000 90.00 90.00 90.00 P 1 1\n"
"ATOM 1 CA ALA A 1 0.000 0.000 0.000 1.00 0.00 C\n"
"END\n"
)
リクエストパターン
import os
from pathlib import Path
import requests
HOSTED = True
url = (
"https://health.api.nvidia.com/v1/biology/ipd/rfdiffusion/generate"
if HOSTED else "http://localhost:8000/biology/ipd/rfdiffusion/generate"
)
headers = {"Content-Type": "application/json"}
if HOSTED:
headers["Authorization"] = f"Bearer {os.getenv('NGC_API_KEY')}"
payload = {
"input_pdb": DUMMY_PDB,
"contigs": "80-120",
"diffusion_steps": 50,
}
response = requests.post(url, headers=headers, json=payload, timeout=300)
response.raise_for_status()
result = response.json()
Path("designed_backbone.pdb").write_text(result["output_pdb"])
モチーフ足場:
payload = {
"input_pdb": Path("target.pdb").read_text(),
"contigs": "A25-35/0 50-80",
"diffusion_steps": 50,
}
結合体の設計:
payload = {
"input_pdb": Path("target.pdb").read_text(),
"contigs": "A1-100/0 50-100",
"hotspot_res": ["A50", "A51", "A52", "A53", "A54"],
"diffusion_steps": 50,
}
出力の保存と解釈
result["output_pdb"] を PDB アーティファクトとして保存し、elapsed_ms がある場合は報告してください。生成されたバックボーンは最終的なタンパク質ではありません。配列設計には ProteinMPNN に渡し、その後 Boltz2 または OpenFold3 で配列/構造を検証してください。PDB と contig のチェックについては、references/validation.md を参照してください。
制限事項とトラブルシューティング
diffusion_steps:1~50。50 は最高品質で、少ないほど高速です。- GPU は 1 基です。GPU VRAM は最低でも約 12 GB 必要です。
hotspot_resにはタプルではなく、"A50"のような文字列を使用します。422は通常、contigs/hotspot_resの鎖 ID がinput_pdbと一致しない、contig の形式が不正、またはホスト型の de novo でinput_pdbが省略されていることを示します。- ローカル URL の 404 は通常、誤って
/v1/プレフィックスを付けていることが原因です。