科学更正(2026-07-19): 早期页面曾未充分区分细胞与生物学重复。公开矩阵 metadata 不能为每个时间点和 KO 条件识别条件内生物学重复,因此总体效应显著性、稳定效应或可推广机制推断均已撤回。本文现将时间曲线、KO 与 IFNB 图限定为该公开实验中的细胞级描述分布;
replicate_structure_audit.tsv逐组记录了这一边界。
Shalek et al. 这组树突状细胞刺激数据的重点不止于再画一张 LPS UMAP,而在于它把一个常见项目痛点放得很清楚:同样暴露在 LPS 下,单个细胞不等于整齐地一起“响应”;沿着早期炎症/NFkB、晚期 IFN/ISG、抗原呈递背景和细胞间变异几个方向分开。复现这类数据时,有用的是把响应程序拆开,并说明哪些信号可以从公开 TPM 矩阵复现,哪些原文机制需要额外实验或 raw-level 分析支撑。
为什么选这篇文献?
免疫刺激单细胞项目很容易被写成一句话:刺激组和对照组分开了,marker 上升了,说明有响应。但真实项目里最麻烦的通常不等于“有没有响应”;以下几个问题:
刺激后所有细胞都在同一条路径上变化吗?早期炎症因子和晚期 interferon-stimulated genes 是同一个响应轴,还是两个时间和调控逻辑不同的程序?4 小时和 6 小时看到的 IFN 信号,是所有细胞一起增强,还是一部分细胞进入强响应状态?扰动组里看到的差异,能不能从表达矩阵层面讲清楚,而不把它夸大成完整机制证明?
这正是 Shalek et al. 这篇经典 Nature 文章的吸引点。原文题目是 Single-cell RNA-seq reveals dynamic paracrine control of cellular variation,主要研究线索是用单细胞 RNA-seq 看 primary mouse dendritic cells 在多种 pathogen components 刺激下的动态和细胞间差异。本文只聚焦其中最适合公开复现和讲清证据链的一条线:LPS 时间响应,以及与 IFN/STAT/TNF 相关扰动组在公开 allgenes TPM 矩阵中的可恢复信号。
论文和数据来源
论文、数据和公开矩阵信息如下。这里先把来源和矩阵层级交代清楚。
| 项目 | 内容 |
|---|---|
| 论文 | Shalek et al. Single-cell RNA-seq reveals dynamic paracrine control of cellular variation |
| 发表信息 | Nature, 2014 |
| DOI | 10.1038/nature13437 |
| PubMed | 24919153 |
| 公开数据 | GSE48968 |
| 公开矩阵 | GEO allgenes TPM files |
公开矩阵进入分析前,先确认数据层级和规模。
| 项目 | 数值 |
|---|---|
| 两份 TPM 文件列数 | 2,425 |
| 本文选入 LPS/扰动相关细胞 | 1,051 |
| LPS 主时间线细胞 | 479 |
| 过滤后用于分析的基因 | 13,870 |
| 复现结果图 | 10 张 |
复现边界: 本文使用 GEO 中公开的
allgenesTPM矩阵。它适合做 processed-matrix 层面的表达结构、模块评分、marker heatmap 和扰动组趋势复现,但不等于 FASTQ-level 重新比对,也不等于 raw UMI count 质控。原文关于 paracrine control 的实验设计和机制解释可以作为对照背景,但本文不会仅凭 TPM 矩阵把表达程序写成因果机制。
方法和分析流程
本文的处理顺序从数据层级开始:从 GEO 下载两份 allgenes TPM 文件和两个 platform-specific series matrix,核对标题、GSM、刺激条件和技术重复信息;从主矩阵中筛选 Unstimulated、LPS 1h/2h/4h/6h、Unstimulated replicate、LPS 4h replicate、IFNB 2h、Ifnar1/Stat1/Tnfr KO LPS 4h 等与本文主线相关的细胞;对 TPM 做 log1p 转换,过滤低检出基因,选取高变基因,进行 PCA、UMAP 和 KMeans response-state 划分;构建炎症/NFkB、IFN/ISG、Antigen/DC 和 cell-cycle 模块评分,并检查每个模块的基因命中情况;把 UMAP、状态组成、模块评分、marker heatmap、扰动组对照和 QC 可读性图串成一条证据链,而不等于连续堆图。这组处理先确认公开矩阵能支撑哪些问题,再把结果图解释限制在当前证据内。
先看数据设计:这不等于一个简单两组比较
Shalek 这组数据里,主文件包含 Unstimulated、LPS 多时间点、PAM/PIC、IFNB、Stat1/Ifnar1/Tnfr KO、on-chip stimulation 和 tube control 等多种实验设计。公开文章如果把它压成“LPS vs control”会丢掉最重要的信息:不同时间点和扰动组其实在回答不同层级的问题。

