biomaRt

基因ID多形式转换

Posted by CHY on September 4, 2020

biomaRt 包学习,在做转录组分析中常见的就是 ID 转换,最基本的 gene id,各个数据库又存在不同的 ID,如 Entrez ID 等等。
biomaRt 是基因所有类型转换工具。

基本操作

## 第一步:提前设置想要使用的数据库
useMart(biomart, dataset, host="www.ensembl.org",
    path="/biomart/martservice", port=80, archive=FALSE, ssl.verifypeer =
    TRUE, ensemblRedirect = NULL, version, verbose = FALSE)
# Biomart:指定连接的BioMart数据库名称 listMarts()查看存在哪些数据库
# dataset:进一步选择上一个数据库里面的子数据集 listDatasets()函数查看

mart = useMart(’ensembl’)  ###制定选择的数据库
listDatasets(mart)  ###查看所有的子集
searchDatasets(mart = ensembl, pattern = "hsapiens")  ####查找人类的数据库

## 得到检索结果
 getBM(attributes, filters = "", values = "", mart, curl = NULL,
    checkFilters = TRUE, verbose = FALSE, uniqueRows = TRUE, bmHeader = FALSE,
    quote = "\"")

必学 R 包之 biomaRt

biomaRt包实现不同物种之间同源基因转换

listMarts() # 查看数据库
listDatasets(human)  # 查询当前数据库所含的基因组注释


convertMouseGeneList <- function(x){
  require("biomaRt")
  human <- useMart('ensembl',dataset = "hsapiens_gene_ensembl")
  mouse <- useMart('ensembl',dataset = "mmusculus_gene_ensembl")

  genesV2 <- getLDS(attributes = c("mgi_symbol"),
                                  filters = "mgi_symbol",
                                  values = x, mart = mouse,
                                  attributesL = c("hgnc_symbol"),
                                  martL = human, uniqueRows = T)
  humanx <- unique(genesV2[,2])
  print(head(humanx))
  return(humanx)
}