LFQBench Web工具整改与交付计划

来自OmicsWiki
Liuhebin讨论 | 贡献2026年7月3日 (五) 12:43的版本 (创建页面,内容为“适用范围:EasyDIA LFQBench 报告生成、结果展示、报告文件打包、技术审核交付。 == 2. 交付目标与衡量标准 == === 2.1 交付目标 === 完成 LFQBench 的报告生成与展示链路,覆盖 ProteinGroup 和 Precursor 两个层级,支持多物种 spike-in 比例数据的核心图表、表格、文件打包与页面展示。 === 2.2 衡量标准 === * 后端运行成功,<code>backend_error.log</code> 或对应 rerun log…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

适用范围:EasyDIA LFQBench 报告生成、结果展示、报告文件打包、技术审核交付。

2. 交付目标与衡量标准

2.1 交付目标

完成 LFQBench 的报告生成与展示链路,覆盖 ProteinGroup 和 Precursor 两个层级,支持多物种 spike-in 比例数据的核心图表、表格、文件打包与页面展示。

2.2 衡量标准

  • 后端运行成功,backend_error.log 或对应 rerun log 中无 ERROR 等级报错。
  • Shiny 报告页面无红色 Error 输出。
  • 结果压缩包内容完整,PNG/CSV/RDA/ZIP 等关键文件均存在且可打开。
  • 图表字体、颜色、图例、排版在全文保持一致。
  • 表格具备搜索、分页、跳页、横向滚动能力。
  • 文档通过技术部门审核。

3. PPT 第 2-9 页需求拆解

PPT 页码 需求摘要 当前状态 纳入计划
第 2 页 Ratio distribution:横坐标为 ProteinGroup/Precursor log2Quantity,纵坐标 log2FC;支持重复取平均或按日期分别作图;标注 actual ratio 和 SD。 Scatter 已实现主体、density、ratio/SD;日期/平均模式需明确验收。 作为必验图,补充日期模式和说明一致性检查。
第 3 页 log2FC| 分布;虚线为理论倍数;标注每段中位数;支持按日期或平均;按物种分开。 Box / Group 已实现分箱、理论线、中位数、物种分面。 调整图例右侧、字号和日期模式验收。
第 4 页 不同比例和日期下的 log2FC 分布;差异蛋白数目;差异蛋白占比;t-test + BH;阈值可自定义;区分物种。 Diff counts/proportion 已实现核心逻辑;Prop 展示需和 Count 一致放大。 作为高优先级验收项,补齐单样本跳过策略。
第 5 页 按 Fold change 区间汇总 completeness / CV,按 condition 着色。 log2FC| completeness / CV 已实现。 检查字号、标签遮挡和物种名完整性。
第 6 页 Quantity distribution;normalization 前/后;整体和按物种;样本相关性按比例/物种分开,以及不区分物种。 Violin、Correlation by group/species 已实现部分;normalization 前/后需确认数据源是否可用。 将相关性改成单组/单物种选择查看,补充 normalization 可行性评估。
第 7 页 Ident distribution;Precursor/ProteinGroup 分开;物种堆叠;相同比例不同日期放一起;Completeness 分布。 Qualitative IDs 已实现但当前报错;Ident completeness distribution 待补。 Qualitative 报错为阻断项;Completeness 分布列为补图任务。
第 8 页 按 log10 Quantity 区间汇总 data completeness,ProteinGroup/Precursor 分开,condition 着色。 当前未完整覆盖。 列入补图任务,复用现有分箱框架。
第 9 页 CV distribution:整体和按物种;按不同掺入比例;按 Quantity 区间汇总 CV。 部分由 FCBin/CV 覆盖,但 CV distribution 待补。 列入补图任务,先实现整体和 by species 两张图。

4. 任务拆分

A. 基线固化与问题复现

编号 任务 产出 验收标准
A1 固化 demo 数据和完整数据路径,记录当前输入、参数、代码版本。 run_context.md 或记录在交付说明中。 可复现同一项目的 protein / precursor 运行。
A2 复现单样本结果不一致问题,明确出错图表、表格和计算字段。 问题定位记录。 能说明不一致来自统计策略、分组映射、文件匹配或缺失值处理。
A3 复现 Qualitative IDs 报错,检查后端 CSV/PNG 是否生成,检查 Shiny 输出是否读取错误文件名。 错误日志和文件清单。 能定位为后端生成失败、前端读取失败或旧结果兼容失败。

B. 单样本结果不一致修复

编号 任务 产出 验收标准
B1 定义单样本统计规则:当任一 condition 样本数小于 2 时,不执行 t-test/CV 这类需要重复的统计。 单样本规则说明。 报告中不会产生看似显著但统计无效的结果。
B2 差异分析中区分“可计算 log2FC”和“可计算 p/adj.p”的场景。 后端逻辑修复。 单样本可给 log2FC 描述性结果,p/adj.p 显示 NA 或跳过,并在表中保持一致。
B3 完整性、CV、相关性在样本不足时输出带表头的空 CSV 或清晰状态,而不是报错。 稳定输出文件。 页面无 Error,表格可加载,必要时为空但结构完整。
B4 建立单样本 fixture 和多重复 fixture,对同一逻辑做回归验证。 测试记录。 单样本、多重复项目结果逻辑一致且无冲突。

C. Qualitative IDs 报错修复

编号 任务 产出 验收标准
C1 检查 Qualitative stacked/panel 的后端生成逻辑,确认 ProteinGroup 和 Precursor 文件命名规则。 文件命名规则。 前端和后端命名完全一致。
C2 修复当前图报错:后端异常时仍输出表头;前端读取不到图时不显示 Shiny Error。 代码修复。 页面无红色 Error。
C3 修复对应表格缺失:stacked/panel 均应有 CSV,且可搜索、分页、跳页。 CSV 和 DT 表格。 表格存在并可操作。
C4 提高 Qualitative 图字号和画布尺寸,确保样本名、物种名、图例完整。 PNG/PDF 输出。 截图检查无明显遮挡、截断。

D. 已有图表展示一致性修复

编号 任务 产出 验收标准
D1 统一 condition palette:按输入表中 condition 出现顺序分配,并在所有图保持一致。 统一颜色函数。 同一 condition 在所有图同色。
D2 统一 species palette:按输入表中物种出现顺序分配,并在所有图保持一致。 LFQBench_species_palette.csv 同一物种在 Scatter、Box、Diff、Qual 中同色。
D3 Box / Group 图例放右侧,参考线使用 expected ratio,字号统一。 新图输出。 图例完整、主图不被压缩。
D4 Prop Plot 和 Count Plot 同尺寸展示。 新图输出和 UI 高度配置。 两张图可读性一致。
D5 Correlation 改为默认单组/单物种选择查看,避免合并图压缩。 前端下拉选择和单图 PNG。 相关性图中文字可读,无红色 Error。
D6 所有 result card 描述中英文分行,语气和术语一致。 UI 文案。 全文无中英文混排风格不一致问题。

E. PPT 待补图任务

编号 图表 任务 优先级 验收标准
E1 Ratio distribution 固化平均重复和按日期分别作图两种模式;输出对应 CSV。 P0 Scatter 图、density、actual ratio、SD 均完整。
E2 Box by abundance/date 明确平均模式和日期模式,补齐日期维度输出。 P1 每种模式均有 PNG/CSV。
E3 Quantity distribution normalization 前/后 确认是否有 normalization 前后两个数据源;若没有,先标注当前仅为当前输入定量值。 P1 数据源明确,不误导用户。
E4 Ident completeness distribution 按 completeness 占比统计 feature 数量,支持整体和 by species。 P1 生成图和表,ProteinGroup/Precursor 分开。
E5 log10 Quantity completeness 按 log10 Quantity bin 汇总 completeness,condition 着色。 P1 生成图和表,ProteinGroup/Precursor 分开。
E6 CV distribution CV 分布图整体和 by species;按 condition 展示。 P1 生成图和表,无重复不足时报错。
E7 Quantity-bin CV 按 Quantity bin 汇总 CV 平均值。 P2 与 completeness 图风格一致。

F. 文件完整性与报告打包

编号 任务 产出 验收标准
F1 建立输出文件 manifest:记录每个模块应生成的 PNG/CSV/PDF/RDA。 LFQBench_file_manifest.csv 缺失文件可一眼定位。
F2 结果包清理策略:相关性大型 PDF 默认不进入结果包。 ZIP 规则。 压缩包体积合理,关键 PNG/CSV 保留。
F3 后端运行结束前检查关键文件是否存在,不存在则写 warning summary。 backend_summary.csv 用户无需翻 log 即可看到缺失项。

G. 回归测试与自查

编号 任务 产出 验收标准
G1 protein demo 运行日志、截图、文件清单。 无 Error,图表可读。
G2 precursor demo 运行日志、截图、文件清单。 无 Error,性能可接受。
G3 原始完整项目抽样/全量回归。 运行日志、耗时、文件清单。 无 Error,报告可打开。
G4 单样本专项回归。 专项结果和说明。 不一致问题关闭。
G5 跨浏览器最小检查:Chrome 或 Edge。 截图。 页面布局无明显错位。

H. 文档与技术审核

任务 产出 验收标准
完成交付说明。 wiki 包含范围、运行命令、验收结果、已知限制。
完成《web工具交付前的自查Checklist》。 wiki 技术部门审核。

5. 潜在风险与备选方案

风险 影响 预防措施 备选方案
单样本无法支持 t-test、CV、相关性等统计。 结果不一致或误导用户。 明确统计规则,样本不足时不计算统计显著性。 输出描述性 log2FC,p/adj.p/CV 标记 NA,并在表中说明 Insufficient replicates
Qualitative 输入中物种、feature ID 或样本列缺失。 图表生成失败。 后端校验必需列,缺失时输出带表头空表和 warning。 前端显示空表,不显示红色 Error。
大型相关性图文件过大或不可读。 报告卡顿、结果包过大。 默认展示单组/单物种 PNG,PDF 不默认打包。 提供 CSV 相关系数矩阵和 label map,必要时按用户选择单独下载。
Plotly protein scatter 点数过大。 页面卡顿。 protein 使用交互图,precursor 默认静态图;点数过大时抽样或降级。 提供静态 PNG + CSV,交互图可开关。
物种名过长导致 facet strip 截断。 图表不可读。 wrap label,增大画布和 margin。 物种名改用短标签,另输出 label map。
Windows/VM 编码差异。 中文乱码或脚本解析失败。 代码注释和脚本尽量 ASCII-safe,文档 UTF-8。 对 VM 端执行 Rscript parse 和页面 smoke test。
结果文件名规则多次变更。 前端找不到图或表。 后端输出 manifest,前端优先按 manifest 找文件。 前端保留 pattern fallback。

6. 自查计划

6.1 代码级自查

  • Rscript parse 检查三个核心脚本:
  • LFQBench.R
  • LFQBench_script.R
  • LFQBench_core_generation.R
  • 检查是否存在硬编码项目 ID、硬编码物种颜色、硬编码 condition 颜色。
  • 检查单样本分支是否有明确逻辑。
  • 检查所有 try(..., silent = TRUE) 是否有对应 warning 或 summary 输出。

6.2 运行级自查

  • protein demo 运行。
  • precursor demo 运行。
  • 检查 log:
  • ERROR
  • 无 Shiny output 红色 Error

6.3 报告级自查

  • 每个 result card 的 Plot 和 Table 均可打开。
  • 所有表格具备 search、page length、分页、Go to page。
  • 所有图中标题、坐标轴、图例、物种名、样本名可读。
  • 同一 condition / species 在所有图中颜色一致。
  • 大图使用滚动容器,但描述不再把滚动条作为功能文案强调。

6.4 文件级自查

  • 每个模块输出 PNG 和 CSV。
  • 结果 ZIP 可正常下载和解压。
  • CSV 有表头;无数据时也应有结构化空表或 summary。
  • 不打包冗余超大 correlation PDF。

7. 交付验收形式

交付物 形式 验收方式
修复后的代码 LFQBench.RLFQBench_script.RLFQBench_core_generation.R 技术审核 diff 和运行结果。
demo 运行结果 VM 项目目录和 ZIP 页面打开无 Error,ZIP 内容完整。
文件清单 CSV 或 Markdown 表格 核对关键模块 PNG/CSV 是否存在。
截图包 每个模块 Plot/Table 截图 审核字体、排版、颜色一致性。
运行日志 protein_rerun.logbackend_error.log、summary 无 Error 等级报错。
交付说明 wiki 技术部门审核通过。
自查 Checklist wiki 审核前逐项勾选。

8. 时间节点

时间(天) 阶段 主要内容 交付物
1 计划与基线 完成计划、Checklist、PPT 需求拆解;确认 demo 和原始项目路径。 本计划、Checklist、问题清单。
1 阻断问题定位 复现单样本不一致和 Qualitative 报错;确认根因。 根因记录、修复方案。
1 P0 修复 修复单样本统计策略、Qualitative 图表报错、相关性默认单图展示。 代码修复、demo rerun。
1 现有图表一致性 统一颜色、字号、图例、表格跳页;检查 Scatter/Box/Diff/CV/Violin/Correlation/Qualitative。 截图包、文件清单。
1 PPT 待补图 P1 补 Ident completeness、log10 Quantity completeness、CV distribution 的最小可交付版本。 新图和 CSV。
2 Protein + Precursor 回归 demo10pct protein/precursor 双层回归;检查 ZIP。 运行日志、结果包。
2 技术审核 整理交付说明、风险说明、已知限制,提交技术部门审核。 审核包。
2 缓冲 处理审核反馈和边界问题。 修订版交付包。

9. 退出标准

满足以下条件后可进入正式交付:

  • demo protein 和 precursor 均运行成功。
  • 单样本结果不一致问题有明确规则并通过专项验证。
  • Qualitative IDs 无红色 Error,图和表均可展示或以结构化空表展示。
  • 报告页面所有模块无 Error 等级报错。
  • 结果 ZIP 内容完整,关键 CSV/PNG 可打开。
  • 图表字体、图例、颜色、排版通过人工截图审核。
  • 技术部门审核通过。