图 1. 本文选入 1,051 个与 LPS/IFN/扰动主线相关的细胞。公开标签中虽有单独的 4h replicate 组,但没有为每个时间点和 KO 条件提供可识别的条件内生物学重复,因此这里只记录设计与细胞数。
这张图先用于核对输入层级。细胞数、基因检测量、样本标签和矩阵层级如果没有对齐,后面的降维、marker 和组成分析都只能算可视化,不能作为复现结论。
这个设计也决定了后面的写法:本文不追求复刻原文所有刺激和实验,要把 LPS 这一条线讲清楚。PAM/PIC 和第二份 TPM 文件中的其他命名组可以作为数据背景,但如果全部铺开,会把文章变成浅层总览,反而削弱最有价值的响应程序分析。
LPS 时间结构:响应是动态轨迹,不等于一个标签
先看 LPS 主时间线的 UMAP。这里的 UMAP 不用于证明“时间就是空间距离”,需要检查公开 TPM 矩阵是否仍然保留从未刺激、早期刺激到晚期刺激的转录组结构。

图 2. LPS 主时间线在 UMAP 上形成明显的动态结构。Unstimulated 细胞主要位于一侧,1h 与 2h 处在早期响应区域,4h 和 6h 进入更晚的响应空间。这个图支持“刺激响应随时间重排”,但不应被写成真实发育轨迹或空间距离。
从图上可以看到,LPS 1h 没有简单落在 control 和 6h 的中点;2h、4h、6h 也没有完全离散的三块。值得写进文章的是这种非整齐的结构:同一个时间点内部仍然有相当大的细胞间差异,而不同时间点之间又有明显的整体迁移。这种现象在实际刺激实验中很常见,也是单细胞复现比 bulk 平均更有价值的地方。
响应状态组成:同一时间点内部也有分层
如果只看时间标签,容易误以为 1h、2h、4h、6h 分别对应四种状态。为了避免这种过度简化,我们在 PCA 空间上做了无监督 response-state 划分,再看每个时间点中这些状态的比例。

图 3. 左侧显示 5 个无监督 response states,右侧显示不同 LPS 时间点中的状态比例。LPS 1h 主要集中在早期状态,4h/6h 明显富集晚期状态,但每个时间点内部都存在多种状态。这说明 LPS 响应更适合按“时间 + 程序 + 细胞间差异”来读。
这个图对类似项目很有启发。很多刺激实验的痛点不等于“分几群”;某个时间点内部是否存在强响应和弱响应细胞,后续是否需要按 response state 而不只按 treatment 做差异分析。本文不把这些 state 命名成新的细胞类型,只把它们作为响应结构来使用,这是比较稳妥的写法。
炎症/NFkB 和 IFN/ISG:两个响应轴需要分开读
随后是本文最关键的一张图。我们用代表性基因构建了炎症/NFkB、IFN/ISG 和 Antigen/DC 模块评分。模块基因实际命中情况完整:炎症/NFkB 命中 TNF、IL1A、IL1B、CXCL1、CXCL2、CCL3、CCL4、PTGS2、NFKBIA、TNFAIP3、IER3、JUN、FOS;IFN/ISG 命中 IFNB1、IFIT1/2/3、ISG15、OASL1/2、MX1/2、IRF7、STAT1/2、RSAD2、USP18、CXCL10 等。

图 4. 炎症/NFkB 模块在 LPS 1h 已明显上升,2h 后仍保持较高但不呈单调增强;IFN/ISG 模块在 4h 和 6h 更强,并与时间的相关性更明显。Antigen/DC 模块更多反映细胞背景和检测差异,不应被当作刺激主轴。
这张图直接回答了一个真实项目里常见的问题:刺激组看到的“响应”到底是什么响应?如果只做 stimulated vs control,一组早期 inflammatory genes 和一组后期 IFN/ISG genes 可能被混在同一个差异基因列表里。单细胞复现的作用在于把它拆开:早期炎症轴和晚期 IFN 轴可以同时存在,但它们的时间结构、细胞间变异和解释边界不同。
把模块投回 UMAP:哪些细胞处在强响应区域?
模块评分不能只看 boxplot。把评分映射回 UMAP,可以检查高分细胞是否集中在特定响应状态,还是散在多个区域。

