美文网首页基因表达相关性分析绘图技巧收入即学习
基因表达相关性也可以用弦图可视化(R语言)

基因表达相关性也可以用弦图可视化(R语言)

作者: 纪伟讲测序 | 来源:发表于2021-01-13 19:07 被阅读0次

    表达谱分析中,经常会使用到相关性分析,探索一组基因间的共表达特征。例如,这些基因间的表达是否存在较强的协同性,一个基因表达值的改变是否与另一个基因表达值改变显著相关,它们之间是共激活还是抑制关系等。

    对于相关性分析结果的可视化,通常有多种方法,例如相关性散点图、弦图、共表达网络图。本篇教程则主要带大家了解如何基于基因表达值的相关性,绘制弦图

    如下弦图来自文献“CUL4B promotes prostate cancer progression by forming positive feedback loop with SOX4”,共涉及了7个基因。图中的连线就代表了基因间表达值的相关性信息,红色代表正相关,绿色代表负相关,颜色越深或连线越粗代表相关强度越高。从图中可以看出,这几个基因间以较强的正相关关系占主导,暗示它们之间的共激活关系,或者在相似的生物学过程中发挥作用。

    文献中的弦图,表示基因间表达值的相关性

    接下来,就模仿该文献的样式,绘制基因表达相关性弦图。

    作图原始数据、R代码等,可点击这里获取

    计算基因表达值的相关性

    为了绘制弦图,首先需要计算基因表达值的相关性。

    来看提供的示例数据“gene_FPKM.txt”,记录了6个基因在30个样本中的表达值(FPKM值)信息。将该基因表达值矩阵读入到R中,计算基因表达值的Pearson相关性。

    示例数据格式
    #读取基因表达值数据
    gene <- read.delim('gene_FPKM.txt', row.names = 1, sep = '\t')
    gene <- t(gene)  #转置数据,使行为样本,列为基因
    
    #表达值进行log(1+)转化,使数据更服从正态分布,减少离散度极大值影响
    gene <- log(gene+1)
    
    #基因表达值的相关性分析,以Pearson相关系数为例
    gene_cor <- cor(gene, method = 'pearson')
    
    #去除基因的自相关,也就是对角线的值
    diag(gene_cor) <- 0
    gene_cor  #最终的基因间表达值Pearson相关性矩阵
    
    计算基因间表达值的相关性

    初步计算了6个基因间表达值的Pearson相关系数,正值代表正相关,负值代表负相关,绝对值越大代表相关强度越高。

    绘制相关性弦图

    再对上述得到的相关性矩阵做个转换,得到一种两两对应的结构,如下示例。

    #将获得的相关性矩阵转换为两两对应的数据框结构
    gene_cor <- reshape2::melt(gene_cor)
    gene_cor <- subset(gene_cor, value != 0)  #去除0值的相关性
    head(gene_cor)  #前两列是两个基因名称,第三列为两个基因的相关性
    
    基因间两两相关性

    最后,可通过circlize包中的方法绘制弦图,circlize包是R语言中绘制弦图的一款非常优秀的R包。

    #绘制弦图
    library(circlize)
    
    chordDiagram(gene_cor, 
        annotationTrack = c('grid', 'name', 'axis'), #绘制外周圆弧区,显示名称和刻度轴
        grid.col = c(GABRD = 'green3', PLVAP = 'red', CDKN3 = 'orange', CDC25C = 'purple', UBE2T = 'skyblue', SKA1 = 'blue'), #定义基因颜色
        col = colorRamp2(c(-1, 0, 1), c('green', 'white', 'red'), transparency = 0.5), #根据相关性大小展示连线的颜色范围
        annotationTrackHeight = c(0.05, 0.05), #名称离圆弧的距离,以及圆弧的宽度
    )
    
    R包circlize绘制的弦图

    这样弦图就得到了,连线表示了6个基因间表达值的Pearson相关性信息,红色代表正相关,绿色代表负相关,颜色越深或连线越粗代表相关强度越高。

    相关文章

      网友评论

        本文标题:基因表达相关性也可以用弦图可视化(R语言)

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