使用enrichKEGG做通路富集分析时,一直报错:显示No gene can be mapped....

k <- enrichKEGG(gene = gene, organism = "hsa", pvalueCutoff =1, qvalueCutoff =1)

但是之前用同样的基因做分析是能够成功地富集到通路,即便是网上的数据会更新,也不可能变化的这么大吧,我换了一组基因,出现相同的问题。去B站视频教程的评论去找答案,发现有小伙伴在前几天刚刚评论说出现和我一样的问题,可能这个问题是刚新出的,网上也一直没找到解决这个问题的方法。

我考虑是不是因为clusterProfiler版本的原因,但我没有立刻更换clusterProfiler版本。(先留个扣,到底是不是版本的原因?)

看到了网上很多在本地进行富集分析的教程,于是,便冒着今天科研进度为零的风险,大胆尝试一下把数据下载到本地,进行通路富集分析,因为这么做也有个优点,就是数据库在本地,不会随着网上的更新而导致富集结果的更新,因为这样避免了前期的实验在后期复现不出来的麻烦。

参考了这个方法:

构建自己的R包--KEGG.db

先去上述官方地址找到自己研究的物种在KEGG数据里的3字符缩写,比如:我研究的是人类和玉米,缩写是'hsa'和'zma'。

#安装Y叔的包,
#安装创建KEGG数据库的包的包
remotes::install_github("YuLab-SMU/createKEGGdb")
#创建自己的物种的包create_kegg_db,会自动创建名称为KEGG.db_1.0.tar,gz的包。物种名称的简写,在
createKEGGdb::create_kegg_db('zma')    #人类是'hsa'#安装这个包(默认的包的路径在当前工作目录,根据实际情况修改路径)
install.packages("~/KEGG.db_1.0.tar.gz",repos=NULL,type="source")

但是在第二步时出现了小插曲,应该是说我的clusterProfiler有问题,我去安装了最新版本的clusterProfiler,clusterProfiler下载链接,在导入时又出现了麻烦,说最新版的clusterProfiler引入了DOSE,我的DOSE版本太低,我用BiocManager安装DOSE,但是BiocManager安装的DOSE依旧不符合要求,我考虑是否是BiocManager版本太低,又更新了BiocManager在安装DOSE,还是不行。迫不得已,我直接更新了R,从4.2.0更新了4.2.2,重新安装BiocManager、DOSE依旧解决不了问题。机缘巧合下(之前一直用某度,完全找不到官方信息,使用Bing浏览器搜到了这个,仿佛打开了新世界的大门),我找到了官方的DOSE,变下载安装包,在RStudio中手动安装,安装成功,继续导包clusterProfiler,又出现了一下包的关联问题,像GOSemSim, HDO, DO等,用同样的方法去官网下载安装包手动安装,因为BiocManager更新迟后,使用BiocManager不能安装最新版。后面甚至是JSON都需要安装,最后,clusterProfiler导包成功了!!!!

执行第二步和第三步,也都成功了!

还需要把“~/KEGG.db_1.0.tar.gz”手动安装,最后成为KEGG.db包,才可以使用library导入。

附上运行成功的代码(注意本地分析的话use_internal_data = TRUE,线上分析是默认的FALSE):

library("clusterProfiler")
library("org.Hs.eg.db")
library("enrichplot")
library("ggplot2")
library("pathview")
library("ggnewscale")
library("DOSE")
library(stringr)
library(AnnotationHub)    #library导入需要使用的数据包
library(eoffice)
library('KEGG.db')
# 以上有些包在共享的代码中没用到,是后续画图用的# 把SYMBOL转成gene_id
EG2SYMBOL=toTable(org.Hs.egSYMBOL)
geneLists=read.table("data/gene_module_5.txt",sep="\t",check.names=F,header=F)
colnames(geneLists) <- c('symbol')
results=merge(geneLists,EG2SYMBOL,by='symbol',all.x=T)  # 合并两个数据框
gene <- results$gene_id  # 选择一列
# 进行通路分析
k <- enrichKEGG(gene = gene, organism = "hsa", pvalueCutoff =1, qvalueCutoff =1, use_internal_data = TRUE)
# 强制转成数据框,便于查看
KEGG=as.data.frame(k)

本地通路富集分析完成!!!

下面看一下是不是clusterProfiler版本的原因,我运行

k <- enrichKEGG(gene = gene, organism = "hsa", pvalueCutoff =1, qvalueCutoff =1)

仍然报错:

那就不是clusterProfiler版本的原因了,是什么也不重要了,过些日子说不定就好了。

知识储备有限,描述不专业,敬请见谅!!!

