R包pheatmap绘制热图

作者: 谢俊飞 | 来源:发表于2018-10-04 20:55 被阅读21次

    前言:
    欢迎关注微信公众号:生信天团
    本文微信连接:R包pheatmap绘制热图
    此文参考自B站孟浩巍的系列视频[1]代码,利用个人测序数据绘图,现学现卖,不足之处,请多指教;

    1. pheatmap热图解读:
    文件输入为矩阵,按照矩阵中不同的数值填充上颜色;
    图中每一行为输入文件的行名,设置了行名后就是筛选出来的差异基因名称;
    图中每一列为不同处理数据;
    颜色表示表达量;
    z-score,当有多个rep时,行进行normalize
    聚类,将行表达量接近的放一起;

    2. 差异筛选:

    # 载入已筛选出的差异表达的基因文件
    > sign.gene <- read.csv("Sugar_A_vs_Yeast_A_diff_exp.csv", header = T, sep = "\t" )
    #将Gene_ID列当作行名
    rownames(sign.gene) <- sign.gene$Gene_ID
    #设置筛选条件
    > sign.gene.p_value <- sign.gene$pvalue < 0.05 
    > sign.gene.fc <- abs(sign.gene$log2FC) > 2
    > sign.gene.TPM <- sign.gene$Sugar_A1_TPM > 100 | sign.gene$Sugar_A2_TPM > 100 | sign.gene$Sugar_A3_TPM > 100 | sign.gene$Yeast_A1_TPM > 100 | sign.gene$Yeast_A2_TPM > 100 | sign.gene$Yeast_A3_TPM > 100
    #按上述条件选出差异表达所需要的基因
    > sign.gene.all <- sign.gene.p_value & sign.gene.fc & sign.gene.TPM
    #从表格中提取已筛选的差异基因
    > sign.gene.real <- sign.gene[sign.gene.all, ]
    

    筛选条件解读:

    p_value: 统计学显著性,一般设置为小于0.05;
    log2(fold_change) :处理与对照间变化的倍数,变化倍数设置为1,上调为正,下调为负,所以取绝对值,即abs(log2(fold_change) ) > 1;
    FPKM:表达量归一化后的统计量,不同归一化方法不一样,也有用TPM等;
    举例说,如果treat=0,09,control=0.01,虽然有统计学差异,但是无生物学差异。

    3. 绘制热图:

    # pheatmap绘制热图 
    #原文档数据值存放在第20-25列中
    > pheatmap(sign.gene.real[,c(20:25)]) 
    # 取log2
    > pheatmap(log2(sign.gene.real[,c(20:25)]+1))
    # 美化后热图
    > pheatmap(log2(sign.gene.real[,c(20:25)]+1),
             main="Sugar_A_vs_Yeast_A_heatmap",
             color = colorRampPalette(c("blue","white","red"))(256),
             fontsize=6, border_color = "grey60",
             treeheight_row=50,treeheight_col = 30,
             cellwidth = 30, cellheight = 6,
             )
    

    4. pheatmap热图展示

    1. 简单绘图:
    > pheatmap(log2(sign.gene.real[,c(20:25)]+1))
    
    20181004-3.png
    1. 简单美化处理:
    > pheatmap(log2(sign.gene.real[,c(20:25)]+1),
             main="Sugar_A_vs_Yeast_A_heatmap",
             color = colorRampPalette(c("blue","white","red"))(256),
             fontsize=6, border_color = "grey60",
             treeheight_row=50,treeheight_col = 30,
             cellwidth = 30, cellheight = 6,
             )
    
    20181004-1.png
    1. 测序公司图片:


      Sugar_A_vs_Yeast_A_heatmap.png

    扫描二维码关注


    生信天团
    1. 2017-06-26-R语言相关内容补充

    相关文章

      网友评论

        本文标题:R包pheatmap绘制热图

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