• Projects
  • Service
  • About
  • branding.bz
  • Podcast
  • Tips
  • FAQ
  • Recruit
  • Download
  • Contact
  • branding.bz(ブランド構築SaaS)
  • DESIGN NOW(デザインメディア)
  • X
  • LinkedIn
  • Spotify
  • Facebook

213-0011 神奈川県川崎市高津区久本3-6-7-303

© 2026 ID INC. All rights reserved

claude-skills/スキル
SKILLOfficialdevelopment

boltz-small-molecule-design

プラグイン
boltz
ソース
GitHub で見る ↗
説明

Boltzで新しい小分子結合物質を設計します。 次のような場合に使用: - ターゲット(標的タンパク質など)に対して、手持ちの化合物ライブラリー(既存の分子データベース)がない状態で、新規のリガンド(結合物質)や有望な候補化合物を生成したい場合 注意: 既存の分子をスクリーニングしたり、単発のドッキング計算(分子配置の予測)を行ったりする場合には向きません。

原文を表示

Design new small-molecule binders with Boltz. Use when generating novel ligands or hits for a target without a fixed compound library. Not for screening existing molecules or one-off docking.

ユースケース
  • 新規リガンドを生成したい
  • 有望な候補化合物を探索したい
  • 化合物ライブラリーがない状態で設計したい
本文(日本語訳)

ワークフロー

boltz-api が PATH にない場合は、インストール・更新の手引きを得るため、再試行前に boltz-cli-setup を使用してください。

認証が不足または期限切れであることをコマンドが報告した場合は、boltz-cli-setup を使用して boltz-api auth login --device-code を実行してください。事前に許可を求めずに再試行してください。

エージェント実行環境の保護機構が boltz-api のインストール・認証・API 呼び出しをブロックする場合は、boltz-cli-setup を使用して、ユーザー全体での CLI インストール、ブラウザログイン、認証情報保存、一時ファイル、API アクセスに必要な実行環境のバイパス・昇格をリクエストしてから再試行してください。

次のような場合に使用: ユーザーが既存のライブラリを持たず、新たに小分子結合物質(既存のデータベースから引き出すのではなく、ゼロから設計した化合物)の設計を求めている場合。

  1. ターゲットを正規化する:1 つ以上のタンパク質配列を target.entities に整形し、オプションで pocket_residues(ゼロ始まりのインデックス)や reference_ligands(ポケットの位置特定に役立つ既知の結合物質)を追加します。

  2. num_molecules を選択します。有効な範囲は 10 ~ 1,000,000 です(範囲外の値はサーバーが拒否)。ユーザーが 10 未満の数を指定した場合は、最小値を説明して 10 を提案してください。

  3. chemical_space(例:"enamine_real")は、ユーザーが合成可能な化合物を特定のライブラリ内に限定したいと明示的に述べた場合のみ追加してください。

  4. サポートされているオプション機能は chemical_space と molecule_filters です。これらはユーザーの明示的なリクエストがあるときのみ追加してください。正確な形式とフィルタオプションについては、references/api.md を参照してください。

  5. ペイロード(API に送信する入力データ)を YAML または JSON で作成し、estimate-cost を実行して USD での予想コストを表示し、明示的な確認を待ってください。コストは化合物あたり固定 $0.025(サイズに依存せず)です。レスポンスから返ってきた estimated_cost_usd を確実な合計として引用してください。

  6. start で送信します(同期実行)。ジョブ ID を記録してください。

  7. ランタイムのドキュメントで説明されている長時間実行またはノンブロッキングコマンド機構を使用して download-results を実行します。このコマンドはポーリング(定期的に状態確認)、ページ分割、構造ファイルのダウンロード、完了時の終了を行います。ランタイムが採用している仕組みを使用し、不明な場合は boltz-cli-setup を参照してください。ダウンローダー起動後、常にジョブ ID、実行名、出力ディレクトリを報告してください。ランタイムがフォローアップチェックをスケジュール可能な場合は、download-status チェックをスケジュールして実行頻度を明記してください。不可能な場合は、download-status コマンドを含めてください。

  8. <output-root>/<run-name>/results/index.jsonl のヒット(候補化合物)を、ヒット発見には binding_confidence(結合の信頼度)で、リード最適化には optimization_score(最適化スコア)でランク付けしてください。生成された各分子には、無料の adme ブロック(solubility:溶解度、permeability:透過性、lipophilicity:脂溶性)が付属しています。ユーザーが ADME(医薬品の体内動態)を気にする場合や、トップ候補が懸念のある場合は、開発可能性の優先順位付けのためにこれを示してください。出力レイアウトと指標の詳細については、references/results.md を参照してください。

コマンドパターン

