跳到主要内容

BioF3 v3.1 — 11 个工具全部能出可发表的图

· 阅读需 7 分钟
BioF3 团队
生物信息学数据分析专家

BioF3 v3.1 不引入新功能,把 v3.0 留下的"基础底座"扎牢:11 个在线分析工具的所有图,全部从默认 R 风格升级到 SCI 论文风格,每张图同时输出 PNG(300dpi 屏幕看)+ PDF(Cairo 矢量,直接发表)

这篇博客讲三件事:v3.1 修了什么、跟 v3.0 有什么不同、哪些用户会从这次升级直接受益。

v3.0 留下了什么遗憾

v3.0 把 65 篇教程、32 张 FigCode、单细胞云平台、AI 陪学串成了一件事,但分析工具栏的图还是 R 默认输出 — theme_classic() + 单格式 PNG + 150dpi。换句话说:

  • 用户跑完 DESeq2 / GO-KEGG / KM 生存等工具,拿到的火山图、PCA、生存曲线,视觉上等同于 R 脚本随手 ggsave() 的水平
  • 想插到论文里要么自己改 ggplot 主题、要么从原始数据重画一次
  • 没有 PDF 矢量输出,缩放或印刷时图会糊

这些不是 v3.0 故意留的,是当时优先级排在"先把闭环跑通"。v3.1 把这层补齐。

v3.1 改了什么

一句话:11 个工具的所有输出图,全部 SCI 风格 + PNG/PDF 双格式

具体落地:

1. 全工具升级到 theme_biof3() 共享样式

我们写了一个共享样式包 _biof3-theme.R,所有工具脚本顶部 source 它就能直接用。提供的 helper:

  • theme_biof3() — 替换 theme_classic() / theme_minimal() 的标准 ggplot 主题(base_size=11,全边框 panel,Nature 风格)
  • biof3_palette(n) — 离散分类调色板(NPG 风格 10 色 + 自动 ramp 到 N 色)
  • biof3_palette_div(n) — 二极配色(蓝-白-红,热图 / 火山图用)
  • biof3_palette_seq(n) — 渐变配色(viridis)
  • ggsave_biof3() / save_grid_biof3() — 双格式输出(PNG 300dpi + Cairo PDF 矢量)

所有 11 个工具脚本现在都用这套,配色、字号、边距、PNG/PDF 双格式行为完全一致

2. 11 个工具全部回填,覆盖 4 类绘图体系

  • ggplot2 系(DESeq2 火山 / PCA / library_size / GSEA dotplot/waterfall / GO-KEGG dotplot/barplot 等)— 直接 + theme_biof3() + ggsave_biof3()
  • survminer 系(KM 生存 / LASSO Cox 风险评分 KM)— save_grid_biof3(print(km_p)) 含 risk table 子图
  • enrichplot ggraph 复合系(GO-KEGG cnetplot/treeplot/heatplot/emapplot / GSEA running_score)— save_grid_biof3(expr = print(p)) 不套 theme(保布局)
  • base R / pheatmap / labeledHeatmap 系(DESeq2 dispersion/MA/sample_distance / WGCNA 4 个 base 图 / timeROC / ComplexHeatmap)— save_grid_biof3 + par(bty="l") 边框

特殊保留:

  • WGCNA module_size_barplot 保留 scale_fill_identity()(让条柱用 WGCNA 模块颜色名命名,不强行改)
  • WGCNA labeledHeatmap 保留 blueWhiteRed(WGCNA 内置 Standard 配色)
  • Seurat DoHeatmap 不套 theme(内部布局复杂会破 cluster bar 排列),但走双格式输出

3. 配色映射有语义

整个 v3.1 我们规范了"颜色和方向的映射":

颜色含义出现场景
风险 / 激活 / 上调volcano Up / Cox HR > 1 / GSEA NES > 0 / lasso Risk Factor
保护 / 抑制 / 下调volcano Down / Cox HR < 1 / GSEA NES < 0 / lasso Protective
中性 / 不显著volcano NS
绿存活 / 浸润水平KM 生存 alive / 免疫细胞 lollipop

打开任何一张 v3.1 的图,颜色不再是装饰,而是直接在帮你读图。

4. 11 个工具全部 promote-demo 验证

