GO和KEGG富集結果如何顯示基因symbol

前面在講GO和KEGG富集倍數(Fold Enrichment)如何計算時,給大家簡單介紹過GO富集分析結果如何看。

ONTOLOGY:區分是BP,MF還是CC
ID:具體的GO條目的ID號
Description:GO條目的描述
GeneRatio:這里是一個分數,分子是富集到這個GO條目上的gene的數目,
            分母是所有輸入的做富集分析的gene的數目,可以是差異表達
            分析得到的gene
BgRatio:Background Ratio. 這里也是一個分數,分母是人的所有編碼蛋白的
        基因中有GO注釋的gene的數目,這里是19623個,分子是這19623個
        gene中注釋到這個GO條目上面的gene的數目
pvalue:富集的p值
p.adjust:校正之后的p值
qvalue:q值
geneID:輸入的做富集分析的gene中富集到這個GO條目上面的具體的
        gene名字
Count:輸入的做富集分析的gene中富集到這個GO條目上面的gene的數目

有時候我們得到的富集結果中geneID這一列顯示的是基因的名字(symbol),有時候顯示的是一串數字(Entrez gene ID)或者是ensembl gene ID。其實我們最希望看到的是顯示基因的名字(symbol),因為只有這樣你才能一眼就看出是什么基因富集到這個GO條目或者是KEGG通路上,其他的ID號,都不太直觀。那么我們如何能保證富集結果中就顯示gene symbol呢?
今天給大家介紹三種不同的方法,來達到同樣的效果假設我們這里差異表達分析得到了1000個差異表達的基因(DEG),基因的ID號是ensembl gene ID。

load("DEG.rds")
ls()
library(org.Hs.eg.db)
library(clusterProfiler)
ego <- enrichGO(gene = DEG,
                OrgDb=org.Hs.eg.db,
                ont = "all",
                pAdjustMethod = "BH",
                minGSSize = 10,
                pvalueCutoff = 0.01,
                qvalueCutoff = 0.01,
                keyType='ENSEMBL')

富集得到的結果如下,geneID為ensembl gene ID

>ego
# over-representation test
#
#...@organism    Homo sapiens 
#...@ontology    GOALL 
#...@keytype    ENSEMBL 
#...@gene    chr [1:1000] "ENSG00000259250" "ENSG00000255717" ...
#...pvalues adjusted by 'BH' with cutoff <0.01 
#...81 enriched terms found
'data.frame':  81 obs. of  10 variables:
 $ ONTOLOGY   : Factor w/ 3 levels "BP","CC","MF": 1 1 1 1 1 1 1 1 1 1 ...
 $ ID         : chr  "GO:0016054" "GO:0046395" "GO:0044282" "GO:0009063" ...
 $ Description: chr  "organic acid catabolic process" "carboxylic acid catabolic process" "small molecule catabolic process" "cellular amino acid catabolic process" ...
 $ GeneRatio  : chr  "50/832" "50/832" "63/832" "30/832" ...
 $ BgRatio    : chr  "300/20610" "300/20610" "476/20610" "140/20610" ...
 $ pvalue     : num  1.06e-17 1.06e-17 8.27e-17 4.25e-14 1.33e-11 ...
 $ p.adjust   : num  2.69e-14 2.69e-14 1.39e-13 5.38e-11 1.34e-08 ...
 $ qvalue     : num  2.51e-14 2.51e-14 1.30e-13 5.01e-11 1.25e-08 ...
 $ geneID     : chr  "ENSG00000198650/ENSG00000248098/ENSG00000078070/ENSG00000169738/ENSG00000113492/ENSG00000113790/ENSG00000111271"| __truncated__ "ENSG00000198650/ENSG00000248098/ENSG00000078070/ENSG00000169738/ENSG00000113492/ENSG00000113790/ENSG00000111271"| __truncated__ "ENSG00000198650/ENSG00000248098/ENSG00000171903/ENSG00000173597/ENSG00000078070/ENSG00000169738/ENSG00000113492"| __truncated__ "ENSG00000198650/ENSG00000248098/ENSG00000078070/ENSG00000113492/ENSG00000008311/ENSG00000139631/ENSG00000140905"| __truncated__ ...
 $ Count      : int  50 50 63 30 50 35 24 22 27 43 ...
