基因组规模上的聚合数据类型的相似性网络融合

摘要:

        近期的技术已经使收集不同类型的全基因组数据十分划算,结合这些数据去创建一个给定的疾病或生物过程的一个全面视图的计算方法是有必要的。相似网络融合(SNF:similarity network fusion)通过创建每一个可利用的数据类型的样本(如,患者)的网络可以解决这个问题。例如,创建一个给定一群患者疾病的全面视图,SNF计算并融合分别来自于他们每一个数据类型的患者相似网络,目的是利用数据中的互补性。我们使用SNF去结合五种癌症数据集中的的mRNA表达,DNA甲基化和microRNA(miRNA)表达数据。SNF算法大大优于单一数据的分析与建立的综合方法,这个优势在识别肿瘤亚型和预测生存时是有效的。


一、SNF算法流程

基因中asnfs和Nfs的区别_基因组

图1.SNF步骤示例图

其中,图1a是来自同一类患者的mRNA表达和DNA甲基化;图1b是对于每一个数据类型的患者-患者相似度矩阵;图1c是患者-患者相似网络,节点代表患者,边代表一对患者间的相似度;图1d是网络融合过程,通过SNF算法迭代地通过其他网络的信息来升级每一个网络,使其每一步更相似;图1e是交互网络融合导致集合为最终融合网络,边的颜色表示数据类型已经贡献到给定的相似度。


二、SNF算法模型

2.1  网络权值(边)设置(患者相似度W(i,j))

       假设有n个样本(例如,患者数据),m个测量值(例如,mRNA基因表型)。

       G=(V,E) :患者相似度网络。顶点V表示患者{x1,x2,...,xn},边E是权重表示患者相似度。

       ρ(i,j) :患者xi与患者xj的欧几里得距离

       W(i,j) :患者xi与患者xj的相似度矩阵(n×n)

scaled exponential similarity kernel)定义:

   

基因中asnfs和Nfs的区别_基因组_02

             其中,μ是一个超参数,可以通过经验去设置,推荐设置的范围为[0.3,0.8];εij是用于消除缩放比例问题,这里定义εij为:

      

基因中asnfs和Nfs的区别_大数据_03

                    其中 mean(ρ(xi,Ni))是xi到每一个邻居的距离均值。


2.2  权值矩阵标准化

       为了计算来自多重测量值类型的融合矩阵,我们在定点集V上定义一个全稀疏核(full and sparse kernel),将其标准化后的权值矩阵为

基因中asnfs和Nfs的区别_网络融合_04


       其中D为一个对角矩阵。

      

基因中asnfs和Nfs的区别_基因组_05

       且

基因中asnfs和Nfs的区别_基因组_06

成立。

       然而这种标准化可能造成数值的不稳定,因为其涉及在对角线上自相似的W。

       一种更好的标准化的方法如下:

 

基因中asnfs和Nfs的区别_大数据_07

       这样的标准化可以去除对角线上自相似的尺度,且

基因中asnfs和Nfs的区别_基因组_06

仍然成立。


2.3 K个最相似患者的相似度S(i,j)

      设Ni表示xi的邻居(包括xi)在网络G中。

      给定一个图G,我们使用K最邻近的方法(KNN)去测量局部亲和力(local affinity)得到Ni,并得出相邻点之间的相似度:

   

基因中asnfs和Nfs的区别_基因组_09

      其中,非相邻点的相似度为0.

      请注意,P(i,j)是第i位患者与其他所有患者的相似性,而S(i,j)是第i个患者与其k个最邻近患者的相似度!

      在算法中,总是把P(i,j)作为初始状态,而S(i,j)作为核心矩阵在捕获局部结构和计算效率的两种容量的融合过程中。


2.4 相似性网络融合(SNF)

       设有m个不同的数据类型,对于第v个数据类型(v=1,2...m),通过式(1)得出对应的相似度矩阵为

基因中asnfs和Nfs的区别_相似度计算_10

,并分别通过式(2)与式(3)计算出

基因中asnfs和Nfs的区别_基因组_11


基因中asnfs和Nfs的区别_相似度计算_12


       我们以两个数据类型为例,即m = 2.


       Step1.计算数据类型的P(i,j)与S(i,j)。

                   通过式(2)计算出

基因中asnfs和Nfs的区别_网络融合_13


基因中asnfs和Nfs的区别_基因中asnfs和Nfs的区别_14

