<tt id="i8k6m"></tt>
  • <dd id="i8k6m"><menu id="i8k6m"></menu></dd>
  • <tt id="i8k6m"></tt>
  • 画热图的时候如何将up or down区分开?这个小技巧告诉你

    当我们做了转录组测序,基因中有上调也有下调基因,画热图的时候如何将up or down区分开?且看接下来的小技巧。

    【Hydbring P et al.Cell-Cycle-Targeting MicroRNAs as Therapeutic Tools against Refractory Cancers.Cancer Cell,2017.】

    本篇,我们要解决的问题是:热图中如何将不同类别用不同的渐变色表示,如上图所示。接下来,举个例子,若做每个microRNA与Description的热图,颜色渐变是-log10Pvalue,regulated是up的用红色进行渐变,down的用蓝色进行渐变。图例做成如下图所示的样子。

    #数据处理:
    library(scales)
    library(plyr)
    library(reshape2)
    d<-read.csv(“test.data”,header=T,sep=“\t”,check.names=F,row.names=2)
    row<-nrow(d)
    if(row<3){?q()?}
    data<-d[,-1]
    pvalue<-data[,c(grep(“_pvalue”,colnames(data)))]
    regulate<-data[,c(grep(“_regulated”,colnames(data)))]
    col_name1<-gsub(“_pvalue”,“”,colnames(pvalue))
    col_name2<-gsub(“_regulated”,“”,colnames(regulate))
    colnames(pvalue)<-col_name1
    colnames(regulate)<-col_name2
    pvalue.m<-melt(as.matrix(pvalue))
    regulate.m<-melt(as.matrix(regulate))
    colnames(pvalue.m)<-c(“Pathway”,“ID”,“Pvalue”)
    colnames(regulate.m)<-c(“Pathway”,“ID”,“Regulate”)
    good<-merge(pvalue.m,regulate.m,by=c(“Pathway”,“ID”))
    goods<-ddply(good,?.(Pvalue),?transform,?log10P?=?-log10(Pvalue))
    m1<-goods[goods$Regulate==“up”,]
    m2<-goods[goods$Regulate==“down”,]

    最终数据整成这个样子:

    接下来敲重点啦~~

    #开始绘图:
    library(ggplot2)
    library(ggnewscale)
    #先做up部分
    ggplot()+geom_tile(data=m1,mapping=aes(ID,Pathway,fill?=?log10P),colour?=?“white”)+scale_fill_gradientn(colours?=?c(“white”,“red”))+
    #这个是重点,new_scale函数来自ggnewscale包
    new_scale(“fill”)+
    #再做down部分
    geom_tile(data=m2,mapping=aes(ID,Pathway,fill?=?log10P),colour?=“white”)+scale_fill_gradientn(colours?=?c(“white”,“blue”))+
    #down的图例翻转一下
    guides(fill=guide_colorbar(reverse=T))+
    #两个图例排排站
    theme(legend.direction=“vertical”,legend.box=“horizontal”,legend.title=element_blank(),axis.text?=?element_blank(),axis.ticks?=?element_blank())+
    #还有坐标轴的线
    +theme(axis.line?=?element_line(colour?=?“black”))?
    #横纵坐标和图标题设置
    labs(x?=?“Noncoding?RNA?ID”,?y?=?“KEGG?pathway/GO?Term”,?title?=?“Good?Luck”?)+
    #图标题居中
    theme(plot.title?=?element_text(hjust?=?0.5)?)

    #野人版图片

    【小编技巧总结】

    • Hadley Wickham是R界的男神没错了
    • ggnewscale中的new_scale函数发挥重大作用

     

    最近文章
    92彩票邀请码