图 5. 炎症/NFkB 和 IFN/ISG 模块在 UMAP 上的空间分布并不完全重合。早期炎症模块更接近 LPS 1h/2h 相关区域,而 IFN/ISG 高分细胞更多集中在 4h/6h 晚期响应区域。这个图帮助区分“同一刺激引发的不同程序”。
这里需要注意的是措辞:UMAP 上的颜色梯度提示表达程序在不同细胞中强弱不同,但不能单独证明细胞之间存在真实转化路径。更准确的写法是:公开 TPM 矩阵支持不同响应程序在单细胞层面的分布差异,后续如果要做动力学模型,需要更完整的时间点、重复和模型设定。
marker heatmap:从基因层面核对模块解释
模块评分是汇总指标,必须回到具体 marker 检查。下面这张 heatmap 汇总代表性炎症、IFN 和 DC 背景基因在 LPS 时间线中的平均表达趋势。

图 6. TNF、IL1A、CXCL1/2、NFKBIA、TNFAIP3 等代表早期炎症/NFkB 相关响应;IFNB1、IFIT、ISG15、IRF7、STAT1、CXCL10 等代表 IFN/ISG 轴。heatmap 使模块解释回到具体基因,而不等于停留在抽象 score。
这类图要按成组证据来读。单个基因或局部高表达只能提供线索,只有 marker panel、signature score、metadata 和组成信息互相支持时,才适合写成细胞身份、状态或谱系倾向。
这一步是很多复现文章缺少的部分。单个 marker 容易受表达稀疏和检测不稳定影响,直接挑一个基因写结论风险很高。更稳妥的做法是用一组 marker 共同支持一个程序,同时说明它是 expression program,而不等于机制证明。
炎症轴和 IFN 轴的关系:相关,但不能混为一谈
把每个细胞的炎症/NFkB score 和 IFN/ISG score 放到同一张散点图里,可以看到两个程序之间存在一定关系,但没有完全重叠。

图 7. 炎症/NFkB 与 IFN/ISG 两个轴在单细胞层面有相关性,但不等于同一条线。部分早期细胞炎症分数较高而 IFN 分数较低,晚期细胞 IFN/ISG 分数更高。这解释了为什么刺激实验不能只用一个“activation score”概括。
在本文主时间线中,IFN/ISG score 与时间的相关性更强,而炎症/NFkB score 更像早期快速响应后进入分散状态。这不等于在复述原文结论,从公开 TPM 矩阵重新组织得到的一个可视化证据链:response 的强弱、类型和时间不等于同一个概念。
扰动组:能恢复表达差异,但不能越界写机制
主文件中还包含 IFNB 2h、Ifnar1 KO LPS 4h、Stat1 KO LPS 4h 和 Tnfr KO LPS 4h 等组。它们很适合放在文章的“深度边界”部分:这些组能帮助我们判断 IFN/STAT/TNF 相关表达程序是否可从矩阵层面恢复,但不能把矩阵复现直接等同于完整机制实验。

图 8. 各公开标签下的单细胞 module-score 分布。箱线图描述细胞分布,不提供条件层面的置信区间或显著性;KO 与 WT 的方向差异只能作为该实验中的描述性观察。
这里不能把数百个细胞当作数百个独立重复。公开矩阵可显示 IFN/STAT/TNF 相关组的细胞级分布,但没有条件内生物学重复就不能估计总体扰动效应、显著性或跨实验稳定性。更深入的比较需要回到原始实验批次、动物/培养重复和 replicate-aware 模型。
QC 可读性:TPM 矩阵也要检查
虽然本次使用的是 TPM 矩阵,不等于 raw counts,仍然需要做基本可读性检查。这里不能写线粒体比例或 UMI 深度那类不适合 TPM 矩阵的 QC 语言,但可以检查每个细胞检测到的基因数和总 TPM 分布。

图 9. TPM 矩阵中各时间点的 detected genes 和 total TPM 分布。这个图用于说明数据可读性和技术差异,而非 raw-count 级别的测序质量评估。公开复现时,QC 语言必须和矩阵层级匹配。
这张图把观察落到基因证据上。读的时候要看一组 marker 是否同向,而不是只挑某个显眼基因;如果证据只停留在 score 层面,结论也要保留探索性。
这个边界很容易被忽略。很多文章会习惯性写“过滤低 UMI、线粒体比例”等步骤,但这里的公开文件是 allgenes TPM,不能把 10x UMI 数据的语言直接套过来。严肃复现的第一步就是按矩阵层级选择正确的说法。
动态基因:从平均趋势补充单细胞图
结尾处看 top dynamic genes across LPS time-course。这个图用于补充说明哪些基因在时间平均层面贡献了动态结构。

