【Reactome 下载所有通路基因集】
Reactome 下载所有通路基因集
- Reactome 下载所有通路基因集
- Reactome 介绍
- ReactomePA
- 官网下载处理
Reactome 下载所有通路基因集
目前,网上有许多下载 KEGG、GO 数据库中所有富集通路的基因集方法,但是相对于 Reactome 来说却几乎没有。所以,我自己总结了下 Reactome 的下载方法。
比较方便主要有两种方法,一是使用 R 包 ReactomePA 可以很快速方便的得到我们想要的结果,但是有一个问题就是得到的可能与官网上会有点区别,毕竟不是最新的数据。二是从官网下载后自己处理,这个可能会稍微慢一些,但理解后结合自己的目标也很方便,并且数据跟官网是一样的。两种方法各有千秋,看自己选择就好。
Reactome 介绍
做通路分析的数据库目前有许多,但大家最熟悉的肯定还是 KEGG,Reactome 数据库与 KEGG 数据库类似,是研究 pathway 的数据库,汇集了人类各项反应及生物学通路,Reactome 目前在各大文章中也经常能够看到。关于其使用和界面网上一搜就非常之多,这里就不展示了。Reactome 我觉得可以与 KEGG 互相补充,毕竟 KEGG 目前也只覆盖了 8000 多个基因,还有半数以上没有注释到 KEGG。而且数据库还引用了 100 多个不同的在线生物信息学资源库,包括 NCBI、Ensembl、UniProt、UCSC 基因组浏览器、ChEBI 小分子数据库和 PubMed 文献数据库等。最重要的是,除了人类之外,Reactome 数据库还增加了许多其他物种,也就是说农学的部分物种可以使用该数据库进行代谢通路研究和富集分析了。
ReactomePA
现在先介绍第一种方法,使用 Y 叔的 R 包 ReactomePA 进行各通路所有基因集的整理:
```r
rm(list = ls())
# 安装 ReactomePA
BiocManager::install("ReactomePA")
library(ReactomePA)
library(reactome.db)
ls("package:reactome.db")[1] "reactome" "reactome.db" [3] "reactome_dbconn" "reactome_dbfile" [5] "reactome_dbInfo" "reactome_dbschema" [7] "reactomeEXTID2PATHID" "reactomeGO2REACTOMEID"[9] "reactomeMAPCOUNTS" "reactomePATHID2EXTID"
[11] "reactomePATHID2NAME" "reactomePATHNAME2ID"
[13] "reactomeREACTOMEID2GO"
keytypes(reactome.db)
[1] "ENTREZID" "GO" "PATHID" "PATHNAME" "REACTOMEID"# 将 Reactome 的通路信息和所含基因等信息提取作为 list
library(dplyr)
PathwayId_Genes <- as.list(reactomePATHID2EXTID) %>% .[grep("HSA",names(.))]
PathwayId_PathwayName <- as.list(reactomePATHID2NAME) %>% .[grep("HSA",names(.))]
PathwayName_PathwayId <- as.list(reactomePATHNAME2ID) %>% .[grep("HSA",.)]
Genes_PathwayId <- as.list(reactomeEXTID2PATHID) %>% .[grep("HSA",.)]
name_id <- unlist(lapply(PathwayName_PathwayId, function(x) x[[1]]))
unpair <- PathwayId_PathwayName[!names(PathwayId_PathwayName) %in% name_id]
names(unpair)[1] "R-HSA-9694614" "R-HSA-5683678" "R-HSA-4793953" "R-HSA-5579022"[5] "R-HSA-5663020" "R-HSA-5619114" "R-HSA-5619079" "R-HSA-5619044"[9] "R-HSA-5660724" "R-HSA-9694631" "R-HSA-9694719" "R-HSA-9694493"
[13] "R-HSA-9694594" "R-HSA-9694301" "R-HSA-9694548" "R-HSA-9694676"
[17] "R-HSA-9694635" "R-HSA-5660686" "R-HSA-9679509"
## PathwayId_PathwayName 和 PathwayName_PathwayId 其实是差不多的,就是两列数据刚好相反,但是我看了长度并不一样,前一个比后一个多了 19 条记录,目前我也还没明白为什么会这样,有知道的大佬请告知一下,谢谢。但是我查了这 19 条记录,基本是在 Disease 这一大块通路下面。
length(PathwayId_Genes)
[1] 2422
length(PathwayId_PathwayName)
[1] 2441
length(PathwayName_PathwayId)
[1] 2422
table(names(PathwayId_Genes) %in% name_id)
FALSE TRUE 18 2422
table(names(PathwayId_PathwayName) %in% name_id)
FALSE TRUE 19 2422
table(names(PathwayId_Genes) %in% names(PathwayId_PathwayName))
TRUE
2422
## 经过简单的探索,发现 PathwayId_Genes 的 pathway id 都能在 PathwayId_PathwayName 中找到,而在 PathwayName_PathwayId 中有 18 个 id 不匹配,虽然这两个文件长度相同。所以,根据这些情况我打算后续以 PathwayId_PathwayName 为主进行整理。# 可以看到我们已经把所有的通路 Id、Name 和所含基因都已经包含在上述列表中,下一步就是整理成表
PathwayId_PathwayName <- PathwayId_PathwayName[names(PathwayId_Genes)] #保持相同顺序
hsa_list <- mapply(c, PathwayId_Genes, PathwayId_PathwayName, SIMPLIFY=FALSE) # 合并list# 提取 pathway name
names = unlist(lapply(hsa_list , function(x) {paste(unlist(strsplit(x[length(x)],":"))[2])
}))
# 提取 pathway 所有 genes list
genes = unlist(lapply(hsa_list , function(x) {paste(unlist(x)[1:(length(x)-1)],collapse =';')
}))
# 合并
hsa_pathway = data.frame(Pathway_Id = names(hsa_list),Pathway_Name = names, Genes = genes)
length(hsa_pathway$Pathway_Id)
[1] 2422
## 至此,我们已经把基因 ENTREZID 提取出来了,下面就是 ID 转换的事情了,ID 转换的方法目前网上也一大堆,编程和网站方法都很丰富,比如这篇使用 R 和 python 进行 id 转换,https://zhuanlan.zhihu.com/p/338834196。
最终结果如下,有 2422 条通路。按照开始那个表,智人相关通路是有 2580 条,这里只有 2422 条,其余的不知道哪去了,有知道的大佬请私信我,学习学习。
官网下载处理
官网下载链接: Reactome Download.
因为 Reactome 是开源数据库,所有数据和软件均可免费下载。进入网站可以看到有许多数据和资料,比如我们需要的通路信息、组织素材等。
在这里面根据自己的需求选择文件,右击选择复制链接,然后使用下载器进行下载。为什么不直接点击打开查看后再右击下载呢,是因为我的网访问很慢甚至出错,可能国内都有这种该情况。所以为了避免这一情况,还是用下载器下载比较快速,我用的是 Free Download Manager 下载,速度还是可以的。
下载后的数据是所有物种的,所以第一步就是选择自己的物种数据,这里使用 shell 处理比较方便,当然其他像 R 和 python 也是可以的。下面可以看到所有物种通路和单独属于人类相关通路的行数。
# 示例:Ensembl2Reactome.txt
grep "HSA" Ensembl2Reactome.txt > hsa_Ensembl2Reactome.txt # 选择智人物种
wc -l Ensembl2Reactome.txt hsa_Ensembl2Reactome.txt # 统计两个文件的行数
处理好后再用 R 语言进行汇总整理:
rm(list = ls())
pathway <- read.delim("hsa_Ensembl2Reactome.txt",header = F)
head(pathway)
ID <- pathway$V2[!duplicated(pathway$V2)] # pathway 第二列去重
all <- matrix(NA,nrow=length(ID),ncol=3) # 提前算好合并成的数据是几行几列,length(ID)行,3列
for (i in 1:length(ID)) {a <- pathway[pathway$V2==ID[i],]all[i,1] <- a[1,2]all[i,2] <- a[1,4]all[i,3] <- paste(a[,1],collapse = ",")
}
hsa_pathway <- as.data.frame(all)
colnames(hsa_pathway) <- c("pathway_id","pathway_name","genes")
length(hsa_pathway2$pathway_id)
[1] 2066
最终结果如下图,有 2066 条通路,第一种方法得到的结果有 2422 条,这里可能是选择的文件的问题,我只是随意选了一个,以后有时间再试试其他的文件。但是无论如何,按照开始那个表,智人相关通路是有 2580 条的,但两种方法都达不到这个数据量,其余的不知道哪去了,有知道的大佬请私信我,学习学习,共勉。
在写之前,我是已经搜了很多文章也看了许多帖子,但现在一时也找不着了,下面列的参考文章只是一部分,请各位大佬见谅,如有侵权,请联系我删除。
参考文章:
[1]: https://wsa.jianshu.io/p/3ed19bd6e0ea
[2]: https://www.bioconductor.org/packages/release/bioc/html/ReactomePA.html
[3]: https://github.com/YuLab-SMU/ReactomePA
[4]: https://guangchuangyu.github.io/software/ReactomePA/
[5]: https://cloud.tencent.com/developer/article/1695223
【Reactome 下载所有通路基因集】相关推荐
- go kegg_GO 和 KEGG 的区别 | GO KEGG数据库用法 | 基因集功能注释 | 代谢通路富集
一直都搞不清楚这两者的具体区别. 其实初学者搞不清楚很正常,因为它们的本质是相通的,都是对基因进行归类注释的数据库. 建议初学者自己使用一下这两个数据库,应该很快就能明白其中的区别. (抱歉之前没讲清 ...
- 如何从ImmPort下载免疫相关的基因集
首先进行管网https://www.immport.org/home 选择gene list 选择gene summary 该列表的基因即是所有的免疫相关的基因集
- 多个基因集富集结果泡泡图绘制展示
多个基因集富集结果展示 通常我们会同时对多个基因集分别进行富集分析,结果放在一起展示.这时我们需要在富集结果后面加一列,标记该结果是哪个基因集的富集,在Excel中可以很方便地操作.如下面动图所示,分 ...
- ClusterProfiler在线基因集富集分析,支持自定义基因集、任意物种
为什么pathway富集分析结果没有我感兴趣的通路? GO和KEGG富集分析使用差异基因(上调基因,下调基因,或者上下调合起来的基因)作为输入,使用超几何分布等算法计算显著富集的GO term或者通路 ...
- ChIP-seq 分析:基因集富集(11)
动动发财的小手,点个赞吧! 1. 基因集检测 转录因子或表观遗传标记可能作用于按共同生物学特征(共享生物学功能.RNAseq 实验中的共同调控等)分组的特定基因组. ChIPseq 分析中的一个常见步 ...
- 单基因gsea_基于ssGSEA(单样本GSEA)的免疫基因集文章套路
基于ssGSEA(单样本GSEA)的免疫基因集文章套路 --生信自学网光俊 今天我们给大家介绍下生信自学网的" 基于ssGSEA的免疫基因集文章套路"课程,该课程根据最新发表的5. ...
- NBT:人类微生物组千万基因的参考基因集
文章目录 人类肠道中整合参考基因集 热心肠日报 摘要 要点 Main 结果Results 构建整合基因集 图1. IGC的构建 整合基因集的质量和完整度 图2. IGC覆盖度 IGC中的物种 图3. ...
- 单个基因集富集分析泡泡图绘制
富集分析是生物信息分析中快速了解目标基因或目标区域功能倾向性的最重要方法之一.其中代表性的计算方式有两种: 一是基于筛选的差异基因,采用超几何检验判断上调或下调基因在哪些GO或KEGG或其它定义的通路 ...
- 一个R包完成单细胞基因集富集分析 (全代码)
singleseqgset | 单细胞RNA-Seq基因集富集分析 NGS系列文章包括NGS基础.转录组分析 (Nature重磅综述|关于RNA-seq你想知道的全在这).ChIP-seq分析 (Ch ...
最新文章
- 中双目运算符_C++日志(四十)教你如何以非成员函数的形式重载运算符
- Please make sure you have the correct access rights and the repository exists.问题解决
- java计算筛子概率_剑指Offer解题报告(Java版)——n个骰子的点数 43
- 关于控件Visible属性的说明
- 日光能和电池两用计算机,计算机类专业竞赛模拟试题(doc 7页)全面优秀版优秀版...
- python将csv一行保存一个txt_Python读写文件(csv、txt、excel)
- html登录界面_使用数据库制作一套注册登录系统
- 爬虫-视频资源的爬取
- vue定义对象变量并合并成新的对象
- 学汉语、来云栖、海外布道阿里云……这位印度架构师不一般
- 接口类的多继承以及抽象类的单继承
- linux 上查找包含特定文本的所有文件
- html转pdf后修改,pdf转换器smallpdf转成HTML后怎么排版
- 深入理解BigDecimal
- latex IEEE 模板 使用bib BibTeX
- js 图片上传时加水印
- 电力相关的中文期刊查找
- 《数据库与信息管理课程设计》
- 音频视频点播收费在线观看系统网站小程序app开发建设
- VR科技赋能智慧冬奥
热门文章
- 虚幻蓝图数据传递_数据产品的战略蓝图
- 一文看懂怎么用 Python 做数据分析
- 输入法表情 mysql_Emoji表情符号在MySQL数据库中的存储
- 改变网changeself.com,记录着改变生活、改变态度、改变思维方式、改变特质、改变行为方式,一切从改变自己身上的特质开启
- matlab电流源,matlabPSB元件1、ACCurrentSource交流电流源(理想电源)Peak.doc
- Ipad各系列年代顺序
- 现在玩cf的计算机配置要求,穿越火线电脑配置要求-玩CF所需的电脑配置
- 串口编程之一: WIN32 API 中串口DCB 结构的介绍
- ASP:KU论坛跳转页面
- 关于 YCbCr(YUV) 格式视频流的介绍