搜索
查看: 3713|回复: 2

[software] biomaRt

[复制链接]

64

主题

138

帖子

681

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
681
发表于 2017-7-3 09:04:16 | 显示全部楼层 |阅读模式
biomaRt这个包之前用过做ID转换,从基因到protein,是个很使用的包。也可以注释。
这些包都会定期维护更新,如果发现没有哪个函数,就去查参考文档,可能是由于近期更新。(Y叔教我的事)

[AppleScript] 纯文本查看 复制代码
## Dependencies

This document has the following dependencies:

```{r dependencies, warning=FALSE, message=FALSE}
library(biomaRt)
```

Use the following commands to install these packages in R.

```{r biocLite, eval=FALSE}
source("http://www.bioconductor.org/biocLite.R")
biocLite(c("biomaRt"))
```


## Overview


我们在计算生物学中使用大量不同的数据库。 “Biomart”是生物数据库的灵活界面。 这个想法是,任何一种资源都可以设置Biomart,然后用户可以使用一组工具访问数据来访问多个数据库。

`r Biocpkg(“biomaRt”)`包实现了这样一个接口。

支持Biomart界面的数据库包括Ensembl(来自EBI),HapMap和UniProt。



##指定一个mart和一个数据集

要使用`r Biocpkg(“biomaRt”)`您需要数据库中的一个mart(数据库)和一个数据集。 这有点类似于`r Biocpkg(“AnnotationHub”)`。

[AppleScript] 纯文本查看 复制代码
```{r listMarts}
head(listMarts())
mart <- useMart("ensembl")
mart
head(listDatasets(mart))
ensembl <- useDataset("hsapiens_gene_ensembl", mart)
ensembl
```


您可以看到不同的数据集由物种组织; 我们选择*Homo sapiens*。

您可以通过互联网访问此数据库。 有时您需要指定一个代理服务器才能工作; 详细信息请参见“biocpkg(”biomaRt“)”vignette; 我从来没有遇到过

建立一个query

在``BioBOX(“biomaRt”)``中有一个主要功能````````getBM()`(get Biomart)。 此函数根据查询从Biomart中检索数据。 因此,了解如何构建查询非常重要。

Biomart查询由3个属性组成:"attributes", "filters" and "values"。 让我们举个例子。 让我们说我们要注释一个Affymetrix基因表达微阵列。 我们在R中有Affymetrix探针,我们要检索基因名称。 在这种情况下,基因名称是"attributes",Affymetrix探针ids是"Filter"。 最后,"values"是"filter"的实际值,即。 ids。

例子形式如下:
[AppleScript] 纯文本查看 复制代码
```{r getBMex}
values <- c("202763_at","209310_s_at","207500_at")
getBM(attributes = c("ensembl_gene_id", "affy_hg_u133_plus_2"),
      filters = "affy_hg_u133_plus_2", values = values, mart = ensembl)
```

 
```{r listAttributes}
attributes <- listAttributes(ensembl)
head(attributes)
nrow(attributes)
filters <- listFilters(ensembl)
head(filters)
nrow(filters)
```



许多“属性”是不同生物体中相应基因的基因名称。 所有这些条目使得有一个很好的想法是什么在那里。

在Biomart中,数据被组织成页面(如果你知道数据库,这是一个非标准的设计)。 每个页面都包含一个属性子集。 您可以通过使用页面获得更易于理解的属性集。
[AppleScript] 纯文本查看 复制代码
```{r listPages}
attributePages(ensembl)
attributes <- listAttributes(ensembl, page = "feature_page")
head(attributes)
nrow(attributes)
```




我上面解释的的所有同系物都是`homologs`同系物页面的一部分。

`attribute` 可以是多个页面的一部分。事实证明,`getBM()`只能从一个页面返回一个使用`attributes`的查询。如果要从多个页面组合`attributes`,则需要执行多个查询,然后合并它们。

使用`getBM()'的另一个方面是有时返回`data.frame`包含重复的行。这是数据库的内部结构以及查询的解释结果。

`r Biocpkg(“biomaRt”)`vignette是非常有用和可读的,包含很多示例任务,可以激发未来的使用。作为帮助,我在这里列出了一些:

1.用相应基因的HUGO符号和染色体位点注明一组Affymetrix标识符。
2.使用GO注释注释一组EntrezGene标识符。
3.检索位于染色体17,20或Y上的基因的所有HUGO基因符号,并与以下GO术语相关联:“GO:0051330”,“GO:0000080”,“GO:0000114”,“GO :0000082" 。
4.用INTERPRO协议域标识符注释一组idenfiers。
5.选择hgu133plus2芯片上的所有Affymetrix标识符和位于第16号染色体上的基因的Ensembl基因标识符,介于110000至1250000之间。
6.检索具有与其相关联的“MAP激酶活性”GO基因的基因的所有entrzgene标识符和HUGO基因符号。
7.给定一组EntrezGene标识符,检索100bp上游启动子序列。
8.检索全部5 位于染色体3位于185514033和185535839之间的所有基因的UTR序列
9.检索给定的EntrezGene标识符列表的蛋白质序列。
10.检索位于148350和148612位于人类8号染色体上的已知SNP。
11.鉴于人类基因TP53,检索该基因的人染色体位置,并检索其染色体位置和RefSeq id,即鼠中的同源物。

## SessionInfo

回复

使用道具 举报

2

主题

16

帖子

155

积分

注册会员

Rank: 2

积分
155
发表于 2017-7-6 19:04:00 | 显示全部楼层
编排有点儿乱。。
回复 支持 反对

使用道具 举报

64

主题

138

帖子

681

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
681
 楼主| 发表于 2017-7-6 22:19:23 | 显示全部楼层
hwoihann 发表于 2017-7-6 19:04
编排有点儿乱。。

群主说这个问题了,因为从markdown直接粘的,下次改
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树 ( 粤ICP备15016384号  

GMT+8, 2019-11-20 13:26 , Processed in 0.028109 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.