图 10. 高动态基因 heatmap 帮助把 UMAP 和模块评分落回具体基因。它适合展示整体时间趋势,但不能单独决定每个基因的显著性或机制角色;如果要做正式差异模型,需要进一步设置重复、时间和扰动因素。
marker 和 score 要成组解释。单个基因高表达只能提供线索;只有 dotplot、heatmap、signature、metadata 和组成结果互相支持,才适合写成细胞身份或状态判断。
这类图适合放在长文后半部分,因为读者已经知道了数据设计、主结构、模块和扰动组边界。把它放在这里,可以让文章从“看见结构”进入“哪些基因支撑结构”的层面。
与源论文主线的对照
本次复现与源论文主线一致的地方主要有三点。
第一,公开 TPM 矩阵仍然保留了 LPS 刺激下的时间相关结构。Unstimulated、1h/2h、4h/6h 在低维空间和模块评分中呈现可读的转录组差异。
第二,细胞间异质性是这组数据的重要特征,并且有生物学解释空间。相同时间点内部存在不同 response states,说明刺激实验不能只按时间点平均后下结论。
第三,炎症/NFkB 和 IFN/ISG 两类程序可以在公开矩阵中分开讨论。早期炎症轴和晚期 IFN 轴在时间、UMAP 分布和扰动组趋势上都显示出不同特征。
但也有必须保留的边界。原文关于 dynamic paracrine control 的解释,不只是表达矩阵本身得来的,还依赖实验设计、扰动和原文分析框架。本文能说的是:公开 TPM 矩阵支持 LPS 响应程序的动态和异质性复现,并能在 Ifnar1/Stat1/Tnfr 等扰动组中观察到与主线一致的表达趋势。本文不能说的是:仅凭这套重分析就完整证明旁分泌机制。
深度解读:证据链和解释边界
回答范围:经典刺激响应数据在公开 TPM 层面还能否被整理成一条可信证据链。答案是可以,但必须按程序和时间拆开,而不能只写 stimulated vs control。
raw / processed matrix 边界:GSE48968 的公开补充文件给出的是 allgenes TPM 矩阵,因此本文适合做表达结构、模块评分、marker heatmap 和扰动趋势复现;不适合写 FASTQ 级比对质量、UMI 质控、完整差异模型或新的机制推断。
主要图读法:UMAP 用来确认 LPS 时间结构;state composition 用来说明同一时间点内部存在异质性;module score 和 marker heatmap 用来拆分炎症/NFkB 与 IFN/ISG;perturbation score 用来判断 IFN/STAT/TNF 相关组在矩阵层面的表达趋势。
不能过度解释的部分:不能把 UMAP 距离写成真实时间速度,不能把 response state 写成新的稳定细胞类型,不能把 IFN/ISG score 写成机制证明,不能把 KO 组 boxplot 直接写成完整因果模型。更准确的写法是:这些图提供表达层面的证据和后续分析方向。
如果继续深入,下一步应该做什么?可以在 raw reads 可得的前提下重新比对并构建更完整的表达矩阵;可以建立时间点和扰动因素共同参与的差异模型;可以把早期炎症、IFN/ISG、cell-cycle 和 antigen presentation 程序做成更系统的 signature panel;也可以围绕强/弱响应细胞做更细的状态分层。
对类似项目有什么启发?
这篇数据很像真实项目里常见的刺激实验:老师或课题组往往已经有 public 或 private scRNA-seq 数据,也有一个明确刺激条件,但结果写不深。把它写深的关键要回答几个痛点:响应是否同步;不同响应程序是否混在一起?强响应细胞占多少?marker 是单个基因还是成组支持?扰动或时间设计能支持到什么层级?
如果一个旧项目只有对照/刺激两个标签,仍然可以从 response score、marker panel、细胞状态组成和样本层面对照里挖出更清楚的解释。如果有时间点、扰动或重复,分析空间会更大,但结论也更需要边界。越是想做出有吸引力的图,越不能跳过证据审核。
- 痛点 2:module score 是表达线索,不等于机制证明。它必须结合 marker heatmap、metadata 和实验设计来解释。
- 痛点 3:processed TPM 矩阵不能套用 UMI/raw-count 质控语言。矩阵层级决定能说到哪里。
- 痛点 4:扰动组最适合做边界清楚的趋势复现,而不等于被包装成新的因果结论。
小结
本次复现从 GSE48968 公开 allgenes TPM 矩阵出发,围绕 LPS 时间响应整理了 1,051 个相关细胞、479 个主时间线细胞和 10 张结果图。公开矩阵中可描述 LPS 时间标签对应的表达结构、炎症/NFkB 与 IFN/ISG 两类程序,以及同一标签内部的细胞间异质性;IFNB、Ifnar1/Stat1/Tnfr 相关组只提供单实验细胞分布对照。
这篇文章的重点不在证明一个新机制,而在示范经典单细胞刺激数据如何被整理成可审查、可复用、可继续深入的证据链。对类似项目而言,更需要保留的是把“有响应”进一步拆成“什么程序、哪些细胞、哪个时间、什么边界、下一步怎么深入”。