Boltzを用いて、定義された1つの複合体の構造と結合を予測します。 次のような場合に使用: - タンパク質、RNA、DNA、またはリガンド(結合物質)複合体を折り畳む - 1つのリガンド(結合物質)をドッキング(相互作用位置を決定)する - インターフェース(相互作用面)を予測する - 結合の強さをスコアリング(評価)する ライブラリのスクリーニング(大量試験)や分子設計には向きません。
Predict structures and binding for one defined complex with Boltz. Use when folding a protein, RNA, DNA, or ligand complex, docking one ligand, predicting an interface, or scoring binding. Not for screening libraries or design.
boltz-api が PATH に見つからない場合は、再試行する前に boltz-cli-setup を使ってインストール/更新のガイダンスを確認してください。
コマンドが認証の欠落または期限切れを報告した場合は、boltz-cli-setup を使って boltz-api auth login --device-code を実行してから再試行してください。事前に許可を求める必要はありません。
エージェント実行環境のサンドボックスが boltz-api のインストール、認証、API 呼び出しをブロックしている場合は、boltz-cli-setup を使ってホストサンドボックスの制限解除またはアップグレードをリクエストしてから再試行してください。これは、ユーザー全体の CLI インストール、ブラウザログイン、認証情報の保存、一時ファイル、または API アクセスに必要な場合があります。
このスキルは、1つの明確に定義された複雑なタスク用です。複数のワークフロー全体には使用しないでください。
入力を entities に正規化する。各エンティティは {type, chain_ids, value} の形式です。chain_ids(チェーンが1つであっても配列)と value フィールド(sequence ではなく)に注意してください:
{"entities": [{"type": "protein", "chain_ids": ["A"], "value": "MKTAYIAKQRQISFVKSHFSRQ"}]}
type は protein | rna | dna | ligand_smiles | ligand_ccd のいずれかです。チェーン ID はエンティティの順序(A、B、C など)に従います。ユーザーが別の指定をしない限り、このようにしてください。
最初のペイロードを作成する前に、必ず references/api.md を読んで、タイプごとのフィールドバリアント(cyclic、modifications、リガンド CCD コード など)を確認してください。sequence: や chain_id: "A"(単数形)のような推測では不明瞭な 400 エラーが発生します。
ユーザーがバインディング指標(結合測定値)を求める場合は、明示的な type フィールドを持つフラットな binding ブロックを追加します。リガンド-タンパク質バインディング用:
binding:
type: ligand_protein_binding
binder_chain_id: B
タンパク質-タンパク質バインディング用:
binding:
type: protein_protein_binding
binder_chain_ids: [B]
binding の下にバリアント名をネストしないでください(例えば binding.ligand_protein_binding オブジェクトは不可)。
サポートされているオプション機能には constraints、bonds、modifications、model_options、およびバインディング指標が含まれます。ユーザーが要求した場合のみ追加してください。正確な形式と例については references/api.md を読んでください。
ペイロード(YAML または JSON)を作成し、estimate-cost を実行して USD でのコストを表示し、明示的な確認を待ちます。
start で実行して提出します(同期処理)。ジョブ ID を記録してください。
ランタイムの長時間実行または非ブロッキングコマンド機能を通じて download-results を起動し、エージェントセッションをブロックせずにポーリングとダウンロードが継続するようにします。ランタイムが文書化している仕組みを使用してください。不明な場合は boltz-cli-setup を参照してください。ダウンローダー起動後は、常にジョブ ID、実行名、出力ディレクトリを報告してください。ランタイムがフォローアップチェックをスケジュール可能な場合は、download-status チェックをスケジュール指定し、確認頻度を示してください。そうでない場合は download-status コマンドを記載してください。
# プレースホルダーを実際の絶対パスに置き換えてから実行します。
# 短い説明的な実行名を使用します(例: sab-<対象>-<リガンド>-v1)
# 1. コスト見積もり
boltz-api predictions:structure-and-binding estimate-cost \
--model boltz-2.1 \
--input @yaml:///absolute/path/payload.yaml
# 2. ユーザーに確認してから提出
boltz-api predictions:structure-and-binding start \
--model boltz-2.1 \
--idempotency-key "<run-name>" \
--input @yaml:///absolute/path/payload.yaml \
--raw-output --transform id
# 3. 出力されたジョブ ID をこのコマンドにコピーしてから、
# ランタイムの長時間実行/非ブロッキングコマンド機能を通じて起動します
# (不明な場合は boltz-cli-setup を参照)。
# ランタイムがシェル背景実行をドキュメント化していない限り、
# シェル "&" または nohup で デタッチしないでください。
boltz-api download-results \
--id "<job-id-from-start>" --name "<run-name>" \
--root-dir "/absolute/path/boltz-experiments" \
--poll-interval-seconds 10
# -> /absolute/path/boltz-experiments/<run-name>/outputs/archive.tar.gz, .boltz-run.json
ペイロードフィールド名は references/api.md に示されている API 本体の名前と完全に一致させ、マージされたペイロードを --input @yaml:///absolute/path/payload.yaml または @json:///absolute/path/payload.json で渡してください。オブジェクト型ペイロードに @./payload.yaml や @file:// を使用しないでください。
出力ルート、ペイロードファイル、埋め込み構造ファイルには絶対パスを使用します。フォローアップコマンドの実行ディレクトリに cd しないでください。同じ --root-dir を渡して絶対パスを使用し、後続の相対パスのドリフト(ズレ)を防いでください。
レジデュインデックス(アミノ酸残基の番号)は、ペイロードがレジデュー位置を求めるあらゆる場所で 0 ベースです(制約、修正、コンタクトトークン)。
--target / structure.data に埋め込まれた CIF/PDB バイナリデータには @data:///absolute/path/file.cif を使用してください。バイナリを自動検出して base64 エンコードします。バイナリデータに単なる @path を使用しないでください。
提出時の --idempotency-key とダウンロード時の --name に同じスラッグを使用して、再実行がべき等(冪等)になり、.boltz-run.json から再開できるようにします。
許可ゲート付きランタイムでは、各 Boltz 呼び出しを boltz-api で始まるトップレベルコマンドとして保ちます。ユーザーが既に許可した正確なコマンド形式でない限り、sh -c、インライン環境割り当て、エイリアス、ラッパースクリプト、ループ、または boltz-api 呼び出しの周囲のパイプラインより具体的な引数を優先します。--raw-output --transform id を使用して、出力された ID を読み、その ID をそのまま次の download-results コマンドに貼り付けます。
ランタイムの長時間実行または非ブロッキングコマンド機能を通じて download-results を実行します。ツール引数で想定するメカニズムではなく、ランタイムが文書化しているメカニズムを使用します。ランタイムがシェル背景実行をドキュメント化していない限り、シェル & または nohup でデタッチしないでください。シェル背景実行プロセスは .boltz-run.json が書き込まれる前に回収される場合があります。このランタイムが長時間実行コマンドをどう処理するか不明な場合は、boltz-cli-setup を参照してください。
ダウンロード開始後は、手動で待機したり、アドホックなポーリングループを実行したりしないでください。download-results は stderr で既定で JSONL 進捗を出力します。人間が読める形式のログが明示的に必要な場合のみ --progress-format text --verbose を追加してください。
ランタイムがフォローアップチェックをスケジュール可能な場合(ハートビート、スケジュール済みタスク、またはリマインダー)、download-results 起動後にスケジュール指定します。これは boltz-api --format json download-status --name "<run-name>" --root-dir "/absolute/path/boltz-experiments" を実行し、重要なステータス変更またはターミナル完了/失敗のみをポスト、ターミナル到達後に停止する必要があります。ランタイムがフォローアップをスケジュールできない場合は、自動次チェックを主張しないでください。ジョブ ID、実行名、出力ディレクトリ、および download-status コマンドを報告します。保存されたセッションハンドルは、対話型のユーザーがリクエストした進捗チェックのためだけにポーリングします。現在のターンでは手動ポーリングループを実行しないでください。
デタッチされたダウンロードを再開する必要がある場合は、同じ --name "<run-name>" と同じ --root-dir で boltz-api download-results を再実行します。
ポーリング間隔: SAB では --poll-interval-seconds 10 を保ちます。予測は通常数分以内に完了します。
コスト: SAB の公開されたユニット単価はありません。estimate-cost を実行し、返された数値のみを示します。コストを推測またはコメントしないでください。
references/api.md に記載されていない場合:
boltz-api predictions:structure-and-binding start --help(スキーマの詳細はそこには記載されていません。フラグ名と型のみです)エンティティ形式、バインディングバリアント、ボンド、制約、モデルオプション、入力例については references/api.md を読んでください。ダウンロード出力、指標、または検証の特殊性をまとめるときは references/results.md を読んでください。
metrics.json をまとめ、ユーザーをダウンロード済み CIF パスに指示します。ローカルレイアウト、ネストされた指標、バインディング指標バリアント、SAB 検証の特殊性については references/results.md を読んでください。
サーバーが {"code":"VALIDATION_ERROR","message":"Request validation failed"} のみでペイロードを拒否した場合は、entities、binding、constraints を検査してください。詳細については references/results.md を読んでください。
If boltz-api is missing from PATH, use boltz-cli-setup for install/update guidance before retrying.
If a command reports missing or expired authentication, use boltz-cli-setup to start boltz-api auth login --device-code before retrying; do not ask permission first.
If the agent host sandbox blocks boltz-api install/auth/API calls, use boltz-cli-setup to request the host sandbox bypass/escalation needed for user-wide CLI install, browser login, credential storage, temp files, or API access before retrying.
Use this skill for one defined complex, not a library workflow.
Normalize the inputs into entities. Each entity is {type, chain_ids, value} — note plural chain_ids (an array, even for one chain) and the field is value, not sequence:
{"entities": [{"type": "protein", "chain_ids": ["A"], "value": "MKTAYIAKQRQISFVKSHFSRQ"}]}
type is one of protein | rna | dna | ligand_smiles | ligand_ccd. Chain IDs go in entity order (A, B, C, …) unless the user specifies otherwise. Read references/api.md for per-type field variants (cyclic, modifications, ligand CCD codes, etc.) before authoring your first payload — agent guesses like sequence: or chain_id: "A" (singular) fail with unclear 400 errors.
If the user wants binding metrics, add a flat binding block with an explicit type field. For ligand-protein binding use:
binding:
type: ligand_protein_binding
binder_chain_id: B
For protein-protein binding use:
binding:
type: protein_protein_binding
binder_chain_ids: [B]
Do not nest the variant name under binding (for example, no binding.ligand_protein_binding object).
Supported optional features include constraints, bonds, modifications, model_options, and binding metrics; only add them if the user asks. Read references/api.md for exact shapes and examples.
Author the payload YAML or JSON, run estimate-cost, show the USD cost, wait for explicit confirmation.
start to submit (synchronous). Capture the ID.
Launch download-results through the runtime's long-running or non-blocking command facility so polling + download continue without blocking the agent session. Use the mechanism the runtime documents; consult boltz-cli-setup if unsure. After launching the downloader, always report the job ID, run name, and output directory. If the runtime can schedule follow-up checks, schedule a download-status check and state the cadence; otherwise include the download-status command.
# Replace placeholders with concrete absolute paths before running.
# Use a short descriptive run name, for example: sab-<target>-<ligand>-v1
# 1. estimate
boltz-api predictions:structure-and-binding estimate-cost \
--model boltz-2.1 \
--input @yaml:///absolute/path/payload.yaml
# 2. confirm with user, then submit
boltz-api predictions:structure-and-binding start \
--model boltz-2.1 \
--idempotency-key "<run-name>" \
--input @yaml:///absolute/path/payload.yaml \
--raw-output --transform id
# 3. Copy the printed job ID into this command, then launch it through the
# runtime's long-running/non-blocking command facility (consult boltz-cli-setup
# if unsure). Do not detach it with shell "&" or nohup unless the runtime
# documents shell backgrounding as its supported mode.
boltz-api download-results \
--id "<job-id-from-start>" --name "<run-name>" \
--root-dir "/absolute/path/boltz-experiments" \
--poll-interval-seconds 10
# -> /absolute/path/boltz-experiments/<run-name>/outputs/archive.tar.gz, .boltz-run.json
references/api.md; then pass the merged payload with --input @yaml:///absolute/path/payload.yaml or @json:///absolute/path/payload.json. Never use @./payload.yaml or @file:// for object-typed payloads.cd into the run directory for follow-up commands; pass the same --root-dir and use absolute paths so later relative paths do not drift.--target / structure.data, use @data:///absolute/path/file.cif — it detects binary and base64-encodes. Don't use bare @path for binary data.--idempotency-key at submit time and --name at download time so re-runs are idempotent and resume from .boltz-run.json.boltz-api. Prefer concrete arguments over sh -c, inline environment assignments, aliases, wrapper scripts, loops, or pipelines around the boltz-api invocation unless the user already allowed that exact command form. Use --raw-output --transform id, read the printed ID, then paste that literal ID into the next download-results command.download-results through the runtime's long-running or non-blocking command facility, using the mechanism the runtime documents rather than tool arguments you assume exist. Do not detach it with shell & or nohup unless the runtime documents shell backgrounding as its supported mode; some tool runners reap shell-backgrounded children before .boltz-run.json is written. If unsure how this runtime handles long-running commands, consult boltz-cli-setup.download-results emits JSONL progress on stderr by default; add --progress-format text --verbose only when you explicitly want human-readable logs.download-results. It should run boltz-api --format json download-status --name "<run-name>" --root-dir "/absolute/path/boltz-experiments", post only material status changes or terminal completion/failure, and stop once terminal. If the runtime cannot schedule follow-ups, do not claim an automatic next check: report the job ID, run name, output directory, and the download-status command. Poll a saved session handle only for interactive, user-requested progress checks; never run a manual poll loop in the current turn.boltz-api download-results with the same --name "<run-name>" and the same --root-dir.--poll-interval-seconds 10 for SAB — predictions usually finish in under a few minutes.estimate-cost and state only the figure it returns. Don't estimate or comment on cost.For anything not covered in references/api.md:
boltz-api predictions:structure-and-binding start --help (schema details aren't there — just flag names and types)Read references/api.md for entity shapes, binding variants, bonds, constraints, model options, and input examples. Read references/results.md when summarizing downloaded outputs, metrics, or validation quirks.
Summarize metrics.json and point the user at the downloaded CIF path. Read references/results.md for the local layout, nested metrics, binding metric variants, and SAB validation quirks.
If the server rejects a payload with only {"code":"VALIDATION_ERROR","message":"Request validation failed"}, inspect entities, binding, and constraints; read references/results.md for details.
原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。