2017-07-03 55 views
0

我與rownames是什麼,我認爲一個表達式設置的矩陣是在例如 「ENSG00000000003.14」 「ENSG00000000457.13」 「ENSG00000000005.5的格式的GENCODE ID 「 等等。 我想將它們轉換爲gene_symbol,但我不確定這樣做的最佳方式,特別是因爲我認爲是該版本的「.14」或「.13」。我應該先修剪所有ID,然後使用biomaRt進行轉換嗎?如果是這樣,那麼最有效的方法是什麼?有沒有更好的方法到達gene_symbol?轉換GENCODE ID來ENSEMBL - 遠程SummarizedExperiment

非常感謝您的幫助

+2

也許,這就是你正在尋找:https://stackoverflow.com/questions/28543517/how-can-i-convert-ensembl -id到基因符號在-R。也許,如果你在這裏發佈它,你會得到更多的幫助:https://www.biostars.org/ –

+0

這些是ensembl id和biomart可能是你最好的選擇。這是前一個問題,你只需要相應地改變'attributes'。生物智能教程非常有用\ – emilliman5

+0

感謝您的回覆。我嘗試過biomaRt,但由於ensembl基因ID末尾的「點號」(例如「ENSG00000000003 **。14 **」),它不會將其識別爲Ensembl基因ID –

回答

0

如前所述,這些是ENSEMBL 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") 

您可以org.Hs.eg.db嘗試或確切的DB你的表情設定用途(如果該信息可用)。

0

感謝您的幫助。我的問題是在每個ensembl基因ID末尾擺脫版本.XX。我認爲從具有版本號(gencode basic annotation)的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")