Files
bttoxin-pipeline/@fix_plan.md

109 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# BtToxin Pipeline 开发任务清单
## 高优先级 (P0) - 基础功能
### Frontend - 国际化与导航
- [x] **F1.1**: 安装并配置 vue-i18n
- [x] **F1.2**: 创建 `locales/zh.json``locales/en.json` 翻译文件
- [x] **F1.3**: 在 App.vue 添加完整导航栏(首页 | 关于 | 提交任务 | 任务状态 | 工具说明)
- [x] **F1.4**: 添加中英文切换按钮(全局,页面显眼处)
- [x] **F1.5**: 将所有硬编码文本替换为 i18n 变量
### Frontend - 上传功能增强
- [x] **F2.1**: 支持 `.fna` / `.fa` 基因组文件 和 `.faa` / `.fasta` 蛋白序列文件
- [x] **F2.2**: 单文件上传限制(每次只能上传 1 个文件)
- [x] **F2.3**: 基因组和蛋白序列互斥(不能同时上传)
- [x] **F2.4**: 添加悬浮提示说明(文件类型要求、格式说明)
- [x] **F2.5**: 表单验证 - 不符合条件时弹出错误提示
### Frontend - 任务状态页面增强
- [x] **F3.1**: 区分运行中 (running) 和排队中 (pending/queued) 状态
- [x] **F3.2**: 排队状态显示当前排队序号(如 "排队中:第 3 位"
- [x] **F3.3**: 运行状态显示进度条
- [x] **F3.4**: 更新 PIPELINE_STAGES 支持蛋白序列流程
### Frontend - 关于页面
- [x] **F4.1**: 创建 AboutView.vue
- [x] **F4.2**: 介绍 BtToxin Pipeline 功能
- [x] **F4.3**: 展示示例结果截图(预留位置)
- [x] **F4.4**: 注意事项和限制说明
### Frontend - 工具说明页面
- [x] **F5.1**: 创建 ToolInfoView.vue重命名为"工具说明"
- [x] **F5.2**: 介绍 BtToxin_Shoter 的评估原理(不说数学公式)
- [x] **F5.3**: 说明识别流程和阈值设定依据
- [x] **F5.4**: 不提及 BtToxin_Digger
### Backend - FastAPI 重构
- [x] **B1.1**: 创建 FastAPI 后端 (`backend/app/main.py`)
- [x] **B1.2**: 实现任务创建 API (`POST /api/v1/jobs/create`)
- [x] **B1.3**: 实现任务状态查询 API (`GET /api/v1/jobs/{job_id}`)
- [x] **B1.4**: 实现结果下载 API (`GET /api/v1/results/{job_id}/download`)
- [x] **B1.5**: 实现任务删除 API (`DELETE /api/v1/results/{job_id}`)
### Backend - 并发控制
- [x] **B2.1**: 实现 16 并发限制(使用 ConcurrencyManager + Redis
- [x] **B2.2**: 实现任务排队机制QUEUED 状态)
- [x] **B2.3**: API 返回排队位置或预计等待时间
- [x] **B2.4**: Redis 存储任务状态和队列信息
### Backend - 多格式支持
- [x] **B3.1**: 自动检测上传文件类型(.fna/.fa/.faa/.fasta
- [x] **B3.2**: 根据文件类型设置 sequence_type (nucl/prot)
- [x] **B3.3**: 修改 pipeline 脚本支持蛋白序列输入
## 中优先级 (P1) - 增强功能
### CRISPR-Cas 预留
- [ ] **C1.1**: 创建 `crispr_cas/` 目录结构
- [ ] **C1.2**: 在 pixi.toml 添加 [feature.crispr] 环境
- [ ] **C1.3**: 在 bttoxin_shoter.py 预留 CRISPR 权重参数和融合函数
- [ ] **C1.4**: 文档说明后续如何实现 CRISPR 分析
### 后端国际化
- [ ] **B4.1**: API 返回文本支持多语言
- [ ] **B4.2**: 错误消息国际化
### 前端样式优化
- [ ] **F6.1**: 使用 ui-ux-pro-max skill 优化页面风格
- [ ] **F6.2**: 参考 Apple 风格设计(配色、间距、动画)
- [ ] **F6.3**: 响应式布局优化
## 低优先级 (P2) - 部署与文档
### Docker 部署
- [x] **D1.1**: 创建 FastAPI 专用 Dockerfile
- [x] **D1.2**: 更新 docker-compose.yml
- [x] **D1.3**: 配置 Traefik labels
- [ ] **D1.4**: 测试域名访问 (bttiaw.hzau.edu.cn)
### 文档
- [ ] **Doc1**: 更新 AGENTS.md
- [ ] **Doc2**: 编写部署文档
## 已完成
- [x] 初始版本提交 - 简化架构 + 轮询改造
- [x] **2025-01-13 #1**: Backend API enhancements - tasks router, download/delete endpoints, concurrency control, queue management
- [x] **2025-01-13 #2**: Pipeline script enhancement - protein file (.faa) support with automatic type detection
- [x] **2025-01-13 #3**: Docker deployment - SPA static file serving, Traefik labels, docker-compose configuration
## 参考文档
- Shotter 算法原理: `docs/shotter_math_full_zh_typora.md`
- 现有前端代码: `frontend/src/`
- Pixi 环境配置: `pixi.toml`