用简单的EM算法模型理解RSEM算法

问题的描述

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容