分析时间序列的RNA-seq tool

简介

maSigPro,这是一款可以综合分析时间序列RNA-seq的工具。
这款工具最初由Conesa等人于2006年开发,于2014年经Nueda等人进一步优化而得到的

那么,我们在研究生物学问题的时候,往往是一个动态的过程,即某些基因的表达水平随着时间的推移厄尔发生动态改变
而传统的DEG往往只能比较treatment和control,却忽略了时间带来的效应。而maSigPro综合考虑了每一时期的treatment与control的区别,而且也考虑了不同时间点基因表达的动态变化

其工作流程为:


原理

第一次回归

maSigPro采用的是广义线性模型进行建模,即下列式子:



结合该式子来看,相比较于普通的DEG来说,在该广义线性加入了关于时间的项和回归系数

其中:

  1. i = 实验组别
  2. j = 时间点
  3. J=多项式回归的最高次数,与你的时间点数量有关
  4. r=重复(生物学重复)
  5. D=虚拟二进制变量(实验条件,D1,D2,D3... 为不同的实验处理/条件),即有某处理为1,没有为0
  6. T=时间点
  7. yijr=标准化后的表达值
  8. β,δ,γ,λ=回归系数
  9. β0,δ0,γ0,λ0 为对照组中的回归系数;βi,δi,γi,λi表
    示第 i +1 组与对照组之间的差异,对于时间变量而言通常 i = 1
    为对照组

其中D为:



比方说 i = 1 这组是没有任何处理的.所以所有的实验处理都为0 ; i = 2 这组经过了D1的处理, 所以D1 这项为 1

如果考虑不同组别的差异:
那么上式子中的β0,δ0,γ0,...,λ0为对照组的回归系数,βi,δi,γi,λi表示第 i + 1组与对照组之间的差异,通常 i = 1 为对照组
那么当 i = 1 时:



当 i = 2 时, (D1 = 1):



对于 i = 2 的基因表达量 y2jr 来说,它的系数是β0 + β1, δ0 + δ1, γ0 + γ1.....(后面不再列举了)这样的和形式,那么根据前面所说的β0, δ0 , γ0 ...... 是对照组的回归系数,β0 + β1 , δ0 + δ1 , γ0 + γ1 ......是其中一个treatment(DI)的回归系数,那么β1 , δ1 , γ1 就代表了该treatment与对照之间的差异,那么 i = 3,4..... 也是同样的道理,其系数的加和表示与对照组的差异

其中时间T矩阵是自己定义的,这里举两个次项的例子,往后的以此类推

1.当考虑线性回归建模(最高一次项)时

依次看不同时间点与不同处理的变化:
当 j = 0 时
i = 1 , j = 0:


i = 2 , j = 0:

i = 3 , j = 0:

当 j = 1 时
i = 1 , j = 1:


i = 2 , j = 1:

i = 3 , j = 1:

当 j = 2 时
i = 1 , j = 2:


i = 2 , j = 2:

i = 3 , j = 2:

2.当考虑二次回归建模(最高二次项)时

依次看不同时间点与不同处理的变化:
当 j = 0 时
i = 1 , j = 0:


i = 2 , j = 0:

i = 3 , j = 0:

当 j = 1 时
i = 1 , j = 1:

i = 2 , j = 1:

i = 3 , j = 1:

当 j = 2 时
i = 1 , j = 2:


i = 2 , j = 2:

i = 3 , j = 2:

而设置多项式的最高次数我们通过degree来设置:

design <- make.design.matrix(condition,degree = 6)
#the degree of the regression fit polynome. degree = 1 returns linear regression, degree = 2 returns quadratic regression, etc

对于degree的设置,很大程度上依赖于你时间点的个数,时间点个数越多,degree也就设置的越高,一般就设置为你时间点的个数比较好

仍然考虑两个组别,两个时间点的情况,即 i = 1组和 i = 2组分布在 j = 1 这个时间点上和 j = 2这个时间点上的情况,其中D1表示实验组处理,T1为第一个时间点,T2为第二个时间点;i ≤ I - 1(I 为 组数),j ≤ J - 1(J 为时间点数)
对应 D 矩阵有
对于对照组的第一个时间点(i = 1,j = 1) :

对于对照组第二个时间点(i = 1,j = 2):

对于实验组的第一个时间点(i = 2,j = 1):

对于实验组的第二个时间点(i = 2,j = 2):

(1). 相同时间点,不同组别的差异为:y21r - y11r 或者 y22r - y12r
(2). 相同组别,不同时间点的差异为:y12r - y11r 或者 y22r - y21r

那么依次求解参数即可

所以第一次回归的目的是建立基因表达量,对照与treatment,以及时间之间的关系式

第二次回归

这次回归属于逐步回归,即将不显著的回归系数项剔除,这一步目前有两大算法,向前算法和向后算法,其目的都是保留统计学显著的系数项

结果


该软件结果可以根据基因表达模式进行分类,然后就可以看到随时间,基因表达的动态变化了

另外,该软件是可以将动态变化的基因分cluster的,比方说上图就分了3个cluster,那么这些cluster是根据基因的表达模式区分的,这样以来,就可以细化到每个cluster随时间的变化趋势,从而找出自己感兴趣的cluster

参考:
传送门

《Comparative analysis of differential gene expression tools for RNA sequencing time course data》
https://academic.oup.com/bib/article/20/1/288/4364840

《Next maSigPro: updating maSigPro bioconductor package for RNA-seq time series》
https://academic.oup.com/bioinformatics/article/30/18/2598/2475510

《maSigPro: a method to identify significantly differential expression profiles in time-course microarray experiments》
https://academic.oup.com/bioinformatics/article/22/9/1096/200371#e1

maSigPro说明文档:
http://www.bioconductor.org/packages/release/bioc/vignettes/maSigPro/inst/doc/maSigProUsersGuide.pdf

你可能感兴趣的:(分析时间序列的RNA-seq tool)