R 将GENCODE ID转换为Ensembl-范围摘要实验

R 将GENCODE ID转换为Ensembl-范围摘要实验,r,annotations,biomart,R,Annotations,Biomart,我有一个表达式集矩阵,行名是我认为的GENCODE ID,例如 “ENSG0000000003.14” “ENSG0000000457.13” “ENSG0000000005.5”等。 我想把它们转换成gene_符号,但我不确定最好的方法是什么,特别是因为我认为是“.14”或“.13”的版本。我是否应该首先修剪点后的所有ID,然后使用biomaRt进行转换?如果是,最有效的方法是什么?有没有更好的方法来获取基因符号 非常感谢您的帮助如前所述,这些是ENSEMBL ID。首先,您需要检查表达式集对

我有一个表达式集矩阵,行名是我认为的GENCODE ID,例如 “ENSG0000000003.14” “ENSG0000000457.13” “ENSG0000000005.5”等。 我想把它们转换成gene_符号,但我不确定最好的方法是什么,特别是因为我认为是“.14”或“.13”的版本。我是否应该首先修剪点后的所有ID,然后使用biomaRt进行转换?如果是,最有效的方法是什么?有没有更好的方法来获取基因符号


非常感谢您的帮助

如前所述,这些是ENSEMBL ID。首先,您需要检查表达式集对象,并确定它用于注释的数据库。有时,ID可能映射到更新的注释数据库中的不同基因符号

无论如何,如果ID属于人类,您可以使用此代码非常轻松地获取基因符号

library(org.Hs.eg.db)       ## Annotation DB
library(AnnotationDbi)

ids <- c("ENSG00000000003", "ENSG00000000457","ENSG00000000005")
gene_symbol <- select(org.Hs.eg.db,keys = ids,columns = "SYMBOL",keytype = "ENSEMBL")
library(org.Hs.eg.db)##注释数据库
库(注释DBI)

ids谢谢你的帮助。我的问题是要去掉每个ensembl基因id末尾的.XX版本。我认为从一个有版本号(gencode基本注释)的ensembl基因id到一个基因符号会有一个更直接的方法。最后,我做了以下工作,似乎正在工作:

df$ensembl_gene_id <- gsub('\\..+$', '', df$ensembl_gene_id)

library(biomaRt)
mart <- useDataset("hsapiens_gene_ensembl", useMart("ensembl"))
genes <- df$ensembl_gene_id
symbol <- getBM(filters = "ensembl_gene_id",
                attributes = c("ensembl_gene_id","hgnc_symbol"),
                values = genes, 
                mart = mart)
df <- merge(x = symbol, 
              y = df, 
              by.x="ensembl_gene_id",
              by.y="ensembl_gene_id")

df$ensembl\u gene\u id也许,这就是你想要的:。也许,如果你把它贴在这里,你会得到更多的帮助:这些是ensembl ID,biomart可能是你最好的选择。这是前面的一个问题,您只需要相应地更改
属性
。biomart教程非常有用\感谢您的回复。我尝试了biomaRt,但由于Ensembl基因ID末尾的“点号”(例如“ENSG0000000003**.14**),它无法将其识别为Ensembl基因ID