zoukankan      html  css  js  c++  java
  • batch gene expression plot

    library(tidyverse)
    library(ggpubr)
    #load data
    data = readxl::read_xlsx("gene_id.xlsx",sheet = 2)
    data1 = pivot_longer(data,cols = c(2,3,4,5,6,7),names_to = "condition",values_to = "expression")
    #split data
    data_1 = data1 %>% filter(condition==c("6C6","6C24")) %>% mutate(condition=factor(condition,levels = c("6C6","6C24")))
    data_2 = data1 %>% filter(condition==c("12C6","12C24"))  %>% mutate(condition=factor(condition,levels = c("12C6","12C24")))
    data_3 = data1 %>% filter(condition==c("12C24","12C24+6C6","12C24+6C24"))  %>% mutate(condition=factor(condition,levels = c("12C24","12C24+6C6","12C24+6C24")))
    #def function
    gene_plot = function(i,df1=data_1,df2=data_2,df3=data_3){
      fig1 = df1 %>% filter(ID==i) %>% 
        ggplot()+geom_bar(aes(x=condition,y=expression),stat = "identity",fill="grey60")+
        labs(x="",y="Expression",title = "")+
        theme_bw() + theme(panel.grid=element_blank())+
        theme(axis.text.x = element_text(size=12,family = "serif"))+
        theme(axis.text.y = element_text(size = 12,family = "serif"))+
        theme(axis.line = element_line(colour = "black"))+
        theme(axis.title.x = element_text(size = 14,family = "serif"))+
        theme(axis.title.y = element_text(size = 14,family = "serif"))+
        theme(panel.border = element_blank())
      fig2 = df2 %>% filter(ID==i) %>% 
        ggplot()+geom_bar(aes(x=condition,y=expression),stat = "identity",fill="grey60")+
        labs(x="",y="Expression",title = i)+
        theme_bw() + theme(panel.grid=element_blank())+
        theme(axis.text.x = element_text(size=12,family = "serif"))+
        theme(axis.text.y = element_text(size = 12,family = "serif"))+
        theme(axis.line = element_line(colour = "black"))+
        theme(axis.title.x = element_text(size = 14,family = "serif"))+
        theme(axis.title.y = element_text(size = 14,family = "serif"))+
        theme(panel.border = element_blank())
      fig3 = df3 %>% filter(ID==i) %>% 
        ggplot()+geom_bar(aes(x=condition,y=expression),stat = "identity",fill="grey60")+
        labs(x="",y="Expression",title = "")+
        theme_bw() + theme(panel.grid=element_blank())+
        theme(axis.text.x = element_text(size=12,family = "serif",angle=30, hjust=1, vjust=1))+
        theme(axis.text.y = element_text(size = 12,family = "serif"))+
        theme(axis.line = element_line(colour = "black"))+
        theme(axis.title.x = element_text(size = 14,family = "serif"))+
        theme(axis.title.y = element_text(size = 14,family = "serif"))+
        theme(panel.border = element_blank())
      png<-ggarrange(fig1,fig2,fig3,align="hv",ncol = 3,nrow = 1)
      return(png)
      ggsave(png,paste0(i,"png"))
    }
    gene_plot("LOC_Os01g10340")
    
    for ( i in id){
      gene_plot(i)
      print(i)
    }
  • 相关阅读:
    JS小记
    chrome 插件开发
    js闭包理解
    文件名后缀详解
    Glut 回调函数小结
    vc++ 6.0下Glut的配置 及 Glut 框架介绍
    数字图像点运算实践 (直方图均衡和分段线性拉伸)
    event.keycode值大全
    Bookmarklet
    牛人经典语录
  • 原文地址:https://www.cnblogs.com/xiaosagege/p/15596146.html
Copyright © 2011-2022 走看看