4.1 KiB
4.1 KiB
BtToxin Pipeline 开发任务清单
高优先级 (P0) - 基础功能
Frontend - 国际化与导航
- F1.1: 安装并配置 vue-i18n
- F1.2: 创建
locales/zh.json和locales/en.json翻译文件 - F1.3: 在 App.vue 添加完整导航栏(首页 | 关于 | 提交任务 | 任务状态 | 工具说明)
- F1.4: 添加中英文切换按钮(全局,页面显眼处)
- F1.5: 将所有硬编码文本替换为 i18n 变量
Frontend - 上传功能增强
- F2.1: 支持
.fna/.fa基因组文件 和.faa/.fasta蛋白序列文件 - F2.2: 单文件上传限制(每次只能上传 1 个文件)
- F2.3: 基因组和蛋白序列互斥(不能同时上传)
- F2.4: 添加悬浮提示说明(文件类型要求、格式说明)
- F2.5: 表单验证 - 不符合条件时弹出错误提示
Frontend - 任务状态页面增强
- F3.1: 区分运行中 (running) 和排队中 (pending/queued) 状态
- F3.2: 排队状态显示当前排队序号(如 "排队中:第 3 位")
- F3.3: 运行状态显示进度条
- F3.4: 更新 PIPELINE_STAGES 支持蛋白序列流程
Frontend - 关于页面
- F4.1: 创建 AboutView.vue
- F4.2: 介绍 BtToxin Pipeline 功能
- F4.3: 展示示例结果截图(预留位置)
- F4.4: 注意事项和限制说明
Frontend - 工具说明页面
- F5.1: 创建 ToolInfoView.vue(重命名为"工具说明")
- F5.2: 介绍 BtToxin_Shoter 的评估原理(不说数学公式)
- F5.3: 说明识别流程和阈值设定依据
- F5.4: 不提及 BtToxin_Digger
Backend - FastAPI 重构
- B1.1: 创建 FastAPI 后端 (
backend/app/main.py) - B1.2: 实现任务创建 API (
POST /api/v1/jobs/create) - B1.3: 实现任务状态查询 API (
GET /api/v1/jobs/{job_id}) - B1.4: 实现结果下载 API (
GET /api/v1/results/{job_id}/download) - B1.5: 实现任务删除 API (
DELETE /api/v1/results/{job_id})
Backend - 并发控制
- B2.1: 实现 16 并发限制(使用 ConcurrencyManager + Redis)
- B2.2: 实现任务排队机制(QUEUED 状态)
- B2.3: API 返回排队位置或预计等待时间
- B2.4: Redis 存储任务状态和队列信息
Backend - 多格式支持
- B3.1: 自动检测上传文件类型(.fna/.fa/.faa/.fasta)
- B3.2: 根据文件类型设置 sequence_type (nucl/prot)
- 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 部署
- D1.1: 创建 FastAPI 专用 Dockerfile
- D1.2: 更新 docker-compose.yml
- D1.3: 配置 Traefik labels
- D1.4: 测试域名访问 (bttiaw.hzau.edu.cn)
文档
- Doc1: 更新 AGENTS.md
- Doc2: 编写部署文档
已完成
- 初始版本提交 - 简化架构 + 轮询改造
- 2025-01-13 #1: Backend API enhancements - tasks router, download/delete endpoints, concurrency control, queue management
- 2025-01-13 #2: Pipeline script enhancement - protein file (.faa) support with automatic type detection
- 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