该技能用于在 ToolUniverse 中将 mosaic(基于 Boltz-2 的 binder 设计工具,经 joltz 的 JAX 移植版)配置为远程工具,并提供启动、验证与故障排查流程。
用途与输出:mosaic 执行的是 binder 设计(设计一个结合蛋白),并非对给定序列做折叠。每次请求对应一个设计:输入目标序列和 binder 长度,输出 binder 序列以及预测的复合物,并给出 ipTM、pLDDT、PAE 等指标。优化器的每一步都是一次完整的 Boltz-2 前向与反向计算。
前置条件:需在 Linux 上、ToolUniverse 仓库根目录、Python 3.12.3 环境中运行;必须有 CUDA GPU;模型使用 JAX,torch 仅 CPU 版且只用于读取检查点;provider 数据、权重、缓存和凭据应放在 Git 之外;默认绑定回环地址,非回环绑定需要 TOOLUNIVERSE_API_TOKEN;启动前建议运行内存等待脚本。
安装与启动:先运行标准库契约检查(setup_skill_preflight.py --implementation mosaic,可加 --check-provider-env、--live、--check-connect-prereqs),再创建两个相互不可导入的环境:MCP 服务器运行在 ToolUniverse 环境,模型运行在 TOOLUNIVERSE_MOSAIC_PYTHON 指定的独立环境,由 tu remote setup mosaic --only environment 依据 requirements.lock 填充;随后导出 TOOLUNIVERSE_MOSAIC_PYTHON 与 MOSAIC_CACHE_DIR,执行 tu remote setup mosaic。可用 --only preflight|environment|kit|weights|smoke 分步执行;smoke 会校验产出 *_complex.pdb 和非空 binder_sequence,并把峰值记录到缓存。
权重与数据:使用公开的 Boltz-2 检查点 boltz2_conf.ckpt(2.29 GB)和 CCD 分子 mols.tar(1.86 GB),由 mosaic_opt.weights 从官方主机下载并校验大小与 sha256,无需凭据或许可门禁;不构建比对、不访问外部服务,目标为单序列。
分享与验证:先执行 tu remote login(支持设备码授权、--no-browser、--env-file、--manual-key),再用 tu remote share mosaic 一键私有分享,可指定 --name 与 --workers;tu remote check / tu remote run 分别用于只检查就绪状态和仅在本机前台运行。本地启动 python -m tooluniverse.remote.mosaic.mosaic_tool,端点为 http://127.0.0.1:8055/mcp,用 fastmcp Client 列出工具,确认存在 mosaic_design_binder。连接中继需安装固定 SHA-256 的 tuplatform-connect 0.3.0 wheel,并用 tu doctor、tu serve 命令。
示例:mosaic_design_binder 接受 target_sequence、binder_length、steps1、steps2、seed,可选 return_structure;示例为 barstar 89 残基加 80 残基 binder、169 tokens、10+5 步。实测首次调用 505 秒(含编译),第二次 74 秒;返回 binder_sequence、scores、loss、n_tokens、shape_compiled_before、timing、peak_reserved_gib、peak_in_use_gib、weights_held_by、kit_mode;非法输入返回 {"error": ...} 且 worker 保持运行。
限制与运维:总 tokens 上限 384(目标残基数 × 拷贝数 + binder 长度),binder 8–200,目标最多 376 残基;单 worker 串行,第二个请求排队。vram_budget_gb 为 32.0 的 JAX 池上限(169/256/384 tokens 对应 8/16/32 GiB),不可视为余量;512 tokens 未提供。时间随 tokens 急剧增长(约 4.3/12.6/25 秒每步)。新 shape 首次请求需要数分钟编译;设计跨请求不可位级复现。日志位于 ~/.cache/tooluniverse/remote-logs/mosaic-resident.log。退出码 3 表示拒绝、1 表示失败;可用 tu remote logout(--revoke)撤销本地或平台连接。清理时只删除 .venvs/mosaic 和 provider 缓存目录,避免宽泛递归删除;仅使用实现 README 链接的官方上游文档。公开发布、跨用户隔离、并发、恢复与科学质量均未测试,资料建议保持私有部署。