第1章 RNA-seq实验设计概述

1.1 生物学重复——不是越多越好,但少了真不行

我刚入行时总觉得,生物学重复不就是多跑几个样本吗?直到有一次,我给两组小鼠做了转录组测序,每组只用了2个重复。结果差异基因列表长得像购物清单,可一个都验证不出来。后来才明白——生物学重复是RNA-seq的命根子。

生物学重复指的是来自同一处理条件下多个独立生物样本的测序数据。它帮你消除个体差异,让统计检验有底气。我见过有些同学把技术重复当成生物学重复用,嗯,那基本等于白做。

那到底需要多少重复?我个人习惯是:

  • 探索性研究:至少3个生物学重复。少于3个,差异分析P值校正后基本没剩下什么。
  • 验证性/经典对比:4-6个。我在做药物处理实验时,每组放了5只老鼠,结果稳定得多。
  • 时间序列或多个条件:每个时间点或条件保证3个,否则趋势分析像在猜谜。
省钱小窍门:预算紧张时,优先保证生物学重复的数量,而不是测序深度。少一个重复可能让整个项目白做;少一点深度,至少还能靠生物信息学方法补救一下。

1.2 测序深度——你打算给每个基因拍几张"照片"?

测序深度,说白了就是每个转录本被读取的平均次数。它直接影响你检测低表达基因的能力。我做过一个比较有意思的项目:用同样的样本,分别跑10M、30M和100M reads,结果发现——

  • 10M reads:能检出表达量前50%的基因,但低表达的基本看不见。
  • 30M reads:大部分基因都能覆盖到,差异表达分析也比较稳。
  • 100M reads:除了增大了存储压力,对基因检测数没啥质变。

为什么会这样?因为测序深度和基因检测数是个对数曲线。前期增加深度效果明显,到了一定阈值后边际效益急剧下降。我建议按实验目的来选:

实验目的推荐深度(总reads)备注
差异表达(高表达基因)15-25M(单端)/ 30-50M(双端)常见套路
差异表达(低表达/稀有转录本)40-60M(单端)我之前做lncRNA时用了50M
可变剪接分析50-100M(双端)更深更稳
等位基因特异性表达80-100M+要平衡每个SNP覆盖
避坑指南:我曾经一个项目用了双端150bp、100M reads,结果80%的reads是核糖体RNA残留。测再深也没用,建库前一定要做rRNA depletion或polyA捕获,否则深度全贡献给rRNA了。

1.3 链特异性——方向感决定了你能看多远

链特异性测序(strand-specific RNA-seq)是一个经常被忽略但影响巨大的选择。我记得第一次拿到非链特异性数据做反义转录本分析时,崩溃了——因为根本不知道reads来自哪条链。

简单说:链特异性在建库过程中保留了RNA转录的方向信息。你可以知道一条read来自正义链还是反义链。这对以下分析至关重要:

  • 确定转录本的精确边界(尤其是UTR区域)
  • 鉴定反义转录本和天然反义RNA
  • 区分两个基因重叠区域的reads归属
  • 提高read比对准确率,减少多比对问题

目前主流链特异性建库方案有几种:

方案原理特点
Illumina stranded(dUTP法)第二链掺入dUTP,后用UDG酶消化最常用,我推荐
Forward strand(如Clontech SMARTer)直接保留第一链方向适合低起始量,但链方向与dUTP法相反
Non-stranded(标准)不保留方向信息便宜,但后续分析丢失大量信息
注意:不同建库方案下,比对软件的参数设置完全不同。比如STAR需要指定--outSAMstrandField intronMotif,HTSeq-count需要指定-s参数(yes/no/reverse)。我见过有人用错了参数,结果正义反义全反了。

1.4 实验设计总览——一张图说清楚

我把上面几个关键决策点画成一张流程图,帮你快速理清思路。每次开始一个新项目前,我都会先走一遍这个决策树,避免回头补样本或重测。

RNA-seq实验设计决策流程 实验目标确定 生物重复数≥3 预算允许可增至6组 测序深度选择 低表达组选50M+ 常规用30M 链特异性建库? 建议选dUTP法 双端100-150bp 确定实验方案 决策提示: • 先确定差异表达还是novel transcript鉴定,影响深度选择。 • 链特异性建议默认开启,后期可转换,非链特异性数据无法还原方向信息。

1.5 一个容易被忽略的参数——随机化与批次效应

你可能想不到,我印象最深刻的一次翻车,不是因为重复数不够,而是因为样本处理顺序没随机化。当时我把所有对照组先上机,处理组后上机,结果差异基因里混进了一堆光照时间、试剂批次相关的假阳性。

解决方法:

  • 样本收集时,不同处理组之间来回穿插取样。
  • RNA提取和建库时,分组打乱顺序。
  • 测序时尽量在同一次lane/flow cell内完成,否则需要加入批次校正。

你可以用随机化表格来记录,比如:

样本ID	处理组	取样顺序	建库批次	测序lane
S01	Control	1	B1	L1
S02	Treatment	2	B1	L2
S03	Control	3	B2	L1
S04	Treatment	4	B2	L2
S05	Control	5	B1	L3
...

有这个记录,后面用ComBat或limma做批次校正时才敢放心用。

1.6 最后唠叨几句

好了,实验设计的几个核心概念就聊这么多。记住:好的RNA-seq结果80%靠实验设计,剩下20%才是数据分析。我在新手阶段总是急匆匆建库测序,结果后面的差异分析、功能富集怎么做都不对,回头一看——哦,重复不够、深度虚高、链特异性搞反了。希望你别踩同样的坑。