1. 课程介绍
大家好,欢迎来到《时间序列RNA-seq差异表达分析实践》。我是这门课的讲师,做了多年生物信息学,也在数据科学教育领域摸爬滚打了一阵子。今天咱们先聊聊基础——RNA-seq技术到底怎么回事,时间序列实验该怎么设计,以及这门课能帮你解决什么问题。
说实话,我刚接触RNA-seq那会儿,也踩过不少坑。测序数据下来了,一看QC报告,好多reads比对不上——后来才发现是实验设计阶段没把生物学重复考虑进去。你想想看,一个时间点只取一个样本,后面分析再漂亮,也没法做统计检验。所以咱们先从根上打好基础。
1.1 RNA-seq技术基础
RNA-seq,说白了就是给细胞里的RNA分子“数数”。用高通量测序把转录组里的RNA片段读出来,然后通过比对和定量,知道每个基因表达了“多少”。
一个标准的RNA-seq流程大概是这样的:
- RNA提取:从样本里把总RNA抽出来。
- 文库构建:把RNA反转成cDNA,加上接头和barcode。
- 测序:用Illumina之类的平台读出短序列(reads)。
- 比对/定量:把reads对到参考基因组或转录组上,算出每个基因的counts。
- 差异表达分析:比较不同条件或时间点的基因表达变化。
我个人习惯用STAR做比对,再用featureCounts来定量。后面咱们会详细讲这些工具怎么用。
这里有一个典型的数据处理流程概览:
核心要点:RNA-seq分析不是“跑一个工具就完事”,每一步都有对应的质量控制。我在项目中遇到过好几次,测序质量差但硬跑下游分析,结果假阳性高得吓人。永远、永远、永远先检查数据质量。
1.2 时间序列实验设计
普通RNA-seq比较两组样本(比如处理vs对照),但时间序列RNA-seq要复杂得多。你需要考虑:
- 时间点的密度:采样点够不够密?如果基因在12小时有变化,你只在0、6、24小时采样,那就错过了。
- 生物学重复:每个时间点至少3个生物学重复。别只设2个,万一有个样本出问题,整组数据就废了。
- 批次效应:不同时间采集的样本,尽量在同一次建库、同一次测序跑。实在不行,也要在实验设计里把batch因素考虑进去。
- 对照条件:时间序列必须有对照(通常是0时刻或未处理组),不然你不知道变化是实验引起的还是自发波动。
避坑指南:我曾经接过一个项目,对方做某药物处理后的时间序列,结果每个时间点只取样一次,问我说能不能做差异分析……答案是“不能”。没有重复,统计检验就没法做。后来我建议他们补采样本,虽然时间成本高了,但数据质量完全不一样了。
时间序列实验设计的核心决策,可以用下面这张表格来对比:
| 设计要素 | 推荐做法 | 常见错误 |
|---|---|---|
| 时间点数量 | ≥5个,覆盖目标生物学过程 | 太少,错过动态变化 |
| 生物学重复 | 每个点 ≥ 3个重复 | 只做1-2个,无统计效力 |
| 批次控制 | 同批次处理所有样本 | 不同时间点分批次建库 |
| 对照设置 | 至少一个未处理或0时刻对照 | 没有对照,无法做基线比较 |
1.3 课程目标
通过这门课,你会掌握以下能力:
- 独立完成时间序列RNA-seq的完整分析流程。
- 会用专门的统计工具(比如
degSeq2、edgeR、splines模型)来做时间依赖的差异表达检测。 - 能识别基因表达随时间变化的模式,比如“早期上调”、“后期下调”、“持续激活”等。
- 做好数据可视化,生成漂亮又有说服力的热图、折线图和聚类图。
咱们的目标不是只跑通代码,而是理解每一步背后的生物学和统计学假设。说白了,你要能讲清楚“为什么这个基因在这段时间里变化了”。
1.4 预备知识
为了保证你跟上进度,建议具备以下基础:
- 编程能力:会用R或Python处理数据。我后面主要用R的
Bioconductor包,但如果你熟悉Python的pandas和scanpy,也能转过来。 - 统计基础:理解假设检验、p-value、多重检验矫正的概念。如果你对
FDR是什么一头雾水,先花半小时补一下。 - 分子生物学常识:知道转录组、mRNA、差异表达大概是什么意思。我们不深究基因调控机制,但起码术语要懂。
- Linux基础:会用命令行,能运行
ls、cd、grep这些基本命令。后面我们会在服务器上跑比对工具。
如果上面哪一项比较薄弱,也别急。我建议你先看几篇入门教程,或者直接来问我。我习惯在每个章节开头放一个“快速检查清单”,帮你评估自己是否准备好了。
1.5 知识体系总览
下图展示了本章的核心知识结构,也是整门课的逻辑框架。
记住:实验设计决定了你数据的上限。即使你有最好的分析方法,坏掉的实验设计也救不回来。