数据与输入 · 08

count、TPM、标准化矩阵分别能用于哪些铁死亡分析?

回答会区分适用条件、检查步骤和不能直接得出的结论。

先看结论:先确认矩阵的测量单位和生成过程,再选择方法。DESeq2 的常规计数模型需要未归一化的 counts 或受支持的定量导入流程,不能把 TPM 或 log 表达四舍五入后充当 counts。评分和可视化可以使用适配方法的表达量,但仍需记录变换、输入层和基因覆盖。

适用情况

拿到一个名称含 expression、normalized、counts 或 TPM 的文件,不清楚能否做差异表达、GSVA、ssGSEA 或单细胞评分。

建议按这个顺序检查

  1. 查原始说明、脚本或数据下载字段,记录平台、单位、是否取对数和是否已经做批次处理。
  2. 核对行列含义、基因 ID、样本 ID、重复名称、缺失值和数值范围;不能仅凭整数外观认定为原始 counts。
  3. 计数差异分析使用受支持的原始计数或定量导入路径;不要用 TPM、FPKM 或经过校正的连续值伪装 counts。
  4. 样本评分按所用方法和版本选择输入与参数;芯片标准化值、log 表达和单细胞层不是可随意替换的对象。
  5. 每张结果表附上输入类型、变换、软件版本和对照方向,以便检查方向或尺度差异。

输入与任务对照表

输入 常见用途 需要避开的操作
未归一化基因 counts 计数模型差异分析;之后另作变换 先转 TPM 再运行常规 DESeq2
TPM / FPKM 描述表达;按方法要求变换后评分 四舍五入当成原始计数
芯片标准化表达 匹配设计的 limma 分析或评分 套用测序文库大小归一化
Seurat data / scale.data 等层 依方法使用指定层 把缩放残差当绝对表达或 counts

依据:DESeq2 官方教程:输入、设计矩阵与技术重复 · Bioconductor:limma 软件介绍与用户指南入口 · Seurat v5:assay、layer 与数据访问

一个“看起来正确”但会出错的例子

示意情境:下载的表达表全是小数,运行 DESeq2 后提示不是整数。先回到数据来源确认单位;如果是 TPM,就不能用 round() 消除报错后继续解释为计数分析。若原始文件来自 Salmon 等定量工具,应查受支持的 tximport 等导入路径,不能把全部小数输入一概判成非法。

另一个常见问题是对已经 log2 变换的芯片矩阵再次 log2。数值范围只能帮助发现疑点,真正的依据应是原始处理记录。来源无法确认时,把输入标记为“单位待确认”。

依据:DESeq2 官方教程:输入、设计矩阵与技术重复

先检查样本是否对齐

此检查可发现样本集合和顺序问题,不能证明文件单位正确。正式流程还需核对重复生物样本、供体和批次。

# 人工构造示例;真实分析必须提供 sample_id 列
x <- matrix(c(10, 20, 12, 18), nrow = 2,
            dimnames = list(c('DEMO_A','DEMO_B'), c('S1','S2')))
meta <- data.frame(sample_id = c('S2','S1'), group = c('case','control'))
stopifnot(!anyDuplicated(colnames(x)), !anyDuplicated(meta$sample_id))
stopifnot(setequal(colnames(x), meta$sample_id))
meta <- meta[match(colnames(x), meta$sample_id), , drop = FALSE]
stopifnot(identical(colnames(x), meta$sample_id))

不能从当前结果直接得出什么

“标准化矩阵”不是一个足够明确的数据类型。GSVA 等方法也并非一律拒绝 counts,是否使用特定计数分布或转换必须按当前方法说明决定;这与 DESeq2 的输入要求是不同问题。

依据与版本

最后核验:2026-10-10|资料核验:AI 编写与公开来源核对;未经人工专家审阅

依据公开来源核对概念、输入、证据边界与版本口径;示意数据不代表真实研究结果。仅标明的小型代码示例经过运行检查,不代表完整生物信息流程或原论文已复现。 本页最小 R 示例已在 R 4.3.3 独立会话运行;不涉及完整 Seurat/GSVA 工作流验证。

继续解决相关问题