GO富集分析bar图

rm(list = ls())
library(tidyverse)
df<-read.delim('CHN_LD.USA_LD.CV_LD.same.deg_upgene_goterm',sep='\t',header = T)
head(df)
#GO_term_order=factor(as.integer(rownames(df)),labels=df$GO_Name)
GO_term_order=factor(as.integer(rownames(df)),labels=df$GO_Name)
ggplot(df,aes(GO_term_order,-log10(df$corrected.p.value.BH.method.),fill=Class))+geom_bar(stat="identity", width=0.8)+
  theme_classic()+
  scale_fill_manual(values=c('Biological process'="#8DA1CB", 'Cellular component'="#66C3A5",'Molecular function'= "#FD8D62"))+
  theme(axis.text.x=element_text(size=20, color="gray50",angle = 70,vjust = 1, hjust = 1 ),
        axis.text.y=element_text(size=24),
        axis.title.y = element_text(size=24),
        axis.title.x = element_blank(),
        legend.title = element_blank(),
        legend.text = element_text(size = 15),
        plot.margin=unit(c(0.2,0.2,0.2,1),'inches')  #上右下左
        )+
  ylab("-log(10P-value)")
  

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在R中,可以使用`ClusterProfiler`包进行基因富集分析,并使用`ggplot2`包绘制横向柱状。以下是一个示例代码: ```R # 安装和加载相应的R包 library(ClusterProfiler) library(ggplot2) # 读取差异表达结果和基因注释信息 res <- read.table("diff_expr_results.txt", header = TRUE) anno <- read.table("gene_annotation.txt", header = TRUE) # 提取显著差异的基因 sig_genes <- subset(res, padj < 0.05 & abs(log2FoldChange) > 1, select = "Gene") # 进行mRNA和lncRNA的富集分析 mRNA_genes <- sig_genes[sig_genes$Gene %in% anno$Gene[anno$gene_type == "mRNA"], "Gene"] lncRNA_genes <- sig_genes[sig_genes$Gene %in% anno$Gene[anno$gene_type == "lncRNA"], "Gene"] mRNA_enrich <- enrichGO(mRNA_genes, OrgDb = "org.Hs.eg.db", ont = "BP", pvalueCutoff = 0.05, qvalueCutoff = 0.1, universe = anno$Gene[anno$gene_type == "mRNA"]) lncRNA_enrich <- enrichGO(lncRNA_genes, OrgDb = "org.Hs.eg.db", ont = "BP", pvalueCutoff = 0.05, qvalueCutoff = 0.1, universe = anno$Gene[anno$gene_type == "lncRNA"]) # 提取富集分析结果 mRNA_enrich_df <- as.data.frame(mRNA_enrich@result[,c("Description", "pvalue", "qvalue")]) lncRNA_enrich_df <- as.data.frame(lncRNA_enrich@result[,c("Description", "pvalue", "qvalue")]) # 绘制横向柱状 mRNA_enrich_df$Category <- "mRNA" lncRNA_enrich_df$Category <- "lncRNA" enrich_df <- rbind(mRNA_enrich_df, lncRNA_enrich_df) ggplot(enrich_df, aes(x = -log10(qvalue), y = reorder(Description, -log10(qvalue)), fill = Category)) + geom_bar(stat = "identity", position = "dodge") + xlab("-log10(qvalue)") + ylab("") + theme(legend.position = "top", axis.text.y = element_text(size = 8)) + scale_fill_manual(values = c("mRNA" = "blue", "lncRNA" = "red")) ``` 在上述代码中,我们首先读取差异表达结果和基因注释信息,并根据转录本生物类型将显著差异的基因分别进行富集分析。然后,我们提取富集分析结果中的Description、pvalue和qvalue等信息,并将mRNA和lncRNA的富集分析结果合并。最后,我们使用`ggplot2`包绘制横向柱状,将Description作为y轴,-log10(qvalue)作为x轴,并使用柱子的颜色区分mRNA和lncRNA。需要注意的是,实际应用中需要根据实验设计和研究目的进行相应的优化和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值