从ensembl_gene_id获取hgnc_symbol / gene_name

问题描述 投票:1回答:1

我有这个代码(来自here):

library('biomaRt')
mart <- useDataset("hsapiens_gene_ensembl", useMart("ensembl"))
genes <- rownames(res)
G_list <- getBM(filters= "ensembl_gene_id", attributes=c("ensembl_gene_id","entrezgene", "description","hgnc_symbol"),values=genes,mart= mart)

但是当我检查G_list时:它是空的。

我理解为什么:

这里有一些基因ensembl_gene_id的例子:

"ENSG00000260727.1", "ENSG00000277521.1", "ENSG00000116514.16"

如果我将此ID提供给getBM(),则不返回任何内容。

但是,如果我删除点之后的数字和这样的点:

"ENSG00000260727", "ENSG00000277521", "ENSG00000116514"

我得到了预期的结果。

有没有办法给gene_ID带点并获得预期的结果?

r bioinformatics bioconductor biomart
1个回答
2
投票

评论不是答案,但有点太长;如果认为不合适,很乐意删除。

简而言之,是的,您需要删除Ensembl基因名称的“点数”部分。这些数字表示与稳定的Ensembl标识符相关联的不同版本号。

来自the Ensembl documentation on stable IDs

在重新注释之间重新分配稳定标识符时,我们可以选择增加分配有稳定标识符的版本号。我们这样做是为了表明实体的潜在变化。

对于基因(即形式为ENSG*的Ensembl标识符),当与基因连锁的转录物组改变时,版本号递增。

这篇文章实际上是关于Biostars的帖子的重复:Question: Mapping Ensembl Gene IDs with dot suffix;你应该看看那里讨论的一些R解决方案。


后记

而不是使用Biomart,使用一些现有的annotation packages from Bioconductor通常更好/更快。例如,看一看

© www.soinside.com 2019 - 2024. All rights reserved.