claude-skills/

Anthropic公式スキル・プラグインの日本語ディレクトリ

last sync 22h ago
スキルOfficialdevelopment

💊boltz-small-molecule-adme

プラグイン
boltz

説明

小分子のTier-1 ADME/ADMETをBoltzを用いてSMILESのみから予測します — ターゲットタンパク質もドッキングも不要です。 次のような場合に使用: ユーザーが特定の分子または分子リストの溶解性、膜透過性、脂溶性/logDを求めている場合。 タンパク質ターゲットに対する分子のランキングには使用しません(その場合はboltz-small-molecule-screenを使用してください。同ツールはすでにADMEの結果を返します)。

原文を表示

Predict Tier-1 ADME/ADMET for small molecules with Boltz from bare SMILES — no target, no docking. Use when the user wants solubility, permeability, or lipophilicity/logD for a molecule or list of molecules. Not for ranking molecules against a protein target (use boltz-small-molecule-screen, which already returns ADME free).

ユースケース

  • 分子の溶解性を予測したい
  • 膜透過性を評価したい
  • 脂溶性/logDを求めたい
  • SMILES情報から ADME特性を予測したい

本文(日本語訳)

ワークフロー

boltz-apiPATH に存在しない場合は、再試行前に boltz-cli-setup を使用してインストール/アップデートの手順を確認してください。 コマンドが認証の欠落または期限切れを報告した場合は、再試行前に boltz-cli-setup を使用して boltz-api auth login --device-code を開始してください。事前に許可を求める必要はありません。 エージェントホストのサンドボックスが boltz-api のインストール/認証/API 呼び出しをブロックする場合は、再試行前に boltz-cli-setup を使用して、ユーザー全体への CLI インストール、ブラウザログイン、認証情報の保存、一時ファイル、または API アクセスに必要なホストサンドボックスのバイパス/エスカレーションをリクエストしてください。

次のような場合に使用: ユーザーがすでに保有している SMILES に対して、単独で ADME のトリアージを行う場合。タンパク質ターゲットは関与しません。 ユーザーがそれらの分子をターゲットに対してスクリーニングまたはドッキングしようとしている場合は、boltz-small-molecule-screen を優先してください — スクリーンの一部として同じ ADME ブロックが無償で返されます。

  1. 生の SMILES、CSV(SMILES 列を自動検出)、.smi、または .txt から分子を正規化し、molecules リストに格納します。各エントリは {smiles, id?} の形式で、省略可能な id は各結果の external_id としてそのまま返されるため、結果を入力にマッピングできます。
  2. 上限: 1 リクエストあたり 128 分子。 リストが 128 を超える場合は、≤128 のバッチに分割して 1 バッチにつき 1 リクエストを送信し(実行名にサフィックスを付けてください。例: -b1-b2)、その後結果をマージします。1 回の呼び出しで 128 を超えて送信しないでください — API は VALIDATION_ERROR: input.molecules must contain at most 128 items で拒否します。
  3. ペイロードの YAML または JSON を作成し、estimate-cost を実行して USD コストを表示し、明示的な確認を待ちます。ADME の料金は 分子あたり $0.01(サイズ非依存)です。estimate-cost が正式な合計額を返します — 必ずその値を提示してください。
  4. run を実行して送信し、完了を待ちます — ADME は数秒で完了するため、同期処理であり、バックグラウンドポーリングは不要です。run は結果を --root-dir/<run-name>/ にローカル保存します。
  5. <output-root>/<run-name>/run.jsonoutput.molecules[] から結果を報告します。各分子について external_id(または smiles)、solubilitypermeabilitylipophilicity を表示します。これらの 3 つの値は各分子の adme オブジェクト内にあります。status: failed の分子とその error{code, message} 形式のオブジェクト。例: code adme_enumeration_failed、message Invalid SMILES)を明示してください — その場合 admenull になります。不正な SMILES はその分子のみを失敗させ、バッチ全体には影響しません。出力レイアウトについては references/results.md を、ペイロードおよびバッチ処理の詳細については references/api.md を参照してください。

ADME の値はトリアージとランキングのための近似推定値であり、絶対的な測定値ではありません。

