注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

wangyufeng的博客

祝愿BB 健康开心快乐每一天

 
 
 

日志

 
 

R语言biomaRt工具包(package)的使用  

2010-12-05 15:32:01|  分类: 生物信息分析 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

      BioMart由欧洲生物信息研究所(EBI)和冷泉港实验室(ESHL)共同开发的一套查询导向的数据管理系统,这个系统可以接受任意格式的数据,也可以按照不同的需求安装不同的查询工具和界面,可谓相当灵活。由于其内部采用关系型的数据组织模式,所以更易于进行复杂的数据挖掘研究。

      biomaRt工具包是一个连接bioMart数据库的R语言接口,能够通过这个软件包自由地链接到bioMart数据库,方便得读取该数据库的数据,并进一步进行数据处理。bioMart是一个集成了生物学数据的大型集成数据库,包括Ensemble,Uniprot,NCBI,EBI,TAIR等常用的数据库。具体说来,使用这个工具包可以做以下几个工作:

1.查找某个基因在染色体上的位置。反之,给定染色体每一区间,返回该区间的基因s;

2.通过EntrezGene的ID查找到相关序列的GO注释。反之,给定相关的GO注释,获取相关的EntrezGene的ID;

3.通过EntrezGene的ID查找到相关序列的上游100bp序列(可能包含启动子等调控元件);

4.查找人类染色体上每一段区域中已知的SNPs;

5.给定一组的序列ID,获得其中具体的序列;

从上面的这些功能可以看出,biomaRt工具包的作用在于它可以轻松地完成的在多个生物学数据库上繁琐地检索,获取相关数据在不同数据库间的关联。

下面举一例子说明该工具包的使用:

假设给定已知一组拟南芥的NCBI Reference Sequence IDs ("NM_113485", "NM_122343", "NM_113483", "NM_112989", "NM_202190", "NM_129559" ,"NM_102466", "NM_122306") ,但是不知道它的TAIR的AGI的基因编号,可以通过biomaRt这个工具包来获取:

首先,先下载并安装biomaRt工具包(http://bioconductor.org/packages/release/bioc/html/biomaRt.html);

接着,编写R程序:

####Author:  WYF
####E-mail: 
jiuyizhizhu86@126.com
####Date:    2010-06-05

####包的装载

> library(biomaRt)

####查找是否装载成功

> search()
 [1] ".GlobalEnv"        "package:biomaRt"   "package:stats"   
 [4] "package:graphics"  "package:grDevices" "package:utils"   
 [7] "package:datasets"  "package:methods"   "Autoloads"       
[10] "package:base" 

####显示包含的数据库及其版本,该函数共显示出42个结果,本次使用选用 protist_mart_4这个数据库

> listMarts()
                     biomart                                                 version
1                    ensembl                            ENSEMBL GENES 57 (SANGER UK)
2                        snp                        ENSEMBL VARIATION 57 (SANGER UK)
3        functional_genomics              ENSEMBL FUNCTIONAL GENOMICS 57 (SANGER UK)
4                       vega                                     VEGA 37 (SANGER UK)
5           bacterial_mart_4                             ENSEMBL BACTERIA 4 (EBI UK)
6              fungal_mart_4                               ENSEMBL FUNGAL 4 (EBI UK)
7             metazoa_mart_4                              ENSEMBL METAZOA 4 (EBI UK)
8               plant_mart_4                                ENSEMBL PLANT 4 (EBI UK)
9             protist_mart_4                             ENSEMBL PROTISTS 4 (EBI UK)
####选择 protist_mart_4数据库

> plant = useMart ("plant_mart_4")

####显示该数据库包含的子数据库,从结果可以看出这个数据库包含了高粱、短柄草、拟南芥、 水稻等物种,其中拟南芥有两个品种的数据,按要求选择TAIR数据集

> listDatasets(plant)
               dataset                               description      version
1     sbicolor_eg_gene              Sorghum bicolor genes (Sbi1)         Sbi1
2  bdistachyon_eg_gene Brachypodium distachyon genes (Brachy1.0)    Brachy1.0
3      alyrata_eg_gene         Arabidopsis lyrata genes (Araly1)       Araly1
4      oindica_eg_gene          Oryza indica genes (2005-01-BGI)  2005-01-BGI
5 ptrichocarpa_eg_gene   Populus trichocarpa genes (2004-12-JGI)  2004-12-JGI
6    vvinifera_eg_gene       Vitis vinifera genes (2007-12-IGGP) 2007-12-IGGP
7    athaliana_eg_gene        Arabidopsis thaliana genes (TAIR9)        TAIR9
8      osativa_eg_gene                 Oryza sativa genes (MSU6)         MSU6


####选择查询的数据库及其相关数据集

> plant = useDataset ("athaliana_eg_gene",mart=plant)
Checking attributes ... ok
Checking filters ... ok

####查询filter函数包含的属性,这里filter函数代表的输入(即已知信息)的属性,如该题我们已知的是NCBI Reference Sequence IDs 因此我们要选用地38行 refseq_dna属性

> filters = listFilters(plant)
> filters
38                        refseq_dna                          Refseq DNA ID(s)
39                    refseq_peptide                      Refseq protein ID(s)
40                  uniprot_sptrembl                    UniProtKB/TrEMBL ID(s)
41       uniprot_swissprot_accession          UniProtKB/SwissProt Accession(s)
42                           unigene                             Unigene ID(s)
43              uniprot_varsplice_id                 UniProtKB Varsplice ID(s)
44                  affy_ath1_121501        Affy Arabidopsis ATH1 121501 ID(s)
45                  transcript_count                       Transcript count >=
46                           biotype                                      Type
47                            source                                    Source
48                            status                             Status (gene)
49                 transcript_status                       Status (transcript)
50        biol_process_evidence_code                             Evidence code


####显示attributes函数的属性,这里attributes函数要选择需要查询的属性,如该题我们需要查询TAIR的AGI的基因编号,我们可以选择第43或45行的属性 tair_locus、 tair


> attributes = listAttributes(plant)
> attributes

42                    uniprot_swissprot_accession                   UniProtKB/SwissProt Accession
43                                     tair_locus                                      TAIR Locus
44                               tair_locus_model                                TAIR Locus Model
45                                           tair                                            TAIR

####输入属性与输出属性设定好之后,就可以进行查询了

> id = c("NM_113485", "NM_122343", "NM_113483", "NM_112989", "NM_202190", "NM_129559" ,"NM_102466", "NM_122306")
> getBM(attributes = c("refseq_dna","tair_locus","tair") , filters = "refseq_dna", values = id , mart = plant)
  refseq_dna tair_locus      tair
1  NM_102466  AT1G27040 AT1G27040
2  NM_112989  AT3G20970 AT3G20970
3  NM_113483  AT3G25820 AT3G25820
4  NM_113485  AT3G25830 AT3G25830
5  NM_122306  AT5G24010 AT5G24010
6  NM_122343  AT5G24350 AT5G24350
7  NM_129559  AT2G40010 AT2G40010
8  NM_202190  AT1G27040 AT1G27040
通过以上步骤,我们就过得 NCBI Reference Sequence IDs相关的 TAIR的AGI的基因编号。

 


NOTE:这个过程需要保持网络的通畅。

参考文献:http://bioconductor.org/packages/release/bioc/html/biomaRt.html

             《The biomaRt user's guide》

 


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jiuyizhizhu/archive/2010/06/05/5649834.aspx

  评论这张
 
阅读(5462)| 评论(4)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017