杭州北京网站建设公司哪家好,石家庄做网站需要多少钱,网站建设gongsi,唯美谷网站建设使用enrichKEGG做通路富集分析时#xff0c;一直报错#xff1a;显示No gene can be mapped....k - enrichKEGG(gene gene, organism hsa, pvalueCutoff 1, qvalueCutoff 1)但是之前用同样的基因做分析是能够成功地富集到通路#xff0c;即便是网上的数据…使用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,reposNULL,typesource)
但是在第二步时出现了小插曲应该是说我的clusterProfiler有问题我去安装了最新版本的clusterProfilerclusterProfiler下载链接在导入时又出现了麻烦说最新版的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线上分析是默认的FALSElibrary(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
EG2SYMBOLtoTable(org.Hs.egSYMBOL)
geneListsread.table(data/gene_module_5.txt,sep\t,check.namesF,headerF)
colnames(geneLists) - c(symbol)
resultsmerge(geneLists,EG2SYMBOL,bysymbol,all.xT) # 合并两个数据框
gene - results$gene_id # 选择一列
# 进行通路分析
k - enrichKEGG(gene gene, organism hsa, pvalueCutoff 1, qvalueCutoff 1, use_internal_data TRUE)
# 强制转成数据框便于查看
KEGGas.data.frame(k)本地通路富集分析完成下面看一下是不是clusterProfiler版本的原因我运行k - enrichKEGG(gene gene, organism hsa, pvalueCutoff 1, qvalueCutoff 1)仍然报错那就不是clusterProfiler版本的原因了是什么也不重要了过些日子说不定就好了。知识储备有限描述不专业敬请见谅