コマンドパターン

# 実行前にプレースホルダーを具体的な絶対パスに置き換えてください。
# 短くわかりやすい実行名を使用してください。例: adme-<library>-v1

boltz-api predictions:adme estimate-cost \
  --model adme-v1 --input @yaml:///absolute/path/payload.yaml

# `run` は同期処理(送信 + 待機 + 保存)であり、数秒で完了します — バックグラウンドモードは不要です。
# Claude Code: 通常の Bash コマンドとして実行してください。Codex: フォアグラウンドのシェルコマンドとして実行してください。
# Codex がまだ実行中のために session_id を返した場合はポーリングしてください。
# Codex では "&" を追加したり nohup を使用したりしないでください。
boltz-api predictions:adme run \
  --model adme-v1 \
  --idempotency-key "<run-name>" \
  --input @yaml:///absolute/path/payload.yaml \
  --name "<run-name>" \
  --root-dir "/absolute/path/boltz-experiments" \
  --poll-interval-seconds 5
# -> /absolute/path/boltz-experiments/<run-name>/run.json  (output.molecules[].adme)

ペイロードは molecules リストのみです — CLI の直接フラグではなく、API ボディのフィールド名です。--model adme-v1 は必須です。

必ず行うこと

  • ペイロードのフィールド名は references/api.md に記載された API ボディの名称(molecules、各 {smiles, id?})と完全に一致させてください。
  • estimate-costrunstart のすべてで --model adme-v1 を渡してください。
  • 1 リクエストあたり 128 分子の上限を厳守してください。より大きなライブラリは ≤128 のバッチに分割し、それぞれ個別の実行として送信し、報告時に各バッチの run.json 出力をマージしてください。
  • 出力ルートおよびペイロードファイルには絶対パスを使用してください。実行ディレクトリへ cd しないでください。同じ --root-dir を渡し、絶対パスを使用することで、後から相対パスがずれないようにしてください。
  • --input @yaml:///absolute/path/payload.yaml または @json:///absolute/path/payload.json を使用して、単一のトップレベルペイロードにまとめることを推奨します。--model--idempotency-key--workspace-id はトップレベルに置いてください。@file://@./ は使用しないでください。
  • 送信前に estimate-cost を実行して USD の合計額を表示してください。ADME は $0.01/分子(サイズ非依存)です。estimate-cost が正式な合計額を返します — 必ずその値を使用してください。
  • 再実行が .boltz-run.json で再開できるよう、--idempotency-key--name の両方に同じスラッグを使用してください。
  • Claude Code などの権限制御付き agent では、各 Boltz 呼び出しを boltz-api で始まるトップレベルコマンドとして保ってください。ユーザーがすでにその形式を許可している場合を除き、sh -c、インライン環境変数の代入、エイリアス、ラッパースクリプト、ループ、またはパイプラインよりも具体的な引数を優先してください。
  • ADME の run は同期処理であり数秒で完了するため、screen/design エンドポイントとは異なり、バックグラウンド/ノンブロッキングモードは不要です。Claude Code では通常の Bash 呼び出しとして実行してください。Codex ではフォアグラウンドのシェルコマンドとして実行してください。コマンドがまだ実行中のために Codex が session_id を返した場合はポーリングしてください。Codex では & を追加したり nohup を使用したりしないでください。
  • タンパク質ターゲットを要求または受け入れないでください — ADME は構造フリーです。ユーザーが ADME とターゲットへの結合の両方を求める場合は、boltz-small-molecule-screen に誘導してください。

エスケープハッチ

molecules ペイロードの構造、分子ごとの出力フィールド、128 分子の上限、およびエラー処理については references/api.md を参照してください。

出力