#...Citation
  Guangchuang Yu, Li-Gen Wang, Yanyan Han and Qing-Yu He.
  clusterProfiler: an R package for comparing biological themes among
  gene clusters. OMICS: A Journal of Integrative Biology
  2012, 16(5):284-287  

方法一、使用readable = TRUE參數

ego1 <- enrichGO(gene = DEG,
                 OrgDb=org.Hs.eg.db,
                 ont = "all",
                 pAdjustMethod = "BH",
                 minGSSize = 10,
                 pvalueCutoff = 0.01,
                 qvalueCutoff = 0.01,
                 keyType='ENSEMBL',
                 readable = TRUE)

這時候得到的結果你會發現已經轉換成了gene symbol

>ego1
# over-representation test
#
#...@organism    Homo sapiens 
#...@ontology    GOALL 
#...@keytype    ENSEMBL 
#...@gene    chr [1:1000] "ENSG00000259250" "ENSG00000255717" ...
#...pvalues adjusted by 'BH' with cutoff <0.01 
#...81 enriched terms found
'data.frame':  81 obs. of  10 variables:
 $ ONTOLOGY   : Factor w/ 3 levels "BP","CC","MF": 1 1 1 1 1 1 1 1 1 1 ...
 $ ID         : chr  "GO:0016054" "GO:0046395" "GO:0044282" "GO:0009063" ...
 $ Description: chr  "organic acid catabolic process" "carboxylic acid catabolic process" "small molecule catabolic process" "cellular amino acid catabolic process" ...
 $ GeneRatio  : chr  "50/832" "50/832" "63/832" "30/832" ...
 $ BgRatio    : chr  "300/20610" "300/20610" "476/20610" "140/20610" ...
 $ pvalue     : num  1.06e-17 1.06e-17 8.27e-17 4.25e-14 1.33e-11 ...
 $ p.adjust   : num  2.69e-14 2.69e-14 1.39e-13 5.38e-11 1.34e-08 ...
 $ qvalue     : num  2.51e-14 2.51e-14 1.30e-13 5.01e-11 1.25e-08 ...
 $ geneID     : chr  "TAT/BCKDHA/MCCC1/DCXR/AGXT2/EHHADH/ACAD10/ACADS/ACOX1/AASS/PCCB/CSAD/GCSH/AFMID/GPT/ABAT/MLYCD/ABHD10/PRODH2/DD"| __truncated__ "TAT/BCKDHA/MCCC1/DCXR/AGXT2/EHHADH/ACAD10/ACADS/ACOX1/AASS/PCCB/CSAD/GCSH/AFMID/GPT/ABAT/MLYCD/ABHD10/PRODH2/DD"| __truncated__ "TAT/BCKDHA/CYP4F11/SULT1B1/MCCC1/DCXR/AGXT2/PGM2L1/DPYD/DERA/EHHADH/ACAD10/ACADS/ACOX1/AASS/PCCB/CSAD/GCSH/AFMI"| __truncated__ "TAT/BCKDHA/MCCC1/AGXT2/AASS/CSAD/GCSH/AFMID/GPT/ABAT/PRODH2/DDAH1/ARG1/ACMSD/BCKDK/SHMT1/HGD/CDO1/DBT/GSTZ1/HSD"| __truncated__ ...
 $ Count      : int  50 50 63 30 50 35 24 22 27 43 ...
#...Citation
  Guangchuang Yu, Li-Gen Wang, Yanyan Han and Qing-Yu He.
  clusterProfiler: an R package for comparing biological themes among
  gene clusters. OMICS: A Journal of Integrative Biology
  2012, 16(5):284-287 
?

方法二、使用setReadable函數

