前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[R包分享]aPEAR优雅绘制富集分析网络图

[R包分享]aPEAR优雅绘制富集分析网络图

作者头像
R语言数据分析指南
发布2023-11-20 16:33:31
6270
发布2023-11-20 16:33:31
举报

官方文档

❝https://academic.oup.com/bioinformatics/article/39/11/btad672/7342237?login=false https://gitlab.com/vugene/aPEAR/-/blob/main/vignettes/aPEAR-vignette.Rmd?ref_type=heads ❞

加载R包

代码语言:javascript
复制
install.packages("aPEAR") 
library(data.table)
library(tidyverse) 
library(clusterProfiler) 
library(DOSE) 
library(org.Hs.eg.db)
library(aPEAR)
data(geneList)

富集分析

代码语言:javascript
复制
# 设置随机数种子,确保结果的可重复性
set.seed(42)
# 使用gseGO函数进行基因本体论(GO)的富集分析
# geneList是待分析的基因列表,OrgDb指定了基因的注释数据库,ont指定了本体论类型(这里是'CC',即细胞组分)
enrich <- gseGO(geneList, OrgDb = org.Hs.eg.db, ont = 'CC')

富集分析网络图

代码语言:javascript
复制
# 设置另一个随机数种子,用于后续的可视化过程
set.seed(654824)
# 创建富集分析的网络图,这里使用enrich@result作为输入数据
enrichmentNetwork(enrich@result)

提取富集分析结果

代码语言:javascript
复制
# 提取富集分析的结果,并进行数据处理
# 这里首先将结果转换为data.table格式,然后选取前5行,提取特定的列,并对core_enrichment列的内容进行截断处理
enrichmentData <- enrich@result %>%
  as.data.table() %>%
  .[ 1:5 ] %>%
  .[ , list(Description, pathwayGenes = core_enrichment, NES, Size = setSize) ] %>%
  .[ , pathwayGenes := str_trunc(pathwayGenes, 20) ]
代码语言:javascript
复制
# 提取富集分析的完整结果,不进行截断处理
enrichmentData <- enrich@result %>%
  as.data.table() %>%
  .[ , list(Description, pathwayGenes = core_enrichment, NES, Size = setSize) ]

NES富集网络图

代码语言:javascript
复制
# 创建基于NES(归一化富集得分)和Size(路径大小)的富集网络图
# colorBy参数指定了节点颜色的依据,nodeSize指定了节点大小的依据,verbose = TRUE表示打印详细信息
p <- enrichmentNetwork(enrichmentData, colorBy = 'NES', nodeSize = 'Size', verbose = TRUE)

基于p值的富集网络图

代码语言:javascript
复制
# 设置随机数种子,用于可视化的稳定性
set.seed(348934)
# 创建基于p值的富集网络图,这里指定了颜色类型为p值,pCutoff为p值的截断阈值
enrichmentNetwork(enrich@result, colorBy = 'pvalue', colorType = 'pval', pCutoff = -5)

聚类网络图

代码语言:javascript
复制
# 找出富集分析结果中的路径聚类
# cluster参数指定了聚类方法,这里使用层次聚类,minClusterSize指定了最小聚类大小
clusters <- findPathClusters(enrich@result, cluster = 'hier', minClusterSize = 6)
代码语言:javascript
复制
# 显示前5个聚类的信息
clusters$clusters[ 1:5 ]

# 提取并显示特定聚类的路径
# 这里首先提取前5个聚类的路径,然后计算这些路径之间的相似度
pathways <- clusters$clusters[ 1:5, Pathway ]
clusters$similarity[ pathways, pathways ]

# 设置随机数种子,用于图形的稳定性
set.seed(238923)
# 绘制路径聚类的图形
# 这里指定了富集结果、相似度矩阵、聚类信息以及其他绘图参数
plotPathClusters(
  enrichment = enrich@result,
  sim = clusters$similarity,
  clusters = clusters$clusters,
  fontSize = 4,
  outerCutoff = 0.01, 
  drawEllipses = TRUE
)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-11-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 R语言数据分析指南 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 官方文档
  • 加载R包
  • 富集分析
  • 富集分析网络图
  • 提取富集分析结果
  • NES富集网络图
  • 基于p值的富集网络图
  • 聚类网络图
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档