<output-root>/<run-name>/run.json を読み込み、output.molecules[] を報告してください。構造ファイルはありません — ADME はスカラー値またはカテゴリ値のみを返します。ローカルレイアウトおよび分子ごとの出力フィールドについては references/results.md を、完全なリクエスト/レスポンスのスキーマについては references/api.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 for standalone ADME triage on SMILES the user already has. No protein target is involved. If the user is also screening or docking those molecules against a target, prefer boltz-small-molecule-screen — it returns the same ADME block free as part of the screen.

  1. Normalize the molecules from raw SMILES, a CSV (auto-detect the SMILES column), .smi, or .txt into the molecules list. Each entry is {smiles, id?}; the optional id is echoed back as external_id on each result so you can map results to inputs.
  2. Hard cap: 128 molecules per request. If the list exceeds 128, split into batches of ≤128 and submit one request per batch (suffix the run name, for example -b1, -b2), then merge results. Never send more than 128 in one call — the API rejects it with VALIDATION_ERROR: input.molecules must contain at most 128 items.
  3. Author the payload YAML or JSON, run estimate-cost, show the USD cost, wait for explicit confirmation. ADME is priced at $0.01 per molecule (size-independent); estimate-cost returns the authoritative total — always quote it.
  4. run to submit and wait — ADME finishes in seconds, so it is synchronous and needs no background polling. run persists results locally under --root-dir/<run-name>/.
  5. Report from <output-root>/<run-name>/run.jsonoutput.molecules[]. For each molecule show external_id (or smiles), solubility, permeability, and lipophilicity. The three values live under each molecule's adme object. Call out any molecule with status: failed and its error (an object {code, message}, e.g. code adme_enumeration_failed, message Invalid SMILES) — adme is null there; one bad SMILES fails only that molecule, not the batch. Read references/results.md for the output layout and references/api.md for the payload and batching details.

ADME values are approximate estimates for triage and ranking, not absolute measurements.

Command Pattern

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

boltz-api predictions:adme estimate-cost \
  --model adme-v1 --input @yaml:///absolute/path/payload.yaml

# `run` is synchronous (submit + wait + persist) and finishes in seconds — no background mode needed.
# Claude Code: run as a normal Bash command. Codex: run as a foreground shell command; if Codex
# returns a session_id because it is still running, poll it. Do not append "&" or use nohup in Codex.
boltz-api predictions:adme run \
  --model adme-v1 \
  --idempotency-key "<run-name>" \
  --input @yaml:///absolute/path/payload.yaml \
  --name "<run-name>" \
  --root-dir "/absolute/path/boltz-experiments" \
  --poll-interval-seconds 5
# -> /absolute/path/boltz-experiments/<run-name>/run.json  (output.molecules[].adme)

Payload is just a molecules list — the API body field name, not the direct CLI flag. --model adme-v1 is required.

Always Do This

  • Keep payload field names exactly as the API body names shown in references/api.md (molecules, each {smiles, id?}).
  • Pass --model adme-v1 on every estimate-cost, run, and start.
  • Enforce the 128-molecule-per-request cap. Chunk larger libraries into ≤128 batches and submit each as its own run; merge the per-batch run.json outputs when reporting.
  • Use absolute paths for the output root and payload files. Do not cd into the run directory; 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. Keep --model, --idempotency-key, and --workspace-id top-level. Never use @file:// or @./.
  • Run estimate-cost and show the USD total before submitting. ADME is $0.01/molecule (size-independent); estimate-cost returns the authoritative total — always use it.
  • Use the same slug as both --idempotency-key and --name so re-runs resume via .boltz-run.json.
  • In permission-gated agents such as Claude Code, 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 unless the user already allowed that exact command form.
  • ADME run is synchronous and finishes in seconds, so unlike the screen/design endpoints it needs no background/non-blocking mode. In Claude Code, run it as a normal Bash call. In Codex, run it as a foreground shell command; if Codex returns a session_id because the command is still running, poll it. Do not append & or use nohup in Codex.
  • Do not require or accept a protein target — ADME is structure-free. If the user wants ADME and binding against a target, redirect to boltz-small-molecule-screen.

Escape Hatch

Read references/api.md for the molecules payload shape, the per-molecule output fields, the 128-molecule cap, and error handling.

Outputs

Read <output-root>/<run-name>/run.json and report output.molecules[]. There are no structure files — ADME returns scalar/categorical values only. Read references/results.md for the local layout and per-molecule output fields; references/api.md has the full request/response schema.

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