【Reactome 下载所有通路基因集】

article/2025/9/18 20:09:49

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


http://chatgpt.dhexx.cn/article/wMp9nkRC.shtml

相关文章

易基因|一种全新的检测DNA羟甲基化的技术:ACE-Seq

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑做组学科研服务的易基因。今天给大家介绍一种全新的检测DNA羟甲基化的技术&#xff1a;APOBEC-coupled epigenetic sequencing&#xff0c;简称【ACE-seq】。 前言 DNA序列中胞嘧啶&#xff08;C&#xff09;5’ 碳…

已知基因名,如何在genbank中查询基因序列?

以人类YBX1为例&#xff0c;首先进入NIH官网&#xff0c;如下图&#xff0c;database选择gene&#xff0c;在输入框中输入自己需要找的基因名&#xff0c;点击搜索。 搜索后在下方search result中会显示很多结果&#xff0c;分别是不同物种的。点击人类的YBX1进入详情页面。 进…

基因组学(Geonomics)

什么是基因组学? 基因组学(Geonomics)是一门研究基因组(Genome)的科学。 什么是基因组&#xff1f; 我们每个人都是由上万亿个细胞构成的&#xff0c;每个细胞中都包含一套完整的生命密码&#xff0c;也就是DNA&#xff0c;而基因组就是指一个细胞中包含的所有的DNA。我们的…

系统安全: GeneXus 新身份验证方案

GAM 是 GeneXus 访问管理器&#xff0c;用于在您的应用程序中实现身份验证和授权&#xff0c;此功能为GeneXus内置功能。 介绍前我们先了解安全和身份验证领域正在发生的事情。 Auth0关于市场上可用的身份验证方案的调查显示&#xff1a; 28% 提供多因素身份验证&#xff0c;这…

Jetson Xavier NX

Jetson Xavier NX 提示&#xff1a;记录学习过程&#xff0c;倘若有抄袭请原谅 文章目录 Jetson Xavier NX前言一、安装系统二、烧镜像三、启动系统打开风扇先 四、配置VNC&#xff08;此处借鉴&#xff09;五、安装中文输入法六、安装cuda七、安装pytorch跟torchvision八、试试…

GeneXus学习记录——创建KB(KnowledgeBase/知识库)

GeneXus安装好之后&#xff0c;怎么创建一个知识库呢&#xff1f; 只需要点文件-新建-知识库&#xff0c;就可以了。 弹出的窗口填写KB名字&#xff0c;选择保存目录&#xff0c;点创建。 这里有一个注意点&#xff1a;数据库排序规则。 点开高级&#xff0c;可以看到这里SQL…

GeneXus试用报告

GeneXus试用报告 (上) GeneXus 自称为业界第一款智能开发工具&#xff0c;由乌拉圭的ARTech公司出品&#xff0c;通过描述应用软件的知识库&#xff0c;可以自动生成数据库模型&#xff0c;自动生成.net或Java两大平台的代码。 最近试用了GeneXus&#xff0c;并计划用GeneXus来…

GeneXus学习记录——Transaction

GeneXus中的Transaction是用于描述对象的模型。 英文描述&#xff1a; Describes an object or actor of reality, defining the structure of the database, business rules, and the UI for data manipulation. 翻译了一下&#xff1a; 描述真实的对象或参与者&#xff0c;定…

GeneXus学习记录

最近在网上看到了一个开发工具&#xff0c;叫GeneXus&#xff0c;很有特色的一个平台&#xff0c;在这里记录一下学习过程。 这个是中文官网GeneXus&#xff0c;这个是Global官网GeneXus。 看了一下介绍&#xff0c;很有特点&#xff0c;贴两张图感受一下 利用算法自动分析…

GeneXus学习(一)安装与介绍

转&#xff1a;https://blog.csdn.net/csdn_1573/article/details/120081202GeneXus安装 开始学习GeneXus&#xff0c;第一步就是环境的搭建。 说明文档 查看官网上学习中心&#xff0c;下方有一个安装及申请授权的说明文档。 按照文档中的步骤来做&#xff0c;除了GeneXus软件…

