I am getting a strange error converting Gene Symbols to Entrez ID. Here is my code:
testData = read.delim("IL_CellVar.txt",head=T,row.names = 2)
testData[1:5,1:3]
# ClustID Genes.Symbol ChrLoc
# NM_001034168.1 4 Ank2 chrNA:-1--1
# NM_013795.4 4 Atp5l chrNA:-1--1
# NM_018770 4 Igsf4a chrNA:-1--1
# NM_146150.2 4 Nrd1 chrNA:-1--1
# NM_134065.3 4 Epdr1 chrNA:-1--1
clustNum = 5
filteredClust = testData[testData$ClustID == clustNum,]
any(is.na(filteredClust$Genes.Symbol))
# [1] FALSE
selectedEntrezIds <- unlist(mget(filteredClust$Genes.Symbol,org.Mm.egSYMBOL2EG))
# Error in unlist(mget(filteredClust$Genes.Symbol, org.Mm.egSYMBOL2EG)) :
# error in evaluating the argument 'x' in selecting a method for function
# 'unlist': Error in #.checkKeysAreWellFormed(keys) :
# keys must be supplied in a character vector with no NAs
Another approach fails too:
selectedEntrezIds = select(org.Mm.eg.db,filteredClust$Genes.Symbol, "ENTREZID")
# Error in .select(x, keys, columns, keytype = extraArgs[["kt"]], jointype = jointype) :
# 'keys' must be a character vector
Just for the sake or error, removing 'NA', doesn't help:
a <- filteredClust$Genes.Symbol[!is.na(filteredClust$Genes.Symbol)]
selectedEntrezIds <- unlist(mget(a,org.Mm.egSYMBOL2EG))
# Error in unlist(mget(a, org.Mm.egSYMBOL2EG)) :
# error in evaluating the argument 'x' in selecting a method for function
# 'unlist': Error in # .checkKeysAreWellFormed(keys) :
# keys must be supplied in a character vector with no NAs
I am not sure why I am getting this error as the master file from which gene symbols were extracted for testData gives no problem while converting to EntrezID. Would apprecite help on this.