• 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)
    }
  • 相关阅读:
    [原创]Java在线编辑word文档调用PageOffice实现并发控制
    [原创]Java动态填充word文档并上传到服务器
    mysql数据类型
    mysql 数据增删改查基本语句
    MYSQL中char 与 varchar 的区别
    MYSQL 同时执行多条SQL语句
    关于MyEclipse10编辑JSP卡顿现象
    鼠标悬停放大图片效果
    简单实现 飘浮 广告层特效
    简单实现 特效(董侨JonneyDong)
  • 原文地址:https://www.cnblogs.com/xiaosagege/p/15596146.html
Copyright © 2020-2023  润新知