关于 GeneXus 起源的几点思考

译者序 不论是初次接触GeneXus&#xff0c;还是使用GeneXus很长时间&#xff0c;我们大家常常有一些疑问&#xff1a;在由欧美国家占绝对主导地位的软件领域&#xff0c;一个来自南美的小国-乌拉圭&#xff0c;竟然出了一个世界知名的软件公司&#xff1f;30多年几乎跨越软件发…

GeneXus的科技基础(GeneXus背后的理论)

GeneXus 是一个用于开发和维护软件系统的工具。 GeneXus 基于业务系统知识的自动管理。这怎么可能&#xff1f;通过在数学和逻辑方面定义系统开发和维护问题&#xff0c;以确保严格处理所考虑的问题。 GeneXus的目标是获得一个充分代表现实并且可以随着时间保持最新的模型。如何…

GeneXus学习记录——环境搭建

开始学习GeneXus&#xff0c;第一步就是环境的搭建。 说明文档 查看官网上学习中心&#xff0c;下方有一个安装及申请授权的说明文档。 按照文档中的步骤来做&#xff0c;除了GeneXus软件本身&#xff0c;在此之前还有一些相关环境的安装和配置指示了参考链接&#xff0c;这里…

搭建测试环境,多人测试环境

前文&#xff1a;在只有一台服务器并且只有一个主域名又不方便申请多个二级域名的基础上来实现一个测试环境 利用cookie来实现切换分支&#xff0c;访问不同的目录代码&#xff0c;实现代码的隔离性。 下面开始演示效果 1&#xff0c;准备了三个目录分别是不同开发人员的代码 …

如何配置测试环境

前言&#xff1a; 我们目前测试是在测试环境进行测试&#xff0c;研发给到测试的有前端包、后端包、sql库就完了。接下来测试自己去配置环境 文章目录 一、配置数据库1.1用记事本打开sql&#xff0c;修改IP地址1.2导入到测试服务器的数据库下1.3导入数据库数据 二、配置后端包…

测试环境搭建二

一.在虚拟机上安装centos7 如果你的磁盘空间足够大&#xff0c;可以写大一些 最后在虚拟机界面上双击CD/DVD&#xff0c;选择使用ISO镜像文件&#xff0c;点击浏览&#xff0c;找到你镜像所下载的位置 然后开启虚拟机&#xff0c;进行相关的设置即可 你可以参考博客&…

软件测试之测试环境

背景 当设计的测试用例通过评审后&#xff0c;测试人员会依据测试用例来测试开发人员开发出的软件系统&#xff0c;那待测试的软件系统会部署在哪里呢&#xff1f;测试人员肯定不会在开发环境测试&#xff0c;开发人员也不会在测试环境开发&#xff0c;因为开发人员开发完成后…

如何搭建测试环境?搭建测试环境的步骤跟注意事项(视频教程版)

什么是测试环境 测试环境&#xff0c;指为了完成软件测试工作所必需的计算机硬件、软件、网络设备、历史数据的总称&#xff0c;简而言之&#xff0c;测试环境硬件软件网络数据准备测试工具。 硬件&#xff1a;指测试必需的服务器、客户端、网络连接等辅助设备。 软件&#…

SpringCloudAlibaba:Nacos实现原理详解

欢迎关注方志朋的博客&#xff0c;回复”666“获面试宝典 Nacos 架构 Provider APP&#xff1a;服务提供者 Consumer APP&#xff1a;服务消费者 Name Server&#xff1a;通过VIP&#xff08;Virtual IP&#xff09;或DNS的方式实现Nacos高可用集群的服务路由 Nacos Server&…

Spring Boot入门

1.什么是Spring Boot Spring 诞生时是 Java 企业版的轻量级代替品。通过依赖注入和面向切面编程&#xff0c;用简单的Java 对象实现了 EJB 的功能。 虽然 Spring 的组件代码是轻量级的&#xff0c;但它的配置却是重量级的。一开始&#xff0c;Spring 用 XML 配置&#xff0c;而…