使用biomaRt注释位置

sta*_*tar 2 r bioinformatics bioconductor biomart

我有一些基因组位置,我想使用biomaRt R包在Ensembl的基础上注释这些位置(查找Ensembl基因ID,外显子,内含子等特征)。

我数据的一部分

  chr       start        stop     strand
chr10   100572320   100572373          -   
chr10   100572649   100572658          +   
Run Code Online (Sandbox Code Playgroud)

Vee*_*kar 5

准备数据以查询生物基质

样本数据

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
Run Code Online (Sandbox Code Playgroud)

然后使用生物基质

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)
Run Code Online (Sandbox Code Playgroud)

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