[基因组学]使用biomaRt做水稻ID转换及相关信息的填充

水稻的基因号大致分为两类,一类是RAP号,格式为“Os-Chr-g-number”,另一类是MSU号,格式为“LOC_Os-Chr-g-number”。平时做各种分析时,需要你输入的基因号都有指定的要求,因此学习基因的ID转换至关重要。

在水稻中有一些网页工具能完成ID的转换,如Ensemble Plants(http://plants.ensembl.org/index.html),RAP-Db(https://rapdb.dna.affrc.go.jp/),RIGW(http://rice.hzau.edu.cn/rice/),但是毕竟网页工具只是提供最基本的功能,况且作为一名生信工具的使用者,更应该会用代码的方式来解决问题,既批量又高效。

下面我将来介绍由Ensemble开发的R包-biomaRt来完成基因号的批量转换。

1.Installation

#一键安装
BiocManager::install("biomaRt")
#加载
library(biomaRt)

2.Data Import

#按顺序挑了10个基因
Os01g0100100
Os01g0100200
Os01g0100300
Os01g0100400
Os01g0100466
Os01g0100500
Os01g0100600
Os01g0100650
Os01g0100700
Os01g0100800
a <- read.csv('testgene.txt',sep = '\t')

3.getBM做ID转换

getBM函数,它就四个参数。 getBM函数唯一的用处,就是做各种ID转换。

1.filter来控制根据什么东西来过滤,可是不同数据库的ID,也可以是染色体定位系统坐标。

2.Attributes来控制我们想获得什么,一般是不同数据库的ID。

3.Values是我们用来检索的关键词向量。

4.Mart是我们前面选择好的数据库。

3.1建立与ensemble数据库的链接

#在ensemble plants上能看到所有已提交的物种信息
ensembl = useMart(biomart = "plants_mart",host = "http://plants.ensembl.org")
#查看ensemble plants都有哪些物种信息,并设置为该物种信息。
dataset <- listDatasets(mart = ensembl)
head(dataset)
ensembl = useMart(biomart = "plants_mart",host = "http://plants.ensembl.org",dataset="osativa_eg_gene")
#查看该dataset上都有哪些属性,方便后面做添加
attributes <- listAttributes(ensembl)

3.2 正式做ID转换及信息添加

这里我碰到一个BUG,之前看人里面做ID转换,Ensemble ID都是以E开头的,我也就想当然的认为水稻的Ensemble ID也是以E开头的,没有想到,原来RAP号就是水稻的Ensemble ID,毕竟官网给的基因组文件是是‘IRGSP-1.0’,也难怪。至于我后面选的这个参数,external_gene_name,就是我们平时称呼的基因名字,加上这个感觉更容易理解一点。

supplement <- getBM(attributes =c("ensembl_gene_id",'external_gene_name',"description"),filters = "ensembl_gene_id",values = a,mart = ensembl)

转换成GO ID并附上GO描述

supplements <- getBM(attributes =c("ensembl_gene_id",'go_id','goslim_goa_description'),
 filters = "ensembl_gene_id",values = a,mart = ensembl)

转换成NCBI ID

supplements <- getBM(attributes =c("ensembl_gene_id",'entrezgene_id'),
 filters = "ensembl_gene_id",values = a,mart = ensembl)

如果想在差异基因后面加上基因描述,后面就可以选用merge()函数,根据基因ID来进行merge。

参考链接
http://bioconductor.org/packages/release/bioc/html/biomaRt.html

你可能感兴趣的:([基因组学]使用biomaRt做水稻ID转换及相关信息的填充)