Boltz Small Molecule Adme

作者 boltz-biobeafb3c16236无许可证5 个星标收录于 2026年10月8日更新于 2026年10月8日仓库4周前更新

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).

仅含说明Data & Analytics
AI 生成的概览

使用 Boltz ADME API 根据 SMILES 预测小分子的 Tier-1 ADME/ADMET 性质。

功能
接收以原始 SMILES、CSV、.smi 或 .txt 提供的分子,将其规范化为 molecules 列表,并提交至 Boltz ADME 端点以获取溶解度、渗透性和亲脂性/logD 数值。每次请求最多 128 个分子,超出时拆分为多批并合并各批次的 run.json 输出。结果保存在本地运行目录中并按分子报告,包括失败条目及其错误代码。
适用场景
适用于对用户已有分子进行独立的 ADME 筛选或排序,且不涉及蛋白质靶点。如果用户还需要针对靶点进行结合或对接分析,则应改用筛选类技能。
运行要求
需要 PATH 中存在 boltz-api 命令行工具、通过设备码登录完成身份验证、可访问 Boltz API 的网络,以及按每个分子 0.01 美元估算的付费 API 调用。该技能不附带脚本,仅为说明文档,并包含载荷与输出架构的参考文档。

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.json → output.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 [blocked] for the output layout and references/api.md [blocked] for the payload and batching details.

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

Command Pattern

bash
# 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 — run it as a# normal foreground command. If the runtime returns a session handle because the# command is still running, poll that handle. Do not detach it with "&" or 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)

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 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 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 long-running or non-blocking mode. Run it as a normal foreground command. If the runtime returns a session handle because the command is still running, poll that handle. Do not detach it with & or nohup.
  • 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 [blocked] 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 [blocked] for the local layout and per-molecule output fields; references/api.md [blocked] has the full request/response schema.

来源与署名

来源:boltz-bio/boltz-api-skills位于plugins/boltz/skills/boltz-small-molecule-adme提交beafb3c

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架