繁体   English   中英

从ensembl_gene_id获取hgnc_symbol / gene_name

[英]Get hgnc_symbol/gene_name from ensembl_gene_id

我有以下代码(来自此处 ):

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加分并获得预期结果?

不是答案,而是评论时间太长; 如果认为不合适,请乐意删除。

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

Ensembl文档中获得有关稳定ID的信息

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

对于基因(即ENSG*形式的Ensembl标识符),当与基因链接的一组转录本发生变化时,版本号会增加。

实际上,该帖子是有关Biostars的帖子的重复: 问题:使用点后缀映射Ensembl基因ID 您应该看看其中讨论过的一些R解决方案。


后记

与其使用Biomart,不如使用Bioconductor中的某些现有注释包,通常更好/更快。 例如看一下

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM