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,]
anyis.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 appreciate help on this.
Thanks
AK
Is it just me or there really is a problem beginning right at the 4th line of code? You are assigning 5 to clustNum. Then you are checking if testData$ClustID is equal to clustNum which is 5. But testData$ClustID are NCBI accessions. This is not making any sense to me.
Just guessing, but I think the RefSeq accessions are actually rownames.
Damn! You are right.