進行GO富集分析時羽历,需要使用OrgDb包幫助進行分析。而OrgDb包诵闭,對于模式物種而言疏尿,可以通過在Bioconductor下載獲取易桃,具體有哪些及其詳細信息見bioconductor-orgdb;而對于非模式物種而言敌呈,則比較麻煩,需要自己構(gòu)建Orgdb包吭练,以下是使用AnnotationForge和AnnotationHub進行orgdb包構(gòu)建的一次過程記錄
1.數(shù)據(jù)準備
? 首先需要收集想要需要進行轉(zhuǎn)換的各種信息鲫咽,根據(jù)需要的信息和能收集到哪些信息決定最后orgdb包內(nèi)包含的信息谷异。
? 收集的水稻信息主要來自ensembl plants的biomart晰绎,選擇基因數(shù)據(jù)庫內(nèi)的IRGSP-1.0數(shù)據(jù)括丁;
選擇后會出現(xiàn)filter和Attributes選項史飞,在選項內(nèi)選擇自己想要的信息构资,Results導出,
? 除了bimart內(nèi)的信息外吐绵,基因描述信息迹淌,symbol_id信息從RAP-DB數(shù)據(jù)庫內(nèi)下載得到
2.注釋包構(gòu)建
? 使用,makeOrgPackages進行orgdb包進行注釋時己单,需要確定一個GID唉窃,及Geneid,后面進行的轉(zhuǎn)換全部基因GID進行纹笼,這里以RAP-id作為GID纹份,構(gòu)建GID到各種信息的轉(zhuǎn)換數(shù)據(jù)框,每個數(shù)據(jù)框內(nèi)僅包含GID到各種信息的對應(yīng)廷痘。注意蔓涧,有一個轉(zhuǎn)換必須要有,GID2GO元暴,同時GID2GO必須包含也僅能包含GID,GO兄猩,EVIDENCE這三個信息
# 加載包和數(shù)據(jù)
if(!require(yulab.utils)) install.packages("yulab.utils")
library(yulab.utils)
pload(tidyverse)
pload(clusterProfiler)
pload(xlsx)
pload(AnnotationForge)
pload(AnnotationHub)
# GID為RAP ID
# 最后構(gòu)建的數(shù)據(jù)對應(yīng)框需要沒有重復(fù)行昨寞,構(gòu)建好對應(yīng)的信息轉(zhuǎn)換之后可以使用unique去除重復(fù)
unique(GID2GO)
# 構(gòu)建好的幾個數(shù)據(jù)框如下
head(GID2GO,5)
GID GO EVIDENCE
1019 Os06g0238000 GO:0005515 IEA
1020 Os06g0238000 GO:0004842 IEA
1021 Os06g0238000 GO:0016567 IEA
1022 Os06g0238000 GO:0005634 IBA
1024 Os02g0779000 GO:0004252 IEA
head(GID2KEGGGID,5)
GID KEGGGID
6096 Os01g0100200 Os01t0100200-01
48606 Os01g0100400 Os01t0100400-01
39692 Os01g0100650 Os01t0100650-00
43179 Os01g0100800 Os01t0100800-01
12722 Os01g0101150 Os01t0101150-00
head(GID2DES,5)
GID DES
1 Os01g0100100 RabGAP/TBC domain containing protein.
2 Os01g0100200 Conserved hypothetical protein.
3 Os01g0100300 Cytochrome P450 domain containing protein.
4 Os01g0100400 Similar to Pectinesterase-like protein.
5 Os01g0100466 Hypothetical protein.
head(GID2ENTEZID,5)
GID ENTREZID
1147 Os09g0508300 4347526
1149 Os07g0593000 4343786
1151 Os06g0608300 4341492
1155 Os01g0873800 4324767
1158 Os12g0141800 4351474
構(gòu)建物種注釋包
makeOrgPackage(go=GID2GO,
SYMBOL_info =GID2SYMBOL,
MSU_info = GID2MSU,
DES_info = GID2DES,
KEGGGID_info = GID2KEGGGID,
ENTREZID_info = GID2ENTREZID,
ENA_info = GID2ENA,
version="2.0",
maintainer="yourname<youremaildress>",
author = "yourname<youremaildress>",
tax_id = "39947",
genus = "Os",
species="sativaV2",
goTable = "go")
install("yourworkpath/org.OsativaV2.eg.db",repo=NULL,type="source")
library(org.OsativaV2.eg.db)
keytypes(org.OsativaV2.eg.db)
# 出現(xiàn)需要的id類型就是成功
一個小問題
在后續(xù)進行GO分析過程中瞻惋,發(fā)現(xiàn)ont 3種分開選擇都沒有問題,選擇ALL會出現(xiàn)部分ONTOLOGY顯示為NA援岩,原因未知歼狼,可以保存一個GO與ONTOLOGY的對應(yīng)表,導入后去除原resultONTOLOGY列享怀,merge即可