;通过式(3)计算出

基因中asnfs和Nfs的区别_网络融合_15


基因中asnfs和Nfs的区别_基因组_16

                   让

基因中asnfs和Nfs的区别_基因中asnfs和Nfs的区别_17


基因中asnfs和Nfs的区别_基因中asnfs和Nfs的区别_18

分别代表当t=0时两个初始状态矩阵(t表示时间)。


       Step2. 迭代更新相似度矩阵。

                    这是SNF的关键步骤,分别迭代更新每一个数据类型的相似度矩阵,如式(4)(5):

                   

基因中asnfs和Nfs的区别_基因中asnfs和Nfs的区别_19

                    其中

基因中asnfs和Nfs的区别_大数据_20

是第一个数据类型的状态的 t 步后的状态;

基因中asnfs和Nfs的区别_网络融合_21

是第二个数据类型的状态的 t 步后的状态。

                    在 t 步后,整体状态矩阵可以这样计算:

                   

基因中asnfs和Nfs的区别_基因中asnfs和Nfs的区别_22

                     然而S是一个KNN图,它可以降低距离间的噪音,于是,另一种迭代更新方法是将公式(4)升级为如下公式(6):

                   

基因中asnfs和Nfs的区别_基因组_23

                    其中,Ni代表着包括节点xi的xi的邻居数。

                    通过相同的方法,我们也可以升级公式(5)为与公式(6)类似的公式

 

        Step3.相似网络融合

                    将Step2中得到的

基因中asnfs和Nfs的区别_大数据_24


基因中asnfs和Nfs的区别_相似度计算_25

代入公式(2)中进行标准化后,就得到了融合后的各个数据类型图中边上的权值信息。

                    广泛地,当m>2时,公式(4)(5)便成了如下公式(7):

                 

基因中asnfs和Nfs的区别_相似度计算_26


三、网络聚类(以疾病子类型为例)

3.1 划分矩阵的设置

       给定n个样本和m个测量值,我们的意图是识别C个服从于子类型的样本聚类。

       我们设每一个样本xi拥有一个标签指示向量(label indicator vector):

       

基因中asnfs和Nfs的区别_基因组_27

        当xi属于第k个聚类时,

基因中asnfs和Nfs的区别_相似度计算_28

;否则,

基因中asnfs和Nfs的区别_相似度计算_28


        于是我们有划分矩阵(paitition matrix):

       

基因中asnfs和Nfs的区别_大数据_30

3.2 聚类方法

      我们使用谱聚类算法(spectral clustering)得到网络划分:

    

基因中asnfs和Nfs的区别_大数据_31

        其中

基因中asnfs和Nfs的区别_基因中asnfs和Nfs的区别_32

为规模划分矩阵;

基因中asnfs和Nfs的区别_基因组_33

表示给定的相似度矩阵W的标准化拉普拉斯矩阵;矩阵D是网络的度的矩阵,对角线元素为对           应位置节点的度,非对角线元素设置为0。


四、基于网络的生存风险预测

4.1 生存风险预测

       给定所有的特征矩阵X,对于给定的第i为患者来说,一个事件(死亡)在 t 时间的风险为:

      

基因中asnfs和Nfs的区别_基因中asnfs和Nfs的区别_34

       其中,z是回归系数向量;h0(t) 是基准风险函数。

       而回归系数向量 z 通过最大限度的Cox logpartial似然估计出的:

    

基因中asnfs和Nfs的区别_相似度计算_35

       其中n是患者的数量,ti 是第 i 位患者的生存时间;R(ti)是在ti 时间的风险集,表示的是在 ti 时间之前仍存活的患者集合;δi( )是一个指示器函数,当生存时间被观察到,δi =       1;否则为0。


4.2 改善的生存风险预测

      我们可以通过附加信息改善生存预测,比如基因交互信息或基于约束的患者相似度。无论是功能的相似性还是患者的相似性(或两者)都可以进行正则化。

      根据Cox模型的风险函数,患者i与患者j的相关风险为:

      

基因中asnfs和Nfs的区别_基因中asnfs和Nfs的区别_36

       因此,可以创建一个正则项为:

     

基因中asnfs和Nfs的区别_大数据_37

       为了预测z ,我们可以使用一个修改的函数:

     

基因中asnfs和Nfs的区别_大数据_38

       其中λ是正则化系数。