适用范围: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.R、LFQBench_script.R、LFQBench_core_generation.R
|
技术审核 diff 和运行结果。
|
| demo 运行结果
|
VM 项目目录和 ZIP
|
页面打开无 Error,ZIP 内容完整。
|
| 文件清单
|
CSV 或 Markdown 表格
|
核对关键模块 PNG/CSV 是否存在。
|
| 截图包
|
每个模块 Plot/Table 截图
|
审核字体、排版、颜色一致性。
|
| 运行日志
|
protein_rerun.log、backend_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 可打开。
- 图表字体、图例、颜色、排版通过人工截图审核。
- 技术部门审核通过。