library(DOSE)
#如果原始的ID號為entrez gene id那么這里keyType設置為ENTREZID
ego2<-setReadable(ego, OrgDb = org.Hs.eg.db, keyType="ENSEMBL")

轉換之后的結果為

>ego2
# over-representation test
#
#...@organism    Homo sapiens 
#...@ontology    GOALL 
#...@keytype    ENSEMBL 
#...@gene    chr [1:1000] "ENSG00000259250" "ENSG00000255717" "ENSG00000163328" ...
#...pvalues adjusted by 'BH' with cutoff <0.01 
#...81 enriched terms found
'data.frame':  81 obs. of  10 variables:
 $ ONTOLOGY   : Factor w/ 3 levels "BP","CC","MF": 1 1 1 1 1 1 1 1 1 1 ...
 $ ID         : chr  "GO:0016054" "GO:0046395" "GO:0044282" "GO:0009063" ...
 $ Description: chr  "organic acid catabolic process" "carboxylic acid catabolic process" "small molecule catabolic process" "cellular amino acid catabolic process" ...
 $ GeneRatio  : chr  "50/832" "50/832" "63/832" "30/832" ...
 $ BgRatio    : chr  "300/20610" "300/20610" "476/20610" "140/20610" ...
 $ pvalue     : num  1.06e-17 1.06e-17 8.27e-17 4.25e-14 1.33e-11 ...
 $ p.adjust   : num  2.69e-14 2.69e-14 1.39e-13 5.38e-11 1.34e-08 ...
 $ qvalue     : num  2.51e-14 2.51e-14 1.30e-13 5.01e-11 1.25e-08 ...
 $ geneID     : chr  "TAT/BCKDHA/MCCC1/DCXR/AGXT2/EHHADH/ACAD10/ACADS/ACOX1/AASS/PCCB/CSAD/GCSH/AFMID/GPT/ABAT/MLYCD/ABHD10/PRODH2/DD"| __truncated__ "TAT/BCKDHA/MCCC1/DCXR/AGXT2/EHHADH/ACAD10/ACADS/ACOX1/AASS/PCCB/CSAD/GCSH/AFMID/GPT/ABAT/MLYCD/ABHD10/PRODH2/DD"| __truncated__ "TAT/BCKDHA/CYP4F11/SULT1B1/MCCC1/DCXR/AGXT2/PGM2L1/DPYD/DERA/EHHADH/ACAD10/ACADS/ACOX1/AASS/PCCB/CSAD/GCSH/AFMI"| __truncated__ "TAT/BCKDHA/MCCC1/AGXT2/AASS/CSAD/GCSH/AFMID/GPT/ABAT/PRODH2/DDAH1/ARG1/ACMSD/BCKDK/SHMT1/HGD/CDO1/DBT/GSTZ1/HSD"| __truncated__ ...
 $ Count      : int  50 50 63 30 50 35 24 22 27 43 ...
#...Citation
  Guangchuang Yu, Li-Gen Wang, Yanyan Han and Qing-Yu He.
  clusterProfiler: an R package for comparing biological themes among
  gene clusters. OMICS: A Journal of Integrative Biology
  2012, 16(5):284-287 

方法三、自己動手豐衣足食

library(org.Hs.eg.db)
ego3=as.data.frame(ego)
ensembl=strsplit(ego3$geneID,"/")
?
symbol=sapply(ensembl,function(x){
  y=bitr(x, fromType="ENSEMBL", toType="SYMBOL", OrgDb="org.Hs.eg.db")
  #一對多,取第一個
  y=y[!duplicated(y$ENSEMBL),-1]
  y=paste(y,collapse = "/")
})
?
ego3$geneID=symbol
ego3

得到結果如下

參考下面文章獲取DEG.rds文件

GO和KEGG富集結果如何顯示基因symbol

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,646評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,595評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,560評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,035評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,814評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,224評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,301評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,444評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,988評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,804評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,998評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,544評論 5 360
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,237評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,665評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,927評論 1 287
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,706評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,993評論 2 374

推薦閱讀更多精彩內容