2016-02-23 47 views
1

我有一些基因組位置,我想用biomaRt R軟件包根據Ensembl註釋這些位置(找到Ensembl基因ID,外顯子,內含子等特徵)。我的數據使用biomaRt註釋位置

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

回答

3

部分準備你的數據查詢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用於指定基因組位置中的基因,轉錄本和外顯子。 biomaRt提供更多信息,所以不要忘記使用listAttributes()找出所有。

+0

感謝Veerendra的幫助。但我也想知道這些位置位於哪個區域(Int​​ronic,exonic或Introgenic)。我找不到適當的屬性。在這方面你能幫助我嗎? – star

+1

正如我所提到的,使用'listAttributes()'來查找所有可用的信息來提取。我認爲你可以得到位於這些區域內的外顯子座標。如果沒有,您可以直接從ensembl ftp站點下載gtf文件並查看它。另一種選擇是使用GenomicFeatures庫。它允許你使用biomart建立自己的數據庫,希望從那裏你可以找到你需要的所有信息。 –

+1

我認爲你不會找到所有功能位置的直接註釋,所以你將不得不解決一些問題。爲此,我發現'GenomicFeatures'庫非常有用。你可以先看看它的手冊。 –