从org.Xx.eg.db包中提取基因起止位置(本文已被历史淘汰,请使用TxDb包)

基因往往会有多个转录子版本,所以基因的起止位置并不一定。这里给出的示例代码用于演示如何从org.db包中提取出所有的基因范围。

library(org.Mm.eg.db)
##随机生成一些基因名
keys <- sample(keys(org.Mm.eg.db, keytype="ENTREZID"), 100)
genelist <- select(org.Mm.eg.db, keys=keys, cols="SYMBOL", keytype="ENTREZID")$SYMBOL
##查看数据库中的列名,以及key值名称
cols(org.Mm.eg.db)
keytypes(org.Mm.eg.db)
##获取基因转录子的起止点
location <- select(org.Mm.eg.db, keys=genelist, cols=c("CHR", "CHRLOC", "CHRLOCEND"), keytype="SYMBOL")
##或者间接方式
entrez <- select(org.Mm.eg.db, keys=genelist, cols=c("ENTREZID"), keytype="SYMBOL")$ENTREZID
location <- select(org.Mm.eg.db, keys=genelist, cols=c("SYMBOL", "CHR", "CHRLOC", "CHRLOCEND"), keytype="ENTREZID")

我们可以通过biomaRt来进行相类的操作

> library(biomaRt)
> mart <- useMart("ensembl", "mmusculus_gene_ensembl")
> loc <- getBM(c("mgi_symbol", "chromosome_name", "start_position", "end_position", "strand"), "mgi_symbol", genelist, mart)
> loc2 <- getBM(c("entrezgene", "chromosome_name", "start_position", "end_position", "strand"), "entrezgene", keys, mart)

Leave a Reply

  

  

  

%d 博主赞过: