问题的描述
RSEM 是典型的基于转录本定量的方法,它的比对需要下载参考转录本的fa序列,与基因组比对不同,转录本比对往往是一个基因对应多个转录本序列,因此相同基因的不同转录本之间有很大的overlap
如上图所示,当reads比对到这些isoform的overlap区,如何确定每个isoform上的reads数呢?换句话来说有的reads可以mapping到isoform 1上,而有一些可以mapping到isoform 2上,所以需要解决的问题是确定isoform 1和isoform 2上reads的相对比例
类比双硬币模型来理解RSEM
假设在已知reads可以mapping到isoform的条件下, reads mapping到 isoform 1的概率是 θ1 ;而在已知reads可以mapping到isoform的条件下, reads mapping到 isoform 2的概率是 θ2(针对于 isoform 1 和 isoform 2 的overlap区)
假设我们一共有5组观测值,每组10个值,并且我们所观测到的值只是是否mapping到isoform上,而并不清楚是mapping到 isoform 1 还是 isoform 2 上,并且mapping到 isoform 上了的用 Y 表示,没有mapping上的用 N 表示:
上表代表的是每一组reads mapping到isoform上的情况,记录每一组mapping到isoform上的reads数和没有mapping到isoform上的reads数
step 1
随机设定初始值,θ1=0.6,θ2=0.5,假设在已知reads可以mapping到isoform的条件下, reads mapping到 isoform 1的概率是 θ1 ;而在已知reads可以mapping到isoform的条件下, reads mapping到 isoform 2的概率是 θ2(针对于 isoform 1 和 isoform 2 的overlap区)
step 2
对于第一组数据,设某reads分配给 isoform 1 的概率为0.45,记为p1:
其中,指数 θ15 5次方代表有5条reads mapping到 isoform 1 上;那么某reads分配给 isoform 1 的概率为0.45(分配但不一定mapping); (1-θ1)5 代表有5条reads 没有 mapping 到 isoform 1 上 。同理可理解 θ2
那么,该reads分配(分配但不一定mapping)给 isoform 2 的概率为0.55,记为p2
这里的"分配"作为隐含变量,在实际的意义中可以表示start position 等一些潜在变量,分配可以这样理解,reads会分配给isoform 1(或isoform 2),分配完成后会有两种可能性,一种是mapping到该isoform上,另一种是没有mapping到该isoform上
其中,指数 θ19 9次方代表有5条reads mapping到 isoform 1 上;那么某reads分配给 isoform 1 的概率为0.8(分配但不一定mapping); (1-θ1)1 代表有1条reads 没有 mapping 到 isoform 1 上 。同理可理解 θ2
同理,依次计算第3到第5组:
step 3
由step 2计算的第一组,reads分配给isoform 1(isoform 2)的概率为p1=0.45(p2=0.55)
那么对于第一组的 isoform 1 :
mapping:5 × 0.45 = 2.25(mapping 到 isoform 的有5条reads,其中有2.25条分配给 isoform 1); unmapping: 5 × 0.45 = 2.25(没有mapping 到 isoform 的也有5条reads,其中有2.25条分配给 isoform 1)
对于第一组的 isoform 2 :
mapping:5 × 0.55 = 2.75(mapping 到 isoform 的有5条reads,其中有2.75条分配给 isoform 2); unmapping: 5 × 0.55 = 2.75(没有mapping 到 isoform 的也有5条reads,其中有2.75条分配给 isoform 2)
同理对于第二组:
那么对于第二组的 isoform 1 :
mapping:9 × 0.8 = 7.2(mapping 到 isoform 的有9条reads,其中有7.2条分配给 isoform 1); unmapping: 1 × 0.8 = 0.8(没有mapping 到 isoform 的也有1条reads,其中有0.8条分配给 isoform 1)
那么对于第二组的 isoform 2 :
mapping:9 × 0.2 = 1.8(mapping 到 isoform 的有9条reads,其中有1.8条分配给 isoform 2); unmapping: 1 × 0.2 = 0.2(没有mapping 到 isoform 的也有1条reads,其中有0.2条分配给 isoform 2)
并且依次计算第3-5组的:
e.g:
以第三组为例:
对于第三组的 isoform 1 :
mapping:8 × 0.73 = 5.86(mapping 到 isoform 的有8条reads,其中有5.86条分配给 isoform 1); unmapping: 2 × 0.73 = 1.47(没有mapping 到 isoform 的有2条reads,其中有1.47条分配给 isoform 1)
对于第二组的 isoform 2 :
mapping:8 × 0.27 = 2.13(mapping 到 isoform 的有8条reads,其中有2.13条分配给 isoform 2); unmapping: 2 × 0.27 = 0.53(没有mapping 到 isoform 的有2条reads,其中有0.53条分配给 isoform 2)
step 4
重新定义θ1 和 θ2
θ1 = 21.30 / (21.30 + 8.57) =0.713;θ2 = 11.70 / (11.70+8.43) =0.581
将重新定义的θ1 和 θ2返回step 1—step 4,直至算法收敛,即θ1 和 θ2收敛,那么θ1 和 θ2就分别代表 isoform 1 和 isoform 2 的表达量
假设在已知reads可以mapping到isoform的条件下, reads mapping到 isoform 1的概率是 θ1 ;而在已知reads可以mapping到isoform的条件下, reads mapping到 isoform 2的概率是 θ2(针对于 isoform 1 和 isoform 2 的overlap区)。换句话说,当有1条 reads mapping 到对应位置,那么有 θ1 条来自于 isoform 1,有 θ2 条来自于 isoform 2