# AF3 Mol* 沙箱迁移评估 ## 已验证且可复用 - `static/af3-viewer.js`:Mol* 生命周期、MolViewSpec 场景、链 A/B 着色和三种表示模式。 - `static/vendor/molstar/`:固定版本 Mol* 5.11.0 浏览器构建与许可证。 - `main.py` 中的 `resolve_structure()`:仅限单文件名和 `.cif/.mmcif` 的安全读取规则。 ## 正式页面接入时需要适配 - 将沙箱工具栏样式改为正式 `apps/web/vue3/index.html` 的 Element Plus 组件;不能原样复制整个页面。 - 将沙箱的单目录结构列表改为正式 artifact resolver 返回的 job/stage scoped URL。 - 将 Vue state 绑定到正式结果弹窗的打开、切换和关闭生命周期,并在弹窗关闭时调用 `dispose()`。 ## 正式 AF3 结果所需 artifacts - `*_model.cif` - `*_summary_confidences.json` - `*_confidences.json` - `*_contacts.tsv` - 可选的 `*_overall.png` 与 `*_interface.png` 正式后端至少需要为 CIF artifact 返回可鉴权的 URL 和 `chemical/x-mmcif` 内容类型,同时保持 `job_id`、stage identity、scope 与 manifest 一致。不能接收任意服务器绝对路径。 ## 服务影响 - 本次只启动独立 9020;没有重启或修改 9010。 - 本次没有修改 Celery,因而无需重启 Celery。 - 将来修改正式 `apps/web/vue3/main.py` 或 `index.html` 后需要重启 Web 服务;仅查看已有 CIF 不需要 Celery。 ## 当前限制 - 沙箱只读取一个由 `AF3_SANDBOX_DATA_ROOT` 配置的目录。 - 沙箱不提交 AF3 任务,不进入 Celery,也不调度 GPU。 - 沙箱不自动关联 PPI、RNA-seq、PAE、pLDDT 或接触残基表。 - 沙箱不允许用户上传任意结构文件。 - 本次结果证明浏览器三维查看路径可行,不等于正式 AF3 stage 已完成。