第1章 RNA velocity简介与生物背景

什么是RNA velocity?

RNA velocity,说白了就是看RNA的「加速度」。

传统单细胞测序只能给细胞拍张「快照」——你看到某个基因高表达,但不知道它正在上升还是下降。RNA velocity补上了这个时间维度。

我个人习惯把细胞想象成一辆车:传统方法知道车在哪个位置(基因表达量),而RNA velocity还能告诉你车速和方向(表达变化趋势)。

这个思路的核心切入点很巧妙:利用细胞内未剪接(pre-mRNA)和已剪接(mRNA)的比例关系。

核心洞察:基因转录时先产生带有内含子的前体RNA,经过剪接后去掉内含子变成成熟mRNA。如果某个基因正在被激活,细胞内未剪接的比例就会偏高;如果正在沉默,则已剪接的比例占主导。

pre-mRNA与mRNA的区别

这里有个关键概念要理清。

基因转录出来的原始产物叫做前体信使RNA(pre-mRNA),它包含内含子和外显子。经过剪接加工后,内含子被切除,形成成熟的信使RNA(mRNA)。

特征 pre-mRNA(未剪接) mRNA(已剪接)
包含内含子 是 否
可翻译 否 是
半衰期 短 较长
在RNA velocity中的作用 指示「刚被转录」 指示「已经稳定」

你想想看,如果一个细胞正在从一个状态转向另一个状态,它内部的新转录本必然先以未剪接形式存在。这就是RNA velocity能「看见」未来方向的原因。

一个小经验:我刚开始做RNA velocity分析时,总以为数据好就行了。后来发现,如果实验本身有大量细胞应激反应,那些应激基因的剪接比例会被严重干扰。所以,先看一眼原始U/I比例分布很有必要。

RNA velocity的核心公式

RNA velocity的数学基础其实不复杂。基本思路是:

  1. 每个基因的未剪接RNA(U)和已剪接RNA(S)分别有生成速率和降解速率
  2. 稳态下U和S的比例是固定的
  3. 偏离这个比例就说明基因表达正在变化

我用一个简化的例子来展示一下实际计算中的核心公式:

# 伪代码示意:RNA velocity的核心计算逻辑
# u: 未剪接计数
# s: 已剪接计数
# alpha: 转录速率
# beta: 剪接速率
# gamma: 降解速率

du/dt = alpha - beta * u
ds/dt = beta * u - gamma * s

# 稳态时 du/dt = 0, ds/dt = 0
# u_steady = alpha / beta
# s_steady = alpha / gamma
# 所以稳态 s/u 比例 = beta / gamma

# 每个细胞的 velocity 就是当前点到稳态曲线的位移

嗯,这里要注意:实际分析中用的是广义线性模型来估算这些速率参数,不是手算微分方程。但理解了这个基础,你后面调参数时才不会懵。

稳态假设

RNA velocity的成立依赖一个关键假设:每个基因在细胞状态转变过程中会短暂进入「稳态」。说白了,就是某个时间点该基因的未剪接和已剪接达到平衡状态。

但我在项目中遇到过一个问题:对于某些在短时间内剧烈波动的基因(比如热休克基因),稳态假设可能不成立。这种情况下,RNA velocity的估计就会偏差很大。

避坑指南:我曾经处理过一组骨髓发育数据,发现几乎所有基因都显示向同一个方向变化。查了三天,结果发现是实验室用了放线菌素D处理样本——药物直接抑制了转录。所以,样本在实验前的处理要搞清楚,否则RNA velocity给出的方向全是反的。

核心知识点一图总结

RNA velocity核心逻辑图 DNA基因 转录激活 pre-mRNA积累 剪接加工 mRNA运输 计算U/S比率 估计RNA速度 推断发育方向 关键结论 U/S比例偏离稳态 → 方向 U偏高 → 基因激活(上升) U偏低 → 基因抑制(下降)

RNA velocity能解决什么问题?

我整理了一下,RNA velocity在实际研究中最常用的场景包括:

  • 细胞分化轨迹推断——传统拟时序分析容易卡在分支点判断上,RNA velocity的「方向感」能帮你分清哪条路是前向的
  • 发育状态判定——某个细胞群到底是在增殖还是分化?看剪接比例变化能给出明确信号
  • 疾病进展建模——肿瘤异质性里的亚克隆演化方向,RNA velocity有时能提前几天「预告」细胞命运
  • 药物响应评估——处理后的细胞是正在耐药还是正在死亡?剪接变化速率比表达量更早反映

实验层面的准备

RNA velocity分析在实验上有个额外要求:测序时尽量保留内含子信息。具体来说:

  1. 建库方法——10x Genomics的v3试剂盒或Smart-seq2都比较适合,因为它们能捕获到未剪接的pre-mRNA
  2. 比对策略——需要同时比对到基因组(内含子区域)和转录组(外显子区域)
  3. 计数矩阵——最终你会得到两个矩阵:一个是传统的基因表达矩阵(只包含外显子),另一个是内含子矩阵
我的建议:如果你的数据已经用10x v2跑完了,也别灰心。虽然v2的3'端捕获在剪接区分上差一些,但用velocyto的smart-seq模式加上一些去噪处理,还是能跑出有意义的结果。只是分辨率会打个折扣。

第1章小结

RNA velocity的生物学基础其实不复杂——我把它总结为三句话:

  • 细胞内部正在发生什么?看未剪接RNA的比例
  • 基因表达朝哪个方向走?看U/S偏离稳态的程度
  • 结果靠谱吗?先检查稳态假设是否成立