[英]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标识符关联的不同版本号。
在重新注释之间重新分配稳定标识符时,我们可以选择增加分配给稳定标识符的版本号。 我们这样做是为了指示实体中的潜在变化。
对于基因(即ENSG*
形式的Ensembl标识符),当与基因链接的一组转录本发生变化时,版本号会增加。
实际上,该帖子是有关Biostars的帖子的重复: 问题:使用点后缀映射Ensembl基因ID ; 您应该看看其中讨论过的一些R解决方案。
与其使用Biomart,不如使用Bioconductor中的某些现有注释包,通常更好/更快。 例如看一下
EnsDb.Hsapiens.v86
org.Hs.eg.db
bitr
宇的bitr
功能。 它曾经是一个独立的程序包,但被同一作者吸收到clusterProfiler
,并提供了“通用生物ID转换器”功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.