close
在公眾號內,回復學習資源,獲得驚喜喔

兩種方法將難懂的entrezID轉換為geneSymbol

首先加載相關的R包

#適用於豬的基因,其他物種對應調整#豬:org.Ss.eg.db 人:org.Hs.eg.db 小鼠:org.Mm.eg.dblibrary(org.Ss.eg.db)library(openxlsx)library(tidyverse)library(clusterProfiler)

第一種方法:直接使用DOSE::setReadable()函數

注意:使用前提是你的富集結果對象類型必須是:'enrichResult' , 'gseaResult' or 'compareClusterResult'其中的一個,也就是用clusterProfiler里的富集函數直接給出的結果

#一句代碼轉化,kegg為富集結果kegg_SYMBOL<-DOSE::setReadable(kegg,OrgDb="org.Ss.eg.db",keyType="ENTREZID")

第二種方法:自定義函數進行轉換

適用於你的數據對象已經不是上面提到的三種類型之一,比如你把富集結果提取出來保存成了數據框

#提取富集結果kegg<-kegg@result#此時在轉換就會報錯kegg_SYMBOL<-DOSE::setReadable(kegg,OrgDb="org.Ss.eg.db",keyType="ENTREZID")#>>ErrorinDOSE::setReadable(kegg,OrgDb="org.Ss.eg.db",keyType="ENTREZID"):#>>inputshouldbean'enrichResult','gseaResult'or'compareClusterResult'object...#定義函數:輸入一個ENTREZID字符返回對應gene symbol的字符entrezID2geneSymbol<-function(entrezID){#測試向量#test<-kegg$geneID[1]#entrezID<-test#將字符串切分為向量entrezID<-as.vector(str_split(entrezID,"/",simplify=T))#ENTREZID轉換為SYMBOL,返回向量SYMBOL<-bitr(entrezID,"ENTREZID","SYMBOL",org.Ss.eg.db)[,"SYMBOL"]#再SYMBOL合併為字符串,並返回結果SYMBOL_chr<-paste0(SYMBOL,"",collapse="/")return(SYMBOL_chr)}#自定義函數進行轉換kegg$gene_name<-unlist(map(kegg$geneID,entrezID2geneSymbol))#>>'select()'returned1:1mappingbetweenkeysandcolumns#>>'select()'returned1:1mappingbetweenkeysandcolumns#>>'select()'returned1:1mappingbetweenkeysandcolumns#>>'select()'returned1:1mappingbetweenkeysandcolumns#>>'select()'returned1:1mappingbetweenkeysandcolumns#>>'select()'returned1:1mappingbetweenkeysandcolumns#>>'select()'returned1:1mappingbetweenkeysandcolumns#>>....image-20220414211151074

參考資料:

https://bioconductor.org/packages/release/bioc/html/clusterProfiler.html

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()