我是编码R(和一般编程)的新手,最近把它作为我工作的要求。我的实验室正在使用名为“clusterProfiler”的R软件包来分析我们组织样本中发现的几种蛋白质。使用以下代码,我已经能够成功地对名为“geneList”的样本数据集运行基因本体过度表示测试,并创建选择基因所涉及的生物过程热图。此过程的代码如下:
devtools::install_github(
c("guangchuangyu/enrichplot",
"guangchuangyu/DOSE",
"guangchuangyu/clusterProfiler",
"guangchuangyu/ChIPseeker"))
library(DOSE)
library(enrichplot)
library(clusterProfiler)
data(geneList)
de <- names(geneList)[abs(geneList) > 2]
ego <- enrichGO(de,
OrgDb = "org.Hs.eg.db",
ont="BP",
readable=TRUE)
ego2 <- simplify(ego)
heatplot(ego, foldChange=geneList)
该方法产生热图,其显示沿Y轴的生物过程和沿X轴的基因符号列表(例如,“血管生成素”沿X轴显示为“ANG”)。
我遇到的问题是当我针对相同的数据运行KEGG过度表示测试时,并尝试创建结果的热图,X轴不显示基因符号,而是显示基因entrez ID(其中是一系列数字)。以下是KEGG超额表示测试和随后的热图的代码:
data(geneList)
gene <- names(geneList)[abs(geneList) > 2]
kk <- enrichKEGG(gene = gene,
organism = 'hsa')
heatplot(kk, foldChange = geneList)
我的问题是这样的: 如何将KEGG过度表现测试的热图的X轴转换为显示基因符号而不是基因entrez ID?
答案 0 :(得分:0)
您可以使用setRedable
方法将ENTREZ ID转换为基因符号,如下所示:
new_ego <- setReadable(ego, 'org.Hs.eg.db', 'ENTREZID', keyType ="SYMBOL")
heatplot(new_ego, foldChange = geneList)
希望它会对您有所帮助。