既存のタンパク質結合物をBoltzでスクリーニングします。 次のような場合に使用: 提供されたタンパク質、ペプチド、抗体、ナノボディ(抗体の小型版)、または結合物ライブラリー(複数の候補物質の集合)を対象物に対してランク付けしたいとき。 新しいタンパク質の設計や、小分子物質のスクリーニングには対応していません。
Screen existing protein binders with Boltz. Use when ranking a supplied protein, peptide, antibody, nanobody, or binder library against a target. Not for designing new proteins or screening small molecules.
boltz-api が PATH に存在しない場合は、再試行前に boltz-cli-setup を使用してインストール/アップデートの案内を受けてください。
コマンドが認証の欠如または期限切れを報告した場合は、再試行前に boltz-cli-setup を使用して boltz-api auth login --device-code を開始してください。事前に許可を求める必要はありません。
エージェントホストのサンドボックスが boltz-api のインストール/認証/API呼び出しをブロックする場合は、再試行前に boltz-cli-setup を使用して、ユーザー全体のCLIインストール・ブラウザログイン・認証情報の保存・一時ファイル・APIアクセスに必要なホストサンドボックスのバイパス/エスカレーションをリクエストしてください。
次のような場合に使用: ユーザーがすでに候補タンパク質 / ペプチド / 抗体 / ナノボディを持っている場合。
バインダーライブラリを proteins(候補複合体のリスト)に正規化します。単純な配列ライブラリの場合、各エントリは1つのタンパク質エンティティを持ちます。マルチチェーン候補(抗体の重鎖+軽鎖)も使用できます。
ターゲットのバリアントを選択します:
structure_template — ユーザーがCIF/PDBファイルまたはURLを持っている場合。どのチェーンをポリマーまたはリガンドとするか、保持する残基(crop_residues)、および任意で epitope_residues / flexible_residues を指定します。no_template — ユーザーが配列のみを持っている場合。target.entities として渡し、任意で epitope_residues を追加します。ユーザーがジオメトリ制約を求めない限り、bonds / constraints は追加しないでください。
ペイロードのYAMLまたはJSONを作成し、estimate-cost を実行してUSDのコストを表示し、明示的な確認を待ちます。
start でジョブを送信し、IDを取得します。
エージェントランタイムのバックグラウンド/ノンブロッキングコマンド機能を使用して download-results を起動します。
run_in_background: true を指定したBashを使用します。yield_time_ms: 1000 を指定したフォアグラウンドのシェルコマンドとして download-results を実行します。Codexが session_id を返した場合は保持しておきますが、download-status と実行ディレクトリを信頼できる情報源として扱います。download-status を定期的にチェックし、ダウンロードが終了状態に達したら簡潔な完了または失敗の通知を投稿するハートビートを作成します。ダウンローダーを起動した後は、必ずジョブID・実行名・出力ディレクトリを報告してください。ハートビートが作成された場合は次回チェックの間隔を、そうでない場合は download-status コマンドを含めてください。
<output-root>/<run-name>/results/index.jsonl のヒット結果を binding_confidence の降順でランク付けします。タイブレーカーとして iptm と min_interaction_pae を使用します。optimization_score はこのエンドポイントでは出力されません。出力レイアウトとメトリクスの詳細については references/results.md を参照してください。
# 実行前にプレースホルダーを具体的な絶対パスに置き換えてください。
# 短くわかりやすい実行名を使用してください。例: protein-screen-<target>-<library>-v1
boltz-api protein:library-screen estimate-cost \
--input @yaml:///absolute/path/payload.yaml
boltz-api protein:library-screen start \
--idempotency-key "<run-name>" \
--input @yaml:///absolute/path/payload.yaml \
--raw-output --transform id
# 表示されたジョブIDをこのコマンドにコピーし、エージェントランタイムの
# バックグラウンド/ノンブロッキングモードで起動してください。
# Claude Code: run_in_background=true を指定したBash。
# Codex: yield_time_ms=1000 を指定したフォアグラウンドのシェルコマンド。
# 返された session_id があれば保持してください。
# Codex では "&" の追加や nohup の使用はしないでください。
boltz-api download-results \
--id "<job-id-from-start>" --name "<run-name>" \
--root-dir "/absolute/path/boltz-experiments" \
--poll-interval-seconds 30
ペイロードのキーは proteins、target — これらがAPIボディのフィールド名です。
structure_template の場合、structure.data フィールド内に @data:///abs/path/target.cif でCIF/PDBのバイトを埋め込んでください。素の @path は使用しないでください(自動ファイルタイプ検出によってCIFがplainテキストとしてbase64フィールドに送られ、サーバーパーサーが破損した事例があります)。epitope_residues と flexible_residues は crop_residues のサブセットである必要があります。references/api.md に示されているAPIボディ名と完全に一致させてください。cd しないでください。同じ --root-dir を渡し、絶対パスを使用することで相対パスのズレを防ぎます。estimate-cost と start には、--input @yaml:///absolute/path/payload.yaml または @json:///absolute/path/payload.json による1つにまとめたトップレベルのペイロードを優先してください。--idempotency-key と --workspace-id はトップレベルのフラグとして指定します。--input 内にも同じキーがある場合、トップレベルのフラグが優先されます。--target @yaml:///absolute/path/target.yaml や繰り返しの --protein @json:///absolute/path/protein-1.json のようにオーバーライドとして使用できます。stdinへのYAML/JSONのパイプも機能しますが、APIボディのフィールド名を使用する必要があります。@file:// や @./ は絶対に使用しないでください。--idempotency-key と --name には同じスラッグを使用してください。boltz-api で始まるトップレベルのコマンドとして維持してください。ユーザーがその形式を明示的に許可していない限り、boltz-api の呼び出しに対して sh -c・インライン環境変数の代入・エイリアス・ラッパースクリプト・ループ・パイプラインは使用しないでください。--raw-output --transform id を使用して出力されたIDを読み取り、そのリテラルIDを次の download-results コマンドに貼り付けてください。download-results にはエージェントランタイムのバックグラウンド/ノンブロッキングコマンドモードを優先してください。Codexでは特に、download-results をフォアグラウンドで保持しシェルツールのyieldを1000ミリ秒に設定してください。コマンドがまだ実行中の場合、Codexは session_id を返します。Codexでは & の追加や nohup の使用をしないでください。ツールランナーが .boltz-run.json の書き込み完了前にシェルバックグラウンドの子プロセスをクリーンアップする可能性があります。--poll-interval-seconds 30 はダウンローダーのデフォルトとして適切です。download-results はデフォルトでJSONL形式の進捗をstderrに出力します。人が読めるログが必要な場合のみ --progress-format text --verbose を追加してください。download-results 起動後にハートビートをスケジュールしてください。ハートビートは boltz-api --format json download-status --name "<run-name>" --root-dir "/absolute/path/boltz-experiments" を実行し、終了状態になったら停止します。候補数によってチェック間隔を決定してください: 100件未満は1〜2分ごと、100〜1,000件は5分ごと、1,000件超は15分ごと。重要なステータス変化や完了/失敗の通知のみを投稿してください。保存した session_id に対するポーリングは、ユーザーが明示的に進捗を確認したい場合のみ、空の write_stdin で行ってください。現在のターン内で手動ポーリングループを実行しないでください。download-status の確認に必要なコマンドを報告してください。--name "<run-name>" と --root-dir を指定して boltz-api download-results を再実行してください。estimate-cost を実行し、その返り値のみを引用してください。boltz-api protein:library-screen start --helpproteins リストの構造と両方の target バリアント(chain_selection を使った structure_template、およびエピトープヒントを使った no_template)については references/api.md を参照してください。スクリーニングされたバインダーのランク付けや出力の説明を行う際は、ダウンロード後に references/results.md を参照してください。
download-results 完了後、results/index.jsonl でランク付けを行います。ローカルファイルのレイアウトとメトリクスの意味については 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 when the user already has candidate proteins / peptides / antibodies / nanobodies.
proteins — a list of candidate complexes. For a simple sequence library each entry has one protein entity; multi-chain candidates (antibody heavy+light) are also allowed.structure_template — user has a CIF/PDB file or URL; select which chains are polymer vs ligand, which residues to keep (crop_residues), and optionally epitope_residues / flexible_residues.no_template — user has only sequences; pass them as target.entities plus optional epitope_residues.bonds / constraints unless the user asks for geometry constraints.estimate-cost, show the USD cost, wait for explicit confirmation.start to submit. Capture the ID.download-results with the agent runtime's background/non-blocking command facility. In Claude Code, use Bash with run_in_background: true. In Codex, run download-results as a foreground shell command with yield_time_ms: 1000; if Codex returns a session_id, keep it for optional same-thread polling, but treat download-status plus the run directory as the durable source of truth. In Codex app/desktop runtimes that expose same-thread heartbeat automations, create a heartbeat that checks download-status periodically and posts a concise completion or failure update when the download reaches a terminal state. After launching the downloader, always report the job ID, run name, and output directory. Include the next check cadence if the heartbeat was created; otherwise include the download-status command.<output-root>/<run-name>/results/index.jsonl by binding_confidence descending. Use iptm and min_interaction_pae as tiebreakers. optimization_score is not emitted for this endpoint. Read references/results.md for output layout and metric details.# Replace placeholders with concrete absolute paths before running.
# Use a short descriptive run name, for example: protein-screen-<target>-<library>-v1
boltz-api protein:library-screen estimate-cost \
--input @yaml:///absolute/path/payload.yaml
boltz-api protein:library-screen start \
--idempotency-key "<run-name>" \
--input @yaml:///absolute/path/payload.yaml \
--raw-output --transform id
# Copy the printed job ID into this command, then launch it in the agent
# runtime's background/non-blocking mode.
# Claude Code: Bash with run_in_background=true.
# Codex: foreground shell command with yield_time_ms=1000; keep the returned session_id if one is provided.
# Do not append "&" or use nohup in Codex.
boltz-api download-results \
--id "<job-id-from-start>" --name "<run-name>" \
--root-dir "/absolute/path/boltz-experiments" \
--poll-interval-seconds 30
Payload keys are proteins, target — API body field names.
structure_template, embed CIF/PDB bytes with @data:///abs/path/target.cif inside the structure.data field. Don't use bare @path (automatic file-type detection once sent CIF as plain text into a base64 field and broke the server parser).epitope_residues and flexible_residues must be subsets of crop_residues.references/api.md.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.--input @yaml:///absolute/path/payload.yaml or @json:///absolute/path/payload.json for estimate-cost and start. Keep --idempotency-key and --workspace-id top-level; if they also appear inside --input, the top-level flags win.--target @yaml:///absolute/path/target.yaml or repeated --protein @json:///absolute/path/protein-1.json entries. Piped YAML / JSON on stdin also works, but it must use API body field names. Never use @file:// or @./.--idempotency-key and --name.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. In Codex specifically, keep download-results in the foreground and set the shell tool yield to 1000 ms; Codex will return a session_id if the command is still running. Do not append & or use nohup in Codex because the tool runner may clean up shell-backgrounded descendants before .boltz-run.json is fully written.--poll-interval-seconds 30 is a reasonable downloader default. download-results emits JSONL progress on stderr by default; add --progress-format text --verbose only when you explicitly want human-readable logs.download-results. The heartbeat should run boltz-api --format json download-status --name "<run-name>" --root-dir "/absolute/path/boltz-experiments" and stop once terminal. Choose cadence by candidate count: under 100 -> every 1-2 minutes; 100-1,000 -> every 5 minutes; over 1,000 -> every 15 minutes. Post only material status changes or terminal completion/failure. Poll the saved session_id with an empty write_stdin only for interactive, user-requested progress checks. Never run a manual poll loop in the current turn.download-status.boltz-api download-results with the same --name "<run-name>" and the same --root-dir.estimate-cost and quote only the number it returns.boltz-api protein:library-screen start --helpRead references/api.md for the proteins list shape and both target variants (structure_template with chain_selection, and no_template with epitope hints). Read references/results.md after download when ranking screened binders or explaining outputs.
Rank from results/index.jsonl after download-results; use references/results.md for local file layout and metric meanings.
原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。