SuperAPI AI 工具集

setup-proteinmpnn-remote-tool

智能体与模型

查看项目

更新于 10-20 04:55

技能介绍

用途

该技能用于搭建 ToolUniverse 的 ProteinMPNN / SolubleMPNN 远程工具:在固定骨架上做反向折叠(inverse folding),即给定主链结构,生成能够折叠回该结构的氨基酸序列。典型工作流是:先用骨架生成器(如 RFdiffusion、Genie)产出主链,再用 ProteinMPNN 设计序列,最后用结构预测器(如 Boltz、OpenFold3、ColabFold)验证设计能否折回。

资料区分了几个相邻工具:esm_if1 同样为骨架设计序列,但使用 142M 参数的 GVP-Transformer 解码;ef2inv 通过折叠模型梯度下降设计结合体序列,属于不同任务且需要 GPU。

主要能力与特点

  • 运行原生 ProteinMPNN 的循环逻辑,验收套件在五个案例上逐字节比对输出,结果一致。
  • 纯 CPU 运行,[gpu] policy = "none",不使用 GPU;资料说明在不声明显存预算的情况下,该提供方可与机器上的折叠模型并存。
  • 权重随克隆附带(vanilla 与 soluble 各 6,681,301 字节),无需下载,也无需接受条款。
  • 提供模型独立环境与 MCP 服务器环境两套隔离环境,二者不能互相导入。
  • 支持一次性登录后以单条命令私密共享:tu remote share proteinmpnn。

前提条件

  • 在 Linux 上从 ToolUniverse 仓库根目录运行,主环境 Python 3.12.3。
  • 不需要 GPU,也不会使用 GPU。
  • 模型环境必须恰好是 Python 3.11(工具包自身要求,锁文件为 cp311)。
  • MPNN_DIR 指向原生克隆目录。
  • 提供方数据、权重、缓存和凭据不要放入 Git。
  • 绑定回环地址;非回环绑定需要 TOOLUNIVERSE_API_TOKEN,且不得写入参数或结果。

使用方式

先运行标准库契约检查:

python scripts/remote_validation/setup_skill_preflight.py --implementation proteinmpnn

导出提供方资源后加 --check-provider-env;服务器启动后加 --live 验证 MCP 工具集;共享前加 --check-connect-prereqs(只报告密钥是否设置,不打印值)。

创建模型环境:

uv venv --seed --managed-python --python 3.11.5 ~/proteinmpnn-venv export TOOLUNIVERSE_PROTEINMPNN_PYTHON="$HOME/proteinmpnn-venv/bin/python" export TOOLUNIVERSE_PROTEINMPNN_WEIGHTS="$HOME/ProteinMPNN"

逐项执行五步安装,便于定位失败:

for step in preflight environment kit weights smoke; do python -m tooluniverse.cli remote setup proteinmpnn --only "$step" || break done

各步骤预期:preflight 返回 OK;environment 安装 17 个固定版本发行包;kit 扩展稀疏检出并克隆或校验原生仓库,输出 "WEIGHTS OK: 2/2 pinned files match stock/PINS.json";weights 复核两个检查点;smoke 对 40 残基骨架做 4 个设计并返回序列。

启动服务器:

python -m tooluniverse.remote.proteinmpnn.proteinmpnn_tool

worker 在首个请求时启动,空闲 900 秒后退出。调用示例参数包括 structure(PDB 文本)、num_sequences、temperature、weight_set、seed;返回 sequences、native_sequence、native_score 以及 designs(每条含 temperature、sample number、score、global_score、seq_recovery)。

参数边界:num_sequences 为 1–128;batch_size 为 1 到 num_sequences 且必须整除;temperature 在 (0, 1];seed ≥ 1;残基数 ≤ 3000;结构 ≤ 8 MB。工具层以 {"error": ...} 返回错误而不抛异常。

等价性验证

对 worker 做任何改动后应重跑该检查:用 run.sh design --mode off 对单个结构运行原生流程,再将相同结构、seed、数量与温度发给提供方,逐字段比对输出。注意原生流程在整个数据集上共用一条 RNG 流,多结构示例中后一个结构的序列受前一个结构抽取影响,因此比对时应使用单结构基线。

适用场景与限制

适用于在 CPU 主机上以等价输出为目标的反向折叠任务,以及需要与折叠模型并存的私有部署。资料明确说明:公开发布、跨用户隔离、并发和恢复均未测试,应保持私有部署;该实现未经过 Platform 矩阵验证;证据为单卡、回环端点上的本地结果。资源与 kit 自身检查可能显示 gpu=NVIDIA GB10,但那只是通过 NVML 读取,torch 无法使用该卡。