1. 从静态对比到动态轨迹

各位同学,咱们先聊聊这门课到底要干嘛。

传统的RNA-seq差异表达分析,大家应该不陌生。就是取两个样本,一个处理组、一个对照组,跑个DESeq2或edgeR,输出一张火山图,标出上调下调的基因。完事。

但时间序列不一样。你取样不是一次,而是多个时间点——比如0h、2h、6h、12h、24h。这时候你要问的问题变了:基因表达量是怎么随时间变化的?哪些基因出现“先升后降”?哪些基因只在某个特定窗口期激活?

说实话,我见过不少同学跑完普通差异分析就想套用到时间序列数据上。结果呢?画出几十条杂乱曲线,完全看不出生物学规律。嗯,这就是这门课要解决的核心痛点。

1.1 课程定位与目标

这门课不是教你点“一键跑完”的傻瓜操作。它面向的是已经掌握基础RNA-seq分析、但面对时间序列数据感到束手无策的你。

目标是——我总结一下你学完后能做什么:

  • 理解时间序列数据的特有统计陷阱(比如时间点之间的相关性你考虑过吗?)
  • 学会至少三种分组模式策略(软聚类、有序因子、样条拟合)
  • 独立完成从表达量矩阵到发表级可视化图表的全流程
  • 识别假阳性趋势(说白了就是别被噪音带跑偏)
一句话:从静态的“up/down”思维跳出来,建立“趋势/轨迹”的生物学解读视角。

1.2 RNA-seq差异表达基础

快速回顾一下。常规差异表达的核心是——计数矩阵 vs 分组变量。模型是负二项分布,假设每个基因的离散程度独立估计。

我早年做RNA-seq分析时,最头疼的就是样本批次效应。有一次跑时间序列数据,前两个时间点在一个测序批次,后三个在另一个批次,结果全基因组出现“假时间趋势”。你想想看,这种坑如果没认知,输出图再漂亮也是废的。

基础分析流程可以概括成四步:

步骤工具/方法输出
1. 比对/定量STAR, Salmon, kallisto基因表达计数矩阵
2. 质量控制FastQC, MultiQC, PCA样本聚类图、GC含量分布
3. 差异检验DESeq2, edgeR, limma基因列表 + log2FC + p值
4. 可视化ggplot2, pheatmap火山图、热图、箱线图

对于时间序列,步骤1-2完全一样。区别出在步骤3和4——你不能再用简单的“两两对比”来处理了。

1.3 时间序列带来的新挑战

好,现在来看看时间序列数据到底特殊在哪。

挑战一:时间点不是独立样本。同一个细胞群在不同时间的表达量是相关的。上一时点的状态会影响下一时点。如果你还用独立样本假设去算p值,那会严重低估假阳性率。

挑战二:趋势不是单调的。基因可能早中晚表达高峰都在不同阶段。用fold change阈值一刀切,你根本抓不住“中间激活、后程回落”的基因。

挑战三:缺失时间点如何处理?我遇到过最糟糕的情况——一个时间点只有1个生物学重复。大多数统计包直接报错或用近似,但必须人工干预。

我的个人经验:在项目开始前,先画一张整体趋势猜想图。基于文献或前期qPCR数据,大致列出你认为会出现的几种表达模式(持续上升、先升后降、波动等)。这能帮你后续验证聚类结果是否合理。

1.4 本章知识结构

这一章我们搭建认知框架。下面这张图概括了时间序列RNA-seq可视化分析需要涵盖的四大板块:

时间序列RNA-seq可视化知识结构 时间序列RNA-seq分析核心板块 原始测序数据 模块A:数据预处理 比对定量 · 质量控制 计数矩阵整合 · 批次效应校正 时间点缺失处理 模块B:趋势分群 软聚类(Mfuzz, fuzzy C-means) 硬聚类(k-means, hierarchical) 有序因子回归(ImpulseDE2) 模块C:差异检验 时间×条件交互效应 样条拟合(spline) 自回归模型(ARIMA) 模块D:可视化 趋势折线图 · 热图+聚类树 马赛克图 · 时序火山图 交互式时间轴 所有模块最终指向一个目标:生物学意义的趋势解读

1.5 你需要具备的技能树

在进入具体实战前,我建议你对照下表自我评估一下。不用全部精通,但至少要有基础操作能力。

技能领域最低要求推荐掌握程度
Linux基础能运行命令、使用conda会写Shell脚本批量处理文件
R语言会安装包、画基础ggplot熟悉tidyverse、能自定义主题
统计学理解p值、方差分析了解混合效应模型、时间序列分解
生物信息学跑过标准RNA-seq流程了解GTF注释、比对算法差异

注意:如果你对R语言的基本操作还不太熟练,比如不知道如何从data.frame里按条件筛选行、不会用dplyr的group_by+summarise、看不懂ggplot2的aes映射,那建议先花两天补一下基础。否则后面代码示例你可能会卡住——我之前就有学员因为看不懂管道操作符 %>% 直接放弃了课程,挺可惜的。

好了,第一章的目标就一个:让你对时间序列RNA-seq的完整图景有一个框架性认识。后面的29章,我们会对模块A到模块D逐一深入,从代码到实践,彻底掌握。