分享

基因组数据分析,编号转换不用愁之biomaRt

 萌小芊 2018-04-09


 

做数据分析最烦的是什么,数据清洗、格式转换,编号不对应,有没有。特别是基因组、蛋白组、转录组等多组学数据分析的时候,各种数据库的编号千奇百怪。各大公司的注释结果不统一,蛋白组注释的结果是蛋白编号,转录组注释结果是转录本编号,基因组注释又是用的gene symbol或者ensemble的编号,或者还有使用entreze,UCSC的编号。多组学分析的时候找到了显著的蛋白或者转录本,对应不到我们熟悉的gene symbol,要是只有十几个转录本或者蛋白,还可以手动去网站找,要是几百几千个,一个一个手动搜索要到猴年马月。

 

别急,今天就给大家介绍一个神器biomaRt,ensemble出品,整合各现在主流的基因组、转录组、蛋白组数据库的编号信息,其中还包括同源基因的编号,比如小鼠的基因对应到人基因组的名称,biomaRt是ensemble开发的一款方便我们批量查找、转换各种编号的神器,提供网页版和R包的调用。

 

而且biomaRt不仅可以查询各种数据库的编号对应关系,还可以根据你提供的基因组位置,返回对应的基因,提取对应的序列、蛋白序列等;还可根据你提供的基因,返回对应的基因组坐标、UTR、band等等相关系信息。

 

Ensemble网站使用biomaRt请参考

http://asia./biomart/martview/ba1c7e5c5ee54a92c61273cad0461262,今天主要给大家介绍在R中调用biomaRt。

 

在R中调用biomaRt需要先安装,biomaRt是发表在bioconductor上的包,安装方法如下:


#打开R程序、或者在Rstudio中输入如下命令:

source('https:///biocLite.R')

biocLite('biomaRt')

详细的使用教程请参考官网链接:

http://www./packages/release/bioc/vignettes/biomaRt/inst/doc/biomaRt.html

  

biomaRt最常用的函数是getBM,参数比较多,这里介绍几个主要的参数:

 

getBM(attributes,filters = '', values = '', mart, …)

 

attributes   

包含你查询后需要返回的数据库ID,比如你用hgnc_symbol查询,需要知道的ensembl_gene_id等等

filter

是你用于查询的编号在数据库中的名称,比如hgnc_symbol、ensembl_gene_id

values

是你用于filter的基因或者转录组编号,比如TP53、EGFR

mart

是你提前建立的数据集

 

使用流程如下


1.   使用之前需要先选择数据库和数据集,先加载biomaRt包,然后用listMarts()函数查看可用的数据库:

 

library('biomaRt')

 

1)listMarts()

 

 

2)然后用useMart函数链接数据库:

ensembl <->'ensembl')  # 数据库链接,这里链接的是ensemble数据库

 

选择完成数据库之后,需要选择数据集,可以用listDatasets(ensembl)查看可用的数据集,之后选择目标数据集,比如选择人的hsapiens_gene_ensembl数据集:

 

 

3)随后用函数useDataset链接从数据库中选择的数据集,如下:

 

ensembl <->'hsapiens_gene_ensembl', mart = ensembl)

 

如果我们对数据库比较了解,直接可以一步到位, 如下:

 

ensembl <->'ensembl', dataset = 'hsapiens_gene_ensembl')


2、根据需求,也就是我们已知的编号,找到ensemble数据库对应的编号ID,就是说我们的编号是ensembl_gene_id,还是hgnc_symbol类型的。


可以用listFilters查看,由于比较多,这里只显示前五行:



可以用listAttributes查看你需要返回的id名称,由于比较多,这里只显示前五行:



3、使用范例:



所得结果以及存储在了ids变量中,输出ids结果如下,已经得到了我们想要的信息:



补充:


getSequence()函数可以提取对应的序列或者蛋白序列信息

getLDS()函数可以提取同源基因的信息,比如你知道人的基因信息,想知道对应的小鼠基因ID

 

而且biomaRT还可以选择不同的ensemble版本,详细信息请看官方文档。

 

biomaRt使用起来还是非常方便的,如果大家有点R语言的基础,可以大量减少手工操作的时间。如果对R不是很熟悉,当然ensemble网站也是支持在线查询的。


/End.


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多