Similarity Network Fusion(SNF)相似

作者: 生信编程日常 | 来源:发表于2020-01-30 22:45 被阅读0次
    image.png

    Similarity Network Fusion (SNF)是将多组学数据整合起来,优化可视化结果的一种方法。如下面将两种数据类型融合在一起的:同一组患者的mRNA表达和DNA甲基化。

    安装:

    if (packageVersion("devtools") < 1.6) {
      install.packages("devtools")
    }
    devtools::install_github("maxconway/SNFtool")
    
    library(SNFtool)
    data(Data1) # gene expression
    data(Data2) # methylation
    

    计算两个数据的距离矩阵

    dist1 <- as.matrix(dist(Data1))
    dist2 <- as.matrix(dist(Data2))
    
    

    将距离矩阵转化成相似矩阵,在距离矩阵中,值越大代表越远,相似矩阵中,值越大代表越相似,转化所用的函数为affinityMatirix。afinityMatrix输入为三个参数:一个已经存在的距离矩阵,参数K和sigma。 K是相邻的数量,其中相邻外部的亲和力设置为零,内部的亲和力被归一化。 sigma是用于执行实际亲和力计算的缩放指数相似内核的超参数。 这两个参数都是凭经验选择的。

    W1 <- affinityMatrix(dist1, K = 20, sigma = 0.5)
    W2 <- affinityMatrix(dist2, K = 20, sigma = 0.5)
    

    将聚类用热图可视化

    displayClustersWithHeatmap(W1, spectralClustering(W1, K = 3))
    
    image.png
    displayClustersWithHeatmap(W2, spectralClustering(W2, K = 3))
    
    image.png

    将两个数据整合并可视化

    W = SNF(list(W1,W2), 20, 20)
    displayClustersWithHeatmap(W, spectralClustering(W, K = 3))
    
    image.png

    显然,数据整合之后的相关效果更好!

    参考:
    https://github.com/maxconway/SNFtool
    https://arxiv.org/pdf/1708.07136.pdf

    欢迎关注微信公众号:生信编程日常


    相关文章

      网友评论

        本文标题:Similarity Network Fusion(SNF)相似

        本文链接:https://www.haomeiwen.com/subject/qtjwthtx.html