查看原文
其他

做一个散点图的富集可视化

JunJunLab 老俊俊的生信笔记 2022-08-15


sharing my mind

1、富集分析

我们最常见的富集结果的图就是 条形图点图 了,或者 网络图,我们也可以用类似于火山图的方式来展示富集结果。

富集分析:

# 加载R包
library(clusterProfiler)
library(DOSE)
library(ggplot2)
library(org.Hs.eg.db)

# 加载内置
data("geneList",package = 'DOSE')

# 选取上调基因
gene_up <- names(geneList)[abs(geneList) > 2]

# GO 富集分析
ego <- enrichGO(
  gene  = gene_up,
  keyType = "ENTREZID",
  OrgDb   = org.Hs.eg.db,
  ont     = "BP",
  pAdjustMethod = "BH",
  pvalueCutoff  = 0.05,
  # qvalueCutoff  = 0.05,
  readable      = TRUE)

# 提取富集结果
res <- ego@result

查看结果,注意这是 总的结果,包括 p 值大于 0.05 的

2、绘图

接下来拿上面提取的结果绘图:

# 添加列
res$x = res$Count/194

# 分类
res$type <- ifelse(-log10(res$pvalue) > -log10(0.05),'Sig','None')

# 绘图
ggplot(res,aes(x = x,y = -log10(pvalue),size = Count,color = type),
       alpha = 0.8) +
  geom_point() +
  theme_classic(base_size = 18) +
  theme(aspect.ratio = 6/6) +
  geom_hline(yintercept = -log10(0.05),lty = 'dashed',size = 1) +
  scale_color_manual(values = c('None' = 'grey','Sig' = '#F01A1A')) +
  xlab('GeneRatio')

可以给我们想要的通路标上标签:

# 取前5个通路
top5 <- head(res,5)

# 绘图
ggplot(res) +
  # 点图层
  geom_point(aes(x = x,y = -log10(pvalue),size = Count,color = type),
             alpha = 0.8) +
  # 主题
  theme_classic(base_size = 18) +
  # 图比例
  theme(aspect.ratio = 7/6) +
  # 点范围
  scale_size(range = c(1,8)) +
  xlab('GeneRatio') +
  # 水平线
  geom_hline(yintercept = -log10(0.05),lty = 'dashed',size = 1) +
  # 改颜色
  scale_color_manual(values = c('None' = '#ECD662','Sig' = '#E40017')) +
  # 添加标签
  geom_text_repel(data = top5,
                  aes(x = x,y = -log10(pvalue),label = Description),
                  size = 5,
                  nudge_x = -0.2,nudge_y = -2,
                  segment.curvature = 0.5,
                  segment.ncp = 5,
                  segment.angle = 30)

经典图:

# 点图
dotplot(ego)
# 条形图
barplot(ego)





欢迎加入生信交流群。加我微信我也拉你进 微信群聊 老俊俊生信交流群 哦,代码已上传至QQ群文件夹,欢迎下载。

群二维码:




老俊俊微信:




知识星球:



所以今天你学习了吗?

欢迎小伙伴留言评论!

今天的分享就到这里了,敬请期待下一篇!

最后欢迎大家分享转发,您的点赞是对我的鼓励肯定

如果觉得对您帮助很大,赏杯快乐水喝喝吧!





 往期回顾 




使用 ggplot_build 函数获取绘图坐标

circRNAs 定量之 CIRIquant 软件使用介绍

ggplot 绘制环形堆叠条形图

circRNAs 定量之 CIRIquant 软件

怎么在 UCSC 官网下载基因组和注释文件?

ggplot 绘制三角形相关性图

clusterProfiler 的 shiny 版

我的 Ubuntu 启动项不见了?

Ribo-seq 质控软件:ribosomeProfilingQC

barplot 还不会添加误差线?你点进来就会了!

◀...

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存