KEGG 数据库本地化及解决 ERROR while rich displaying an object: Error in ans[ypos] <- rep(yes, length.out

1 篇文章 0 订阅

1. 安装KEGG 数据库

参考KEGG 数据库本地化(enrichKEGG)

install.packages(remotes)
library(remotes)
# Install packages: clusterProfiler createKEGGdb
if (!require("BiocManager", quietly = TRUE))
  install.packages("BiocManager")
BiocManager::install("clusterProfiler")
remotes::install_github("YuLab-SMU/createKEGGdb")
# upload packages
library("createKEGGdb")
library("clusterProfiler")
create_kegg_db("hsa") #将人类的KEGG富集所需文件打包为KEGGdb包

*note: clusterProfiler包需在R4.2中下载安装 否则会安装不上

KEGG.db下载完成

2. 测试本地的包

#移动这个包到指定目录(默认的包的路径在当前工作目录,根据实际情况修改路径)
file.rename("./KEGG.db_1.0.tar.gz", "/home/administrator/anaconda3/envs/R42/lib/R/library/KEGG.db_1.0.tar.gz")
install.packages("/home/administrator/anaconda3/envs/R42/lib/R/library/KEGG.db_1.0.tar.gz",repos=NULL,type="source")

#上述KEGG数据库本地化代码仅需一段时间运行一次即可,KEGG更新速度不会很快

library(KEGG.db)
library(clusterProfiler)
data(geneList,package="DOSE")
head(geneList)
gene <- names(geneList)[abs(geneList) > 2]
kk <- enrichKEGG(gene= gene,organism= 'hsa',pvalueCutoff = 0.05,qvalueCutoff = 0.05,use_internal_data =T)#当使用本地的KEGG.db数据库时,use_internal_data设置为T,使用在线数据库时设置为F.
head(kk)

在这里插入图片描述

head(kk) 注释结果 Description列为NA 会导致运行dotplot(kk) 报错

dotplot(kk)

Warning message in rep(yes, length.out = len):
“‘x’ is NULL so the result will be NULL”
ERROR while rich displaying an object: Error in ans[ypos] <- rep(yes, length.out = len)[ypos]: replacement has length zero
在这里插入图片描述

将use_internal_data设置为F,使用在线数据库,Description列不为NA 即可解决报错。

kk <- enrichKEGG(gene= gene,organism= 'hsa',
pvalueCutoff = 0.05,qvalueCutoff = 0.05,use_internal_data =F)
head(kk)  # 获取KEGG对象的摘要信息

在这里插入图片描述

dotplot(kk)

在这里插入图片描述

📖 Documents
KEGG数据本地化,再也不用担心网络问题了

多物种批量下载KEGG数据并做成KEGG.db包

  • 12
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值