美文网首页基因组数据绘图ggplot2绘图
GO 富集结果可视化优化笔记

GO 富集结果可视化优化笔记

作者: seqyuan | 来源:发表于2024-07-11 08:37 被阅读0次

    作者:ahworld
    链接:GO 富集结果可视化优化笔记
    来源:微信公众号seqyuan
    著作权归作者所有,任何形式的转载都请联系作者。

    image.png
    library(clusterProfiler)
    library(ggplot2)
    library(dplyr)
    library(org.Hs.eg.db)
    library(viridis)
    
    genes_df <- read.table('genes.txt') # 一列基因,SYMBOL格式
    
    geneID <- bitr(genes_df$V1, fromType = "SYMBOL", 
                   toType = c("ENTREZID", "SYMBOL"),
                   OrgDb = org.Hs.eg.db) 
                                 
    all.GO <- enrichGO(gene = geneID$ENTREZID,
                        OrgDb = org.Hs.eg.db,
                        keyType = "ENTREZID",
                        ont = "ALL",
                        pAdjustMethod = "BH",
                        pvalueCutoff = 0.01,
                        qvalueCutoff = 0.05,
                        readable = T)
                                                
    allgg <- as.data.frame(all.GO)
    
    # 按照pvalue取每个ONTOLOGY的前5
    top5 <- allgg %>%
      group_by(ONTOLOGY) %>%
      arrange(pvalue) %>%
      slice_head(n = 5)
    
    # 我这里设置的只取CC和MF
    df_top5 <- rbind(subset(top5, ONTOLOGY=="CC"), subset(top5, ONTOLOGY=="MF"))
    
    df_top5$ONTOLOGY <- factor(df_top5$ONTOLOGY, levels=c('CC', 'MF'))
    df_top5$Description <- factor(df_top5$Description, levels = rev(df_top5$Description))                            
    
    options(repr.plot.width=7, repr.plot.height=6.5)
    
    mycol3 <- c('#6BA5CE', '#F5AA5F')
    cmap <- c("viridis", "magma", "inferno", "plasma", "cividis", "rocket", "mako", "turbo")
    
    p <- ggplot(data = df_top5, aes(x = Count, y = Description, fill=ONTOLOGY)) +
         geom_bar(width = 0.5,stat = 'identity') +
         theme_classic() + 
         scale_x_continuous(expand = c(0,0.5)) +
         scale_fill_manual(values = alpha(mycol3, 0.66))
    
    p <- p + theme(axis.text.y = element_blank()) + 
         geom_text(data = df_top5,
                aes(x = 0.1, y = Description, label = Description),
                size = 4.8,
                hjust = 0) 
    
    p <- p + geom_text(data = df_top5,
                aes(x = 0.1, y = Description, label = geneID , color=-log10(pvalue)),
                size = 4,
                fontface = 'italic',
                hjust = 0,
                vjust = 2.7) +
              scale_colour_viridis(option=cmap[7], direction=-1) 
    
    p <- p + labs(title = 'Enriched top 5 CC and MF') +
         theme(
          plot.title = element_text(size = 14, face = 'bold'),
          axis.title = element_text(size = 13),
          axis.text = element_text(size = 11),
          axis.ticks.y = element_blank())
    
    
    ggsave("gene_GO.pdf", p, w=7, h=6.5)
    
    

    相关文章

      网友评论

        本文标题:GO 富集结果可视化优化笔记

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