Meanwhile, when I fed the ENTREZID to enrichKEGG, it show me two unreasonable results:
kegg_enrich <- enrichkegg(gene="">
organism = 'hsa',
keyType = 'ncbi-geneid',
pvalueCutoff = 0.05,
#pAdjustMethod = 'BH',
#qvalueCutoff = 0.2,
use_internal_data = FALSE)
head(kegg_enrich)
ID Description GeneRatio BgRatio pvalue p.adjust qvalue
hsa04380 hsa04380 Osteoclast differentiation 14/281 128/7299 0.0003817040 0.04767338 0.04508266
hsa04070 hsa04070 Phosphatidylinositol signaling system 12/281 99/7299 0.0003875885 0.04767338 0.04508266I noted that only 281 genes are remained(there are 700+ genes in my list). In case that there is something wrong wtihin my gene list, I also tried my list with DAVID. It gave me reasonable results. So this is my second question, why enrichKEGG cannot recognize my geneids?
大概說他有700+的基因,clusterProfiler做KEGG時只認得281個,比DAVID要差。他有提供一個gene_list.txt在github上,這樣我就有可能幫他看一下。
說比DAVID差是不可能,我把他的gene list上傳到DAVID上,只認得197個,啪啪啪,DAVID的臉好疼。
那么問題回到為什么這么多基因沒有注釋,這大家得問KEGG,KEGG的通路注釋主要集中在代謝通路上,很多基因沒有注釋是事實,你可以嘗試一下用我的另一個包ReactomePA,試一下reactome pathway分析。
當然我不能只說「沒注釋就是沒注釋啊」,「我也很絕望啊」,我必須還給出事實。
clusterProfiler給出了很多的小工具,讓我們檢驗結果相當之容易,我們可以把基因映射到KEGG通路上去:
提示說~63%的基因是沒有KEGG注釋的,有注釋的基因我們可以通過轉換后的結果得到:
而沒有注釋的,也很容易通過比較而得到:
那么有了這個結果,我們就可以去KEGG數據庫去核查了,看看clusterProfiler
有沒有欺騙你。
KEGG的基因注釋可以通過類似于下面這樣的鏈接得到:
http://www.genome.jp/dbget-bin/www_bget?hsa:ENTREZID
.
比如說,上面有注釋的基因10023
, 通過這個頁面:
http://www.genome.jp/dbget-bin/www_bget?hsa:10023,
可以確認確實是有注釋的。
而沒有注釋的基因100506775
, 通過網頁:http://www.genome.jp/dbget-bin/www_bget?hsa:100506775,
也確實可以確認是沒有KEGG注釋的。
聯(lián)系客服