VennDetail--可视化和提取多数据集交集细节

2022-03-29 12:18:32 浏览数 (2)

导语

GUIDE ╲

韦恩图用于展示在不同集合之间的数学或逻辑联系,尤其适合用来表示集合(或)类之间的“大致关系”。

背景介绍

可视化和提取多个基因数据集的独特(不相交)或共有子集是生物信息学经常做的工作。尽管有许多包和Web应用程序可以绘制韦恩图,但没有R包提供提取这些子集的细节并将其与数据框中的用户数据集结合起来的功能。 今天小编给大家介绍的是 VennDetail,这是一个 R 包,用于生成高质量的韦恩饼图并允许提取子集详细信息。

R包安装

代码语言:javascript复制
if (!requireNamespace("BiocManager"))
    install.packages("BiocManager")
`BiocManager::install("VennDetail")

可视化介绍

01

输入数据

T2DM 数据包括三组差异表达基因 (DEGs)。通过比较 db/db 糖尿病小鼠和进行吡格列酮治疗的db/db 小鼠,在三种不同的组织、肾皮质、肾小球和坐骨神经中获得了三个DEGs数据集。通过使用 Cuffdiff 确定差异表达,错误发现率 (FDR) < 0.05。

代码语言:javascript复制
library(VennDetail)
data(T2DM)

02

基本绘图

代码语言:javascript复制
ven <- venndetail(list(Cortex = T2DM$Cortex$Entrez, SCN = T2DM$SCN$Entrez,
                    Glom = T2DM$Glom$Entrez))

VennDetail 支持三种不同类型的韦恩图显示方式。

代码语言:javascript复制
##传统Venn图
plot(ven)
代码语言:javascript复制
##Venn饼图
plot(ven, type = "vennpie")
代码语言:javascript复制
##Upset format
plot(ven, type = "upset")

03

正儿八经的,可以做一个长长的标题,尽量在一行写下

venndetail 接受一个向量列表作为输入,并返回一个韦恩对象用于以下分析。 我们还可以使用merge功能将两个韦恩对象合并在一起以节省时间。

plot使用类型参数生成具有不同布局的图形。plot 函数还提供了很多参数供用户修改图形。getSet 函数提供了一种从主结果中提取子集以及可用注释的方法。 在这里,将展示如何提取所有三种类别共享的 DEGs 以及仅包含在 SCN 组织中的部分。

代码语言:javascript复制
## List the subsets name
detail(ven)
代码语言:javascript复制
head(getSet(ven, subset = c("Shared", "SCN")), 10)

result 函数可用于提取和导出所有子集以供进一步处理。

代码语言:javascript复制
##两种提取格式
head(result(ven))
head(result(ven, wide = TRUE))

vennpie 以多种方式创建具有唯一或公共子集的韦恩饼图,例如突出显示唯一或公共子集。参数 any 和 group 提供了两种不同的方式来突出显示子集。any 确定要显示在组数中的子集(1:仅包含在一个组中的子集;2:由任何两个组共享的子集)。group 要求用户指定要突出显示的子集。

代码语言:javascript复制
vennpie(ven, any = 1, revcolor = "lightgrey")

当有五个数据集时,可以使用 vennpie 来显示包含来自至少四个数据集的元素的集合。

代码语言:javascript复制
set.seed(123)
A <- sample(1:1000, 400, replace = FALSE)
B <- sample(1:1000, 600, replace = FALSE)
C <- sample(1:1000, 350, replace = FALSE)
D <- sample(1:1000, 550, replace = FALSE)
E <- sample(1:1000, 450, replace = FALSE)
venn <- venndetail(list(A = A, B = B, C= C, D = D, E = E))
vennpie(venn, min = 4)

getFeature允许用户将主要结果中的某些或所有子集的细节与用户的其他数据集(包含数据框列表)相结合,并将组合数据导出为数据框。

代码语言:javascript复制
head(getFeature(ven, subset = "Shared", rlist = T2DM)
dplot(ven, order = TRUE, textsize = 4)

小编总结

为了方便用户使用,开发者还提供了web工具来进行可视化分析,网址为:http://hurlab.med.und.edu:3838/VennDetail/。我们可以直接上传数据集进行绘图!

0 人点赞