使用biomaRt注释位置

时间:2016-02-23 17:24:30

标签: r bioinformatics bioconductor biomart

我有一些基因组位置,我想使用biomaRt R包基于Ensembl注释这些位置(找到Ensembl基因ID,像exonic,intronic等的特征)。

我的部分资料

  chr       start        stop     strand
chr10   100572320   100572373          -   
chr10   100572649   100572658          +   

1 个答案:

答案 0 :(得分:5)

准备数据以查询biomaRt

示例数据

data = data.frame(chr = "chr17", start = 63973115, end = 64437414)
data$query = paste(gsub("chr",'',data$chr),data$start,data$end, sep = ":")

#> data
#    chr    start      end                query
#1 chr17 63973115 64437414 17:63973115:64437414

然后使用biomaRt

library(biomaRt)

# select your dataset of interest accordingly. 
# I have used human specific dataset identifier
# you can see all available datasets using listDatasets(mart),
# after setting your mart of interest

mart = useMart(
         'ENSEMBL_MART_ENSEMBL', 
          host = 'ensembl.org', 
          dataset = 'hsapiens_gene_ensembl')

# do listAttributes(mart) to list all information you can extract using biomaRt

out = getBM(
        attributes = c('ensembl_gene_id', 'external_gene_name', 'gene_biotype', 
                       'ensembl_transcript_id', 'ensembl_exon_id'), 
        filters = 'chromosomal_region', 
        values = data$query, 
        mart = mart)

这将为您提供给定基因组位置中存在的基因,转录本和外显子的ensembl ID。 biomaRt提供了更多信息,所以不要忘记使用listAttributes()来查找所有信息。