查看几个KEGG的通路的overlap情况
发现自己的基因集使用KEGG数据库进行分析的时候,很多免疫相关通路被富集,所以怀疑是不是这些免疫通路互相交叉很多,就试着探索一下,是一个蛮好的练习题:
这里举个例子,需要探索的通路如下:
from to
307 hsa04650 Natural killer cell mediated cytotoxicity
308 hsa04657 IL-17 signaling pathway
309 hsa04658 Th1 and Th2 cell differentiation
310 hsa04659 Th17 cell differentiation
311 hsa04660 T cell receptor signaling pathway
312 hsa04662 B cell receptor signaling pathway
我本来准备用KEGG.db想起来它有点老旧,又准备用KEGGREST,毕竟之前生信技能树写过这个教程,但是正好在跟Y叔聊天,就用它的包吧!
代码如下,很简单。
library(clusterProfiler)
# https://www.kegg.jp/dbget-bin/www_bget?pathway+hsa05169
# library(KEGG.db) library(KEGGREST)
kg=download_KEGG('hsa')
head(kg[[1]])
head(kg[[2]])
ps=c('hsa04660','hsa04659',
'hsa04658','hsa04657','hsa04662',
'hsa04650')
kg[[2]][kg[[2]][,1] %in% ps,]
library(UpSetR)
allgs=unique(kg[[1]][kg[[1]][,1] %in% ps,2])
u=do.call(cbind,lapply(ps, function(x){
as.numeric(allgs %in% kg[[1]][kg[[1]][,1]==x,2])
}))
u=as.data.frame(u)
rownames(u)=as.character(allgs)
colnames(u)=kg[[2]][kg[[2]][,1] %in% ps,2]
upset(u)
出图如下;
image可以看到这些不同的免疫通路互相交叉并没有我想象的那么多。
网友评论