每个工具上线前,我们都用真实公开数据集(PBMC 3k / TCGA-LAML / TCGA-BRCA / airway / Bindea 28 immune cells)跑一次完整流程,验证:

  • 所有 PNG + PDF 都生成(Cairo PDF v1.7 矢量)
  • 中间数据 CSV / RDS 完整保存(用户能用"在线绘图"按本次结果重画)
  • 报告 HTML 中所有占位符替换正常(不能有残留 {{...}}
  • DOM-CSS 4 条死规则全过

11/11 工具全部一次性通过验证。你现在跑任何一个 BioF3 工具,拿到的图都是直接发表水平的

跟 v3.0 比有哪些直接受益

按你的使用场景看:

你之前用过 v3.0 的工具栏跑过分析

  • 现在重新跑同一份数据,拿到的是 SCI 风格 + 双格式
  • PDF 可以直接拖到 Adobe Illustrator / Inkscape 编辑(矢量不糊)
  • 颜色、字号、边距全部和论文 figure 一致

你正在写论文,缺图

  • 直接在 BioF3 跑分析 → 下载 PDF → 拖进文章
  • 不需要再用本地 R 重画一遍
  • 配色已经语义化(红=风险 / 蓝=保护 / 灰=不显著),reviewer 一眼就懂

你刚来 BioF3 准备试试

  • 直接走 biof3.com/quickstart/ 5 分钟跑通 DESeq2
  • 然后看 /tools/ 11 个工具,每个都是 SCI 风格双格式
  • 不会再看到默认 R 风格的图

顺手修的几个用户感知细节

这次升级期间也清掉了几个 v3.0 留下的小遗憾:

  • LASSO-Cox 在线绘图真接通了 — 之前 3 张 FigCode 卡片定义和 FIGCODE_MAP 映射都做了,但 RunModal 里看到的是卡片自带的 set.seed(42) 模拟数据。v3.1 加了 saveRDS(cv_fit) + signature_expr_matrix.csv 中间数据,在线绘图按钮真用本次分析结果画图
  • maftools 突变签名修了 — 之前 extractSignatures'what' must be a function or character string 失败。根因是 NMF 0.28 必须 library(NMF) attach(不能只 pkg::fun),否则算法表不注册
  • 撤销 dep-proteomics 占位_data.ts / getToolConfig / toolNames 都注册了 dep-proteomics 但 R 脚本不存在,是用户能在 /tools/ 看到但点不动的"幽灵工具"。v3.1 全部清掉,等真有用户喊"我有蛋白组数据"再补
  • 飞书通知 URL 修死链/admin#tool-jobs 是不存在的 anchor,改成 /admin
  • 每日早报扩展早就在跑了 — 7 天 smoke test 通过率 + 各工具运行数 + AI cost ¥,09:00 cron 自动推(之前 idea-inbox 标"待做",实际 v2 已部署,归档)

v3.1 不做的事

  • DEP 蛋白组工具上线 — 等真有用户喊"我有蛋白组数据"再做
  • ggplot2 4.x 升级 — 当前锁 3.5.2 + smoke 5/5 全绿,等 enrichplot >1.28.4 自然 release 再升
  • admin 后台 tool-jobs 面板 + 反馈日报自动化 — 这些是产品级运营功能,已正式安排到 v4.0 M3.5(v4.0 末尾),与 v3.x 教程站时代的范式无关

工程量

11 个工具 SCI 回填总计 ~13.5 小时(W2 6.5h + W3 ~7h),远低于初版估算的 8 天 = 64 小时。原因不是赶工,是 _biof3-theme.R 共享样式包把所有重活都集中了 — 单工具回填只需要把 5-10 个 ggsave() 改成 ggsave_biof3() + 把 theme_classic() 改成 theme_biof3(),剩下的(Cairo PDF / 配色 / 字号 / 边距)共享层自动处理。

这是 BioF3 单人开发模式下"通过共享底层快速横扩"的样本案例。

接下来

  • v3.1 上线后立刻进入 v4.0 开发(Project Mode:从"陪学一篇"到"陪做一个项目",完整 spec 在 .kiro/drafts/v4-project-mode.md
  • v4.0 M1 实施 spec v0.1 已就位(.kiro/drafts/v4-m1-spec.md),bulk RNA-seq 差异+富集场景跑通端到端项目流程
  • 用户反馈系统 + 反馈处理 SOP 安排在 v4.0 M3.5(v4.0 末尾),v3.x 期间走最简链路(用户提交 → 飞书实时一条 → 手动处理)

如果你现在登录 BioF3 跑工具觉得"图比上次好看了",就是 v3.1 在干活。