不是的。
单细胞分析里“一个基因在某个样本(或某个cluster/cell-type)里的表达量”通常不是把几千个细胞的归一化值先去掉0再平均,而是——
-
归一化后直接用所有细胞的该基因表达值取平均(或者取中位数、截尾均值等)。
零值本身就是生物学信息(没检测到/没表达),刻意剔除会把表达水平人为抬高,导致下游差异分析、marker排序、热图颜色等都失真。 -
如果你确实想衡量“表达该基因的那部分细胞里的平均表达强度”,可以额外算一个“conditional mean”或“mean of non-zero”,但这只能作为补充指标,不能替代包含零值的总体均值。常见用法:
总体均值 (log2CPM) → 看基因整体表达水平 表达率 (% > 0) → 看基因在群体里的普及程度 非零均值 (mean of non-zero) → 看“一旦表达,大概能到多高” -
在Seurat/Scanpy等流程里,给cluster画热图、做DoHeatmap/PlotExpression时,默认用的就是包含零值的平均(或中位数),以保证结果可比。
一句话:
不要把零值当成“坏数据”直接删掉;保留它们,平均时所有细胞都参与,才是单细胞里的常规做法。
698

被折叠的 条评论
为什么被折叠?