使用R语言包clusterProfiler做KEGG富集分析时出现的错误及解决方法相关推荐

  1. R语言ggplot2绘图教程——Pathway富集分析气泡图

    library(ggplot2) pathway = read.table("C://Users//Desktop//path.richFactor.head20.tsv",hea ...

  2. r语言进行go富集分析_R语言:clusterProfiler进行GO富集分析和Gene_ID转换

    一.读取文件,ID转换 1.读取文件 library(clusterProfiler) library(org.Hs.eg.db) #读取文件,原始文件中使用空格分割的 go_ythdf2 go_yt ...

  3. 写一个KEGG富集分析的R语言代码

    . 有很多方法可以在R语言中完成KEGG富集分析.这里是一个简单的代码示例: library(clusterProfiler) library(KEGG.db)# 读取基因列表 geneList &l ...

  4. R语言|clusterprofile超几何分布富集分析 GO,KEGG富集分析,循环Fisher‘s test

    超几何分布富集分析 GO,KEGG富集分析,循环Fisher's test ID转换 GO KEGG 把KEGG里的geneid转回名称(readable table) 超几何分布以及生成data f ...

  5. 富集分析原理和clusterProfiler包进行GO、KEGG富集分析详细说明

    概念: 基因富集分析是指对于给定一组基因根据基因组注释信息(GO.KEGG)对基因进行聚类分析,即给定的基因是不是GO中的一个功能(或KEGG中的一个通路). 基因的功能富集的目的是说明给定的基因集对 ...

  6. 如何利用clusterProfiler进行基因集的KEGG富集分析?

    NGS 测序项目,不管是基因组测序,还是转录组测序,通常会得到一个基因列表,记录了基因突变,或者高/低表达量. 对成百上千甚至上万个基因进行解读,往往是困难的,对基因进行分组以帮助对数据的理解就非常有 ...

  7. python调用r语言加载包错误_Python中调用R语言包指南.docx

    Python中调用R语言包指南R语言是非常强大的做统计分析和建模方面的开源软件,它有非常丰富的统计软件包,做统计可以说只有你想不到的,没有R办不到的.Python又是当下最流行的编程软件之一,Pyth ...

  8. R语言包在linux上的安装等知识

    有关install.packages()函数的详见:R包 package 的安装(install.packages函数详解) R的包(package)通常有两种: 1 binary package:这 ...

  9. 在Linux中安装R语言包,遇到无法验证下列签名的错误

    R语言包的安装方式如下 Ubuntu自带的APT包管理器中的R安装包总是落后于标准版,因此需要添加新的镜像源把APT包管理中的R安装包更新到最新版. 请登录Linux系统,打开一个终端,然后执行下面命 ...

最新文章

  1. 爬虫好学吗python-小白python学到什么程度可以学习网络爬虫? ?
  2. P3302-[SDOI2013]森林【主席树,LCA,启发式合并】
  3. [译] 使用 iPhone X 与 Maya 实现快速面部捕捉
  4. sql in not in_SQL IN – SQL NOT IN
  5. 活字格企业Web应用生成器V3.0发布更新,支持插件管理和多人协作开发
  6. SQL Server数据库连接工具SSMS18.2的安装与配置
  7. win7摄像头软件_电脑最好用录屏软件,一分钟下载安装
  8. 解决office2016显示图标异常
  9. Python基础(8)字符串及常用操作
  10. 珍珠项链(洛谷-P2768)(Dp矩阵加速)
  11. rocketdock 打不开 有进程
  12. Python Matplotlib设置坐标轴范围,以及旋转轴标签(xtickslabels)
  13. Vue + Element UI 实现权限管理系统 前端篇(六):更换皮肤主题
  14. 并行传输数据和串行传输数据_计算机系统中的并行处理和数据传输模式
  15. 自定义CollapsingToolbaLayout完成可收缩的带头像的Toolbar
  16. 如何查询一个IP上所绑定的域名
  17. L1-029 是不是太胖了 (5分)
  18. 人工神经元网络及其应用,人工神经元网络技术
  19. 程序员压力大?常灸这七大穴位减轻你的压力!
  20. heatmap(高德热力图)

热门文章

  1. 【疑难总结】float文字环绕的坑
  2. 数据结构》算法实现及解析].高一凡.
  3. 黑苹果10.14.6可以用n卡吗_性能级黑苹果主机
  4. 石油大 2019年第二阶段我要变强个人训练赛第十八场 Problem N 扶桑号战列舰(线段树+区间更新+区间查询)
  5. 补单网站与程序的搭建细节
  6. Origin绘图模板与使用2022
  7. Duilib简明教程
  8. 工业RFID应用(三):RFID技术与智能仓储子母穿梭车的应用解决方案
  9. 其实大多数人没必要买iphone5
  10. Spring 如何处理循环依赖?