一、用途 本技能用于在 ToolUniverse 框架下搭建、启动、验证和排查 Proteina-Complexa 远程工具。Proteina-Complexa 是 NVIDIA 的流匹配结合蛋白生成器,其功能是针对目标蛋白结构设计结合蛋白,而不是预测蛋白折叠。该工具以远程服务形式运行,可通过 ToolUniverse Connect 进行中继,实现私有分享。
二、主要能力
- 设计请求:输入目标蛋白结构(PDB 文本)、链的裁剪片段(如 A1-115)、热点残基(如 ["A37","A39"])、结合蛋白长度和设计数量。模型会采样出相应数量的结合蛋白,每个设计返回解码后的氨基酸序列,若启用 return_pdb 还会返回 PDB 文件(链 A 为目标片段,链 B 为新结合蛋白)。
- 输入验证:工具在排队前会验证目标链是否存在、裁剪片段是否包含残基、每个热点是否属于该片段。上游本身不会拒绝找不到的热点,因此此验证可避免误导性设计。
- 双环境架构:MCP 服务器运行在 ToolUniverse 环境中,模型运行在独立环境中,两者通过固定锁文件构建,相互隔离。
- 本地与远程运行:支持本地启动 Streamable HTTP 端点(http://127.0.0.1:8056/mcp),也支持通过 tu remote 命令进行配置、分享和中继。
- 步骤化设置:tu remote setup 命令读取 provider.toml 并执行五个步骤:preflight、environment、kit、weights、smoke,每一步失败时会给出修复提示。
- 快速验证:提供检查脚本,可在下载大依赖前运行标准库契约检查,也可在服务启动后验证 MCP 工具集。
三、使用方式
- 前置条件:在 Linux 上使用 Python 3.12,从 ToolUniverse 仓库根目录运行;需要 CUDA GPU;模型在请求间常驻内存;数据、权重、缓存和凭证应保持在 Git 之外;绑定回环地址,非回环绑定需要 TOOLUNIVERSE_API_TOKEN。
- 创建两个虚拟环境:一个用于 MCP 服务器(python3 -m venv .venvs/complexa 并安装依赖),另一个用于模型(使用 CPython 3.12.10 的 venv 模块创建,设置 TOOLUNIVERSE_COMPLEXA_PYTHON 指向其解释器)。
- 运行 tu remote setup complexa 完成五步设置,或使用 --only 逐个执行。smoke 步骤会记录峰值显存到 ~/.cache/tooluniverse/measured/complexa.json。
- 获取权重:两个检查点文件(complexa.ckpt 约 2.93 GB,complexa_ae.ckpt 约 4.10 GB)来自 Hugging Face 上的 nvidia/NV-Proteina-Complexa-Protein-Target-160M-v1 仓库,无需凭证,采用 NVIDIA Open Model License。CKPT_PATH 指定权重目录,默认 ~/complexa_weights。
- 登录与分享:运行 tu remote login 进行设备码授权,然后使用 tu remote share complexa 分享。也可使用 tu remote check 和 tu remote run 进行本地检查与运行。
- 本地启动与验证:运行 python -m tooluniverse.remote.complexa.complexa_tool 启动服务,然后使用 fastmcp 客户端列出工具,确认包含 complexa_design_binder。
- 连接 ToolUniverse Connect:安装 tuplatform-connect 轮子包,运行 tu doctor 和 tu serve 进行中继。
四、适用场景 适用于需要针对特定蛋白结构设计结合蛋白的研究场景,尤其是在 NVIDIA GB10 等硬件上进行私有部署和本地验证。已验证在连续相同请求、混合形状序列和变化引擎关键参数后能逐字节复现结果。
五、限制与注意事项
- 该工具不是预测器,不保证设计能结合;当前部署仅运行上游的生成阶段,设计结果未评分、未排序。
- 公开出版、跨用户隔离、并发、恢复和设计质量(结合性、可设计性)尚未测试,建议保持私有部署。
- torch 2.7.0+cu128 的 NVRTC 不识别某些显卡,需要固定 12.9 版本的 NVRTC,否则请求会在 torch.prod 处失败。
- 首次请求需支付解释器、导入图和模型构建开销,后续请求常驻。
- 包/网络相关命令需在干净环境中重新运行后才能标记技能完成。
- 未在平台矩阵中测试,证据仅来自单卡本地回环端点。