使用 biomaRt 从基因列表中获取 Entrez 基因 ID
Entrez gene IDs from gene list using biomaRt
我正在尝试将基因名称列表转换为 entrez 基因 ID。
现在我有这个:
>library(biomaRt)
>ensembl <- useMart("ensembl", dataset = "hsapiens_gene_ensembl")
>mapping <- getBM(attributes=c('ensembl_gene_id','ensembl_transcript_id',
'entrezgene', 'hgnc_symbol'),mart = ensembl)
这将创建一个带有 entrez 基因 ID 和名称的 table。但是,如何根据我的基因列表过滤掉 ID?
这是基因名称列表的示例:
Gene names
这只是一个 excel 个文件,总共有几百个基因名称。
希望有人能帮助我!
数据
创建基因名称向量:
mygenes <- c("TNF", "IL6", "IL1B", "IL10", "CRP", "TGFB1", "CXCL8")
从 BioMart 检索信息:
library(biomaRt)
hsmart <- useMart(dataset = "hsapiens_gene_ensembl", biomart = "ensembl")
hsmart
# Object of class 'Mart':
# Using the ENSEMBL_MART_ENSEMBL BioMart database
# Using the hsapiens_gene_ensembl dataset
将基因名称映射到 Ensembl 基因 id、转录本 id、entreze id
为此,您不需要将整个数据库转换为相应ID 的table。使用 filter = "hgns_symbol"
作为 getBM()
调用的参数,将根据您作为 getBM()
函数的 values
参数提供的基因名称对数据库进行子集化:
mapping <- getBM(
attributes = c('ensembl_gene_id', 'ensembl_transcript_id', 'entrezgene', 'hgnc_symbol'),
filters = 'hgnc_symbol',
values = mygenes,
mart = hsmart
)
这为您的基因提供了 43 条记录:
mapping %>%
arrange(hgnc_symbol, ensembl_gene_id, ensembl_transcript_id, entrezgene)
# ensembl_gene_id ensembl_transcript_id entrezgene hgnc_symbol
#1 ENSG00000132693 ENST00000255030 1401 CRP
#2 ENSG00000132693 ENST00000368110 1401 CRP
#3 ENSG00000132693 ENST00000368111 1401 CRP
#4 ENSG00000132693 ENST00000368112 1401 CRP
#5 ENSG00000132693 ENST00000437342 1401 CRP
#
# ............................................................
#
#39 ENSG00000228321 ENST00000412275 7124 TNF
#40 ENSG00000228849 ENST00000420425 7124 TNF
#41 ENSG00000228978 ENST00000445232 7124 TNF
#42 ENSG00000230108 ENST00000443707 7124 TNF
#43 ENSG00000232810 ENST00000449264 7124 TNF
我正在尝试将基因名称列表转换为 entrez 基因 ID。
现在我有这个:
>library(biomaRt)
>ensembl <- useMart("ensembl", dataset = "hsapiens_gene_ensembl")
>mapping <- getBM(attributes=c('ensembl_gene_id','ensembl_transcript_id',
'entrezgene', 'hgnc_symbol'),mart = ensembl)
这将创建一个带有 entrez 基因 ID 和名称的 table。但是,如何根据我的基因列表过滤掉 ID?
这是基因名称列表的示例: Gene names
这只是一个 excel 个文件,总共有几百个基因名称。
希望有人能帮助我!
数据
创建基因名称向量:
mygenes <- c("TNF", "IL6", "IL1B", "IL10", "CRP", "TGFB1", "CXCL8")
从 BioMart 检索信息:
library(biomaRt)
hsmart <- useMart(dataset = "hsapiens_gene_ensembl", biomart = "ensembl")
hsmart
# Object of class 'Mart':
# Using the ENSEMBL_MART_ENSEMBL BioMart database
# Using the hsapiens_gene_ensembl dataset
将基因名称映射到 Ensembl 基因 id、转录本 id、entreze id
为此,您不需要将整个数据库转换为相应ID 的table。使用 filter = "hgns_symbol"
作为 getBM()
调用的参数,将根据您作为 getBM()
函数的 values
参数提供的基因名称对数据库进行子集化:
mapping <- getBM(
attributes = c('ensembl_gene_id', 'ensembl_transcript_id', 'entrezgene', 'hgnc_symbol'),
filters = 'hgnc_symbol',
values = mygenes,
mart = hsmart
)
这为您的基因提供了 43 条记录:
mapping %>%
arrange(hgnc_symbol, ensembl_gene_id, ensembl_transcript_id, entrezgene)
# ensembl_gene_id ensembl_transcript_id entrezgene hgnc_symbol
#1 ENSG00000132693 ENST00000255030 1401 CRP
#2 ENSG00000132693 ENST00000368110 1401 CRP
#3 ENSG00000132693 ENST00000368111 1401 CRP
#4 ENSG00000132693 ENST00000368112 1401 CRP
#5 ENSG00000132693 ENST00000437342 1401 CRP
#
# ............................................................
#
#39 ENSG00000228321 ENST00000412275 7124 TNF
#40 ENSG00000228849 ENST00000420425 7124 TNF
#41 ENSG00000228978 ENST00000445232 7124 TNF
#42 ENSG00000230108 ENST00000443707 7124 TNF
#43 ENSG00000232810 ENST00000449264 7124 TNF