导语
GUIDE ╲
Gene Ontology分为分子功能,生物过程和细胞组成三个部分。蛋白质或者基因可以通过ID对应或者序列注释的方法找到与之对应的GO号,而GO号可对应到Term,即功能类别或者细胞定位。这也是GO富集的一个基础。
背景介绍
基因本体论 (GO) 通常用于指导高通量组学实验,将差异调节基因列表汇总为具有共同功能表示的基因集合。由于 Gene Ontology 的分层性质,生成的丰富集列表通常是多余的并且难以解释。今天小编给大家介绍的是一个基于语义相似性识别冗余来减少和可视化GO结果列表的R包rrvgo。
R包安装
BiocManager::install("rrvgo")
library(rrvgo)
可视化介绍
01
计算相似度矩阵并减少GO terms
rrvgo不关心基因,而是关心 GO terms。输入是一个富集的 GO terms向量,以及分数向量。如果未提供分数,则 rrvgo 将 GO terms(集合)大小作为分数。
第一步是得到terms之间的相似度矩阵。函数calculateSimMatrix 获取要计算语义相似度的GO terms列表、OrgDb 对象、感兴趣的ontology和计算相似度分数的方法。
go_analysis <- read.delim(system.file("extdata/example.txt", package="rrvgo"))
simMatrix <- calculateSimMatrix(go_analysis$ID,
orgdb="org.Hs.eg.db",
ont="BP",
method="Rel")
相似度矩阵中,可以根据相似度对terms进行分组。rrvgo 为此提供了 reduceSimMatrix 函数。
scores <- setNames(-log10(go_analysis$qvalue), go_analysis$ID)
reducedTerms <- reduceSimMatrix(simMatrix,
scores,
threshold=0.7,
orgdb="org.Hs.eg.db")
02
绘图
rrvgo 提供了几种绘制和解释结果的方法。
相似度矩阵热图
将相似性矩阵绘制为热图,默认情况下启用行列聚类
heatmapPlot(simMatrix,
reducedTerms,
annotateParent=TRUE,
annotationLabel="parentTerm",
fontsize=6)
描述组和terms之间距离的散点图
将 GO terms绘制为散点,点之间的距离表示terms之间的相似性,点的大小代表提供的分数,或者在没有分数的情况下,GO terms包含的基因数量。
scatterPlot(simMatrix, reducedTerms)
树状图
树状图是分层结构的空间填充可视化。terms根据其父项进行分组(着色),并且terms使用的空间与分数成正比。树状图可以帮助解释汇总结果并比较不同的 GO terms集。
treemapPlot(reducedTerms)
词云
词云是再现文本的可视化,强调在文本中频繁出现的词。可以帮助识别在一组丰富的 GO terms中更常见的过程和功能,以及不同组之间的比较。
wordcloudPlot(reducedTerms, min.freq=1, colors="black")
03
shiny app
为了让不熟悉编程的用户更容易使用该软件,rrvgo 打包了一个shiny app,可以从R中调用 Shiny_rrvgo() 函数来访问该应用程序。
rrvgo::shiny_rrvgo()
小编总结
rrvgo的使用整体来说是非常简单的,只要我们输入GO terms矩阵,就可以一步步得到结果,将原本繁多的富集结果进行精简,得到其中更重要的功能!
END
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有