近年来大量公共生物数据能免费获取,一种能够方便、快速获取这些数据的方法很有必要。biomaRt 包是一个不错的选择,它不需要你熟悉数据库的框架或写复杂的SQL语句,就能够检索出统一格式的数据。biomaRt提供的几个主要数据库包括,Ensembl, HapHap, Uniprot。
https://bioconductor.org/packages/release/bioc/html/biomaRt.html
biomaRt 官方文档
官方文档写的非常详细,包括如何选择一个数据库、查看数据库包括的内容等等。其中最重要的函数为getBM, 包括几个主要的参数。当然,这只是一个检索的工具,仍需要结合其他分析才能最大化体现其优势。
getBM 几个重要参数 biomaRt 检索的几个例子 根据GO term 检索gene symbols利用biomaRt 获取人基因组ensemble_id 和gene_symbol
library(biomaRt)
listMarts()
ensembl <- useMart("ENSEMBL_MART_ENSEMBL")
datasets <- listDatasets(ensembl)
head(datasets)
ensembl <- useDataset("hsapiens_gene_ensembl",mart=ensembl) # ensembl 还是不要改的好
filters = listFilters(ensembl)
attributes = listAttributes(ensembl)
head(filters)
head(attributes)
ensembl.id <- getBM(c("ensembl_gene_id","uniprot_gn_symbol"),mart = ensembl)
dim(ensembl.id)
#[1] 68490 2
sum(ensembl.id$uniprot_gn_symbol == '') #很多gene_symbol 为空
#[1] 44658
length(grep('^MT',ensembl.id$uniprot_gn_symbol))
#[1] 107
geneId = data.frame(ensembl.id)
colnames(geneId) = c('id','name')
write.csv(geneId,"human_ensemble_symbol_id.csv")
glimpse of attributes
glimpse of filters
网友评论