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)
    }
  • 相关阅读:
    英语语法最终珍藏版笔记-9非谓语动词
    英语语法最终珍藏版笔记-8虚拟语气
    英语语法最终珍藏版笔记-7被动语态
    英语语法最终珍藏版笔记-6“情态动词+have+ done”的含义
    photonView 空指针异常
    What is Photon Server?
    photon server (1)
    Unity3D中的Coroutine及其使用(延时、定时调用函数)
    box head上身旋转问题
    unity-点乘和叉乘的应用
  • 原文地址:https://www.cnblogs.com/xiaosagege/p/15596146.html
Copyright © 2011-2022 走看看