非模式生物水稻注释包OrgDb构建

进行GO富集分析时,需要使用OrgDb包帮助进行分析。而OrgDb包,对于模式物种而言,可以通过在Bioconductor下载获取,具体有哪些及其详细信息见bioconductor-orgdb;而对于非模式物种而言,则比较麻烦,需要自己构建Orgdb包,以下是使用AnnotationForge和AnnotationHub进行orgdb包构建的一次过程记录

1.数据准备

  首先需要收集想要需要进行转换的各种信息,根据需要的信息和能收集到哪些信息决定最后orgdb包内包含的信息。
  收集的水稻信息主要来自ensembl plants的biomart,选择基因数据库内的IRGSP-1.0数据;


biomart_database.png

选择后会出现filter和Attributes选项,在选项内选择自己想要的信息,Results导出,


biomart.png

  除了bimart内的信息外,基因描述信息,symbol_id信息从RAP-DB数据库内下载得到

2.注释包构建

  使用,makeOrgPackages进行orgdb包进行注释时,需要确定一个GID,及Geneid,后面进行的转换全部基因GID进行,这里以RAP-id作为GID,构建GID到各种信息的转换数据框,每个数据框内仅包含GID到各种信息的对应。注意,有一个转换必须要有,GID2GO,同时GID2GO必须包含也仅能包含GID,GO,EVIDENCE这三个信息

# 加载包和数据
if(!require(yulab.utils)) install.packages("yulab.utils")
library(yulab.utils)
pload(tidyverse)
pload(clusterProfiler)
pload(xlsx)
pload(AnnotationForge)
pload(AnnotationHub)
# GID为RAP ID
# 最后构建的数据对应框需要没有重复行,构建好对应的信息转换之后可以使用unique去除重复
unique(GID2GO)
# 构建好的几个数据框如下
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

构建物种注释包

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)
# 出现需要的id类型就是成功

一个小问题

在后续进行GO分析过程中,发现ont 3种分开选择都没有问题,选择ALL会出现部分ONTOLOGY显示为NA,原因未知,可以保存一个GO与ONTOLOGY的对应表,导入后去除原resultONTOLOGY列,merge即可

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容