富集分析的常用包c(diǎn)lusterProfiler横堡,一般都是安裝人和小鼠的數(shù)據(jù)庫(kù)來(lái)進(jìn)行分析注釋嫁审。這篇文章將介紹一下非人鼠的物種如何安裝目前支持的數(shù)據(jù)庫(kù)特笋。
OrgDb目前有20個(gè)物種:https://bioconductor.org/packages/release/BiocViews.html#___OrgDb
這里我們以安裝雞的數(shù)據(jù)庫(kù)為例则剃。
在上面數(shù)據(jù)庫(kù)表格中找到對(duì)應(yīng)的雞的數(shù)據(jù)庫(kù)包名稱為org.Gg.eg.db
粗悯,這里我們直接在對(duì)應(yīng)的R環(huán)境中進(jìn)行安裝:
# export R_USER_CACHE_DIR=/miniconda3/envs/enrichment/tmp/R/ 如果報(bào)存儲(chǔ)問(wèn)題虚循,可以自定義指定一個(gè)cache目錄
BiocManager::install("org.Gg.eg.db")
# 安裝好之后導(dǎo)入看看有沒(méi)有問(wèn)題
library(org.Gg.eg.db)
KEGG的物種列表: http://rest.kegg.jp/list/organism (需要找到對(duì)應(yīng)物種的第二列的一個(gè)簡(jiǎn)寫(xiě),比如mmu等)
KEGG數(shù)據(jù)庫(kù)我們可以構(gòu)建一個(gè)本地的庫(kù)然后進(jìn)行安裝:
# 安裝本地KEGG庫(kù)
remotes::install_github("YuLab-SMU/createKEGGdb")
species <-c("mmu","hsa","gga") # 對(duì)應(yīng)物種可以在http://rest.kegg.jp/list/organism查看
createKEGGdb::create_kegg_d(species) # 會(huì)生成一個(gè)./KEGG.db_1.0.tar.gz
# 安裝
install.packages("./KEGG.db_1.0.tar.gz", repos=NULL)
# 導(dǎo)入
library(KEGG.db)
最后样傍,簡(jiǎn)單的使用示例:
library(clusterProfiler)
library(org.Gg.eg.db)
model = "org.Gg.eg.db"
full = bitr(genes, fromType = "SYMBOL", toType = c("ENSEMBL", "ENTREZID"), OrgDb = model)
go <- enrichGO(gene = full$ENTREZID, OrgDb = model, ont = "ALL", pAdjustMethod = "fdr", pvalueCutoff = 0.05, readable = TRUE)
model_kegg <- "gga"
full = bitr(genes, fromType = "SYMBOL", toType = c("ENSEMBL", "ENTREZID"), OrgDb = model)
kegg <- enrichKEGG(gene = full$ENTREZID, organism = model_kegg, pvalueCutoff = 0.05, pAdjustMethod = 'fdr', use_internal_data = TRUE)
另外横缔,有時(shí)候可能會(huì)存在導(dǎo)入library(clusterProfiler)
不太穩(wěn)定的情況:
這里我采用了try catch的方式,導(dǎo)入5次衫哥,一般就問(wèn)題不大了茎刚,我測(cè)試的時(shí)候第二次就可以正常導(dǎo)入。
# 嘗試5次導(dǎo)入撤逢,如果還是不行就報(bào)錯(cuò)退出
for (i in 1:5) {
skip_to_next <- FALSE
skip_to_next <- tryCatch({
library(clusterProfiler)
FALSE
}, error = function(e) {
e = e[1]$message
print(paste0(e, " we try ", i))
TRUE
})
print(skip_to_next)
if (skip_to_next) {
next
}else {
break
}
}
當(dāng)然這個(gè)方法也適用于其他的命令~
綜上所述膛锭,就是這次所有的分享啦,如有錯(cuò)誤歡迎指出~