如何转换KEGG过量表示测试的热图的X轴以显示基因符号而不是基因entrez ID?

时间:2018-06-12 16:55:57

标签: r heatmap ontology

我是编码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)

Sample_KEGG_Heatplot

我的问题是这样的: 如何将KEGG过度表现测试的热图的X轴转换为显示基因符号而不是基因entrez ID?

1 个答案:

答案 0 :(得分:0)

您可以使用setRedable方法将ENTREZ ID转换为基因符号,如下所示:

new_ego <- setReadable(ego, 'org.Hs.eg.db', 'ENTREZID', keyType ="SYMBOL")

heatplot(new_ego, foldChange = geneList)

希望它会对您有所帮助。