# プレースホルダーを実際の絶対パスに置き換えてから実行してください。
# 短く分かりやすい実行名を使用してください。例:sm-design-<target>-<batch>-v1

boltz-api small-molecule:design estimate-cost \
  --input @yaml:///absolute/path/payload.yaml

boltz-api small-molecule:design start \
       --idempotency-key "<run-name>" \
       --input @yaml:///absolute/path/payload.yaml \
       --raw-output --transform id

# 出力されたジョブ ID をこのコマンドにコピーし、ランタイムのドキュメントで説明されている
# 長時間実行またはノンブロッキング機構を使用して起動してください。
# ランタイムのドキュメントで shell のバックグラウンド実行が対応モードとして記載されている
# 場合を除き、shell の "&" や nohup でデタッチしないでください。

boltz-api download-results \
  --id "<job-id-from-start>" --name "<run-name>" \
  --root-dir "/absolute/path/boltz-experiments" \
  --poll-interval-seconds 60
# -> /absolute/path/boltz-experiments/<run-name>/results/<pres_*>/...

ペイロードキーは num_molecules、target、chemical_space、molecule_filters で、これらは API ボディのフィールド名です。

常に実施すること

  • estimate-cost を呼び出す前に 10 <= num_molecules <= 1,000,000 を強制してください。範囲外の値はサーバーが拒否します。

  • コストは化合物あたり固定 $0.025(サイズに依存せず)です。estimate-cost が返すコストが確実な合計です。

  • ポケット残基インデックスはゼロ始まりとして扱ってください。

  • ペイロードフィールド名は 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 または --molecule-filters @json:///absolute/path/filters.json。YAML / JSON をパイプで標準入力に渡すこともできますが、API ボディフィールド名を使用する必要があります。@file:// は絶対に使用しないでください。

  • 送信時の --idempotency-key と download-results での --name に同じスラグを使用してください。

  • 権限管理されたランタイムでは、各 Boltz 呼び出しを boltz-api で始まるトップレベルコマンドとして保ってください。ユーザーが既に許可した正確なコマンド形式を除き、sh -c、インライン環境変数の割り当て、エイリアス、ラッパースクリプト、ループ、boltz-api 呼び出しの周りのパイプラインより、具体的な引数を優先してください。--raw-output --transform id を使用して、出力されたID を読み取り、その ID を次の download-results コマンドにコピーしてください。

  • ランタイムのドキュメントで説明されている長時間実行またはノンブロッキング機構を使用して download-results を実行してください。存在すると仮定した引数ではなく、ランタイムが採用している仕組みを使用してください。ランタイムのドキュメントで shell のバックグラウンド実行が対応モードとして記載されている場合を除き、shell の & や nohup でデタッチしないでください。.boltz-run.json が書き込まれる前に shell でバックグラウンド化された子プロセスが終了してしまう可能性があります。このランタイムが長時間実行コマンドをどのように処理するか不明な場合は、boltz-cli-setup を参照してください。

  • ダウンロード開始後、手動で待機したり、アドホックなポーリングループを実行したりしないでください。実時間は大体 num_molecules に比例します:100 未満は通常数分で完了、100~1,000 は数分から数十分かかり、1,000 超えは入力と計算環境による場合は数時間以上かかる場合があります。固定の期間を引用しないでください。--poll-interval-seconds 60 はダウンローダーの適切なデフォルト値です。download-results は標準エラーで JSONL 形式の進捗を出力します。明示的に人間が読める形のログが必要な場合のみ --progress-format text --verbose を追加してください。

  • ランタイムがフォローアップチェック(ハートビート、スケジュール済みタスク、リマインダー)をスケジュール可能な場合は、download-results 起動後にスケジュールしてください。それは boltz-api --format json download-status --name "<run-name>" --root-dir "/absolute/path/boltz-experiments" を実行し、重要な状態変化または完了・失敗時のみ報告し、完了状態に達したら停止すべきです。num_molecules に基づいて実行頻度を選んでください:100 未満 → 1~2 分ごと、100~1,000 → 5 分ごと、1,000 超え → 15 分ごと。ランタイムがフォローアップをスケジュール不可の場合、自動次回チェックを主張しないでください。ジョブ ID、実行名、出力ディレクトリ、download-status コマンドを報告してください。保存されたセッションハンドルは、ユーザーがインタラクティブに要求した進捗チェック専用でのみポーリングしてください。現在のターンで手動ポーリングループを実行しないでください。

  • デタッチされたダウンロードを再開する必要がある場合は、同じ --name "<run-name>" と同じ --root-dir で boltz-api download-results を再実行してください。

  • フィルタを作り上げないでください。ユーザーがリクエストしたときのみ molecule_filters を追加してください。

抜け道

  • ペイロード参考:https://api.boltz.bio/docs/api/python/resources/small_molecule/subresources/design/methods/start

  • CLI フラグ名:boltz-api small-molecule:design start --help

target、chemical_space、molecule_filters の形式については references/api.md を参照してください(フィルタカタログはスクリーンエンドポイントと一致)。download-results 後に生成分子をランク付けしたり出力を説明したりするときは、references/results.md を参照してください。

出力

download-results 後に results/index.jsonl からランク付けしてください。ローカルファイルレイアウトと指標の意味については references/results.md を参照してください。

原文(English)を表示

Workflow

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 wants de novo small-molecule binders (no existing library).

  1. Normalize the target: one or more protein sequences into target.entities, plus optional pocket_residues (0-based) and/or reference_ligands (known binders to help locate the pocket).
  2. Pick num_molecules — valid range 10 to 1,000,000 (server rejects outside it). If the user says fewer than 10, explain the floor and propose 10.
  3. Only add chemical_space (e.g. "enamine_real") if the user explicitly wants generation restricted to synthesizable molecules within that library.
  4. Supported optional features include chemical_space and molecule_filters; only add them on explicit request. Read references/api.md for exact shapes and filter options.
  5. Author the payload YAML or JSON, run estimate-cost, show the USD cost, wait for explicit confirmation. Cost is a flat $0.025 per molecule (size-independent); still quote estimated_cost_usd from the response as the authoritative total.
  6. start to submit (synchronous). Capture the ID.
  7. Launch download-results through the runtime's long-running or non-blocking command facility; it polls, paginates, downloads per-hit structures, and exits when terminal. 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.
  8. Rank hits from <output-root>/<run-name>/results/index.jsonl by binding_confidence for hit discovery or optimization_score for lead optimization. Each generated molecule also carries a free adme block (solubility, permeability, lipophilicity) — surface it for developability triage when the user cares about ADME, or when a top hit looks risky. Read references/results.md for output layout and metric details.

Command Pattern

# Replace placeholders with concrete absolute paths before running.
# Use a short descriptive run name, for example: sm-design-<target>-<batch>-v1

boltz-api small-molecule:design estimate-cost \
  --input @yaml:///absolute/path/payload.yaml

boltz-api small-molecule:design 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 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 60
# -> /absolute/path/boltz-experiments/<run-name>/results/<pres_*>/...

Payload keys are num_molecules, target, chemical_space, molecule_filters — the API body field names.

Always Do This

  • Enforce 10 <= num_molecules <= 1,000,000 before calling estimate-cost. The server rejects values outside that range.
  • Cost is a flat $0.025 per molecule (size-independent). estimate-cost returns the authoritative total.
  • Treat pocket residue indices as 0-based.
  • Keep payload field names exactly as the API body names shown in references/api.md.
  • Use absolute paths for the output root, payload files, and embedded target files. Do not 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.
  • Prefer one merged top-level payload via --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.
  • Direct object flags still work as overrides: for example --target @yaml:///absolute/path/target.yaml or --molecule-filters @json:///absolute/path/filters.json. Piped YAML / JSON on stdin also works, but it must use API body field names. Never use @file://.
  • Use the same slug as both --idempotency-key at submit and --name on download-results.
  • In permission-gated runtimes, keep each Boltz call as a top-level command that starts with 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.
  • Run 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.
  • After the download starts, do not manually wait on it or run ad hoc polling loops. Wall-clock time scales roughly with num_molecules: under 100 often finishes in a few minutes, 100-1,000 may take several minutes to tens of minutes, and larger runs can take longer or hours depending on inputs and system load. Don't quote a fixed duration. --poll-interval-seconds 60 is a sensible default for the downloader. download-results emits JSONL progress on stderr by default; add --progress-format text --verbose only when you explicitly want human-readable logs.
  • If the runtime can schedule follow-up checks (a heartbeat, scheduled task, or reminder), schedule one after launching 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. Choose cadence by num_molecules: under 100 -> every 1-2 minutes; 100-1,000 -> every 5 minutes; over 1,000 -> every 15 minutes. 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.
  • If detached download needs to be restarted, re-run boltz-api download-results with the same --name "<run-name>" and the same --root-dir.
  • Do not invent filters; only add molecule_filters on user request.

Escape Hatch

  • Payload reference: https://api.boltz.bio/docs/api/python/resources/small_molecule/subresources/design/methods/start
  • CLI flag names: boltz-api small-molecule:design start --help

Read references/api.md for the target, chemical_space, and molecule_filters shapes (filter catalog matches the screen endpoint). Read references/results.md after download when ranking generated molecules or explaining outputs.

Outputs

Rank from results/index.jsonl after download-results; use references/results.md for local file layout and metric meanings.

原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。