Error while converting SYMBOLS to ENTREZID - Bioconductor
1
0
Entering edit mode
7.2 years ago
Bade ▴ 40

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

R Bioconductor Illumina Annotate • 6.0k views
ADD COMMENT
0
Entering edit mode

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.

ADD REPLY
0
Entering edit mode

Just guessing, but I think the RefSeq accessions are actually rownames.  

ADD REPLY
0
Entering edit mode

Damn! You are right. 

ADD REPLY
2
Entering edit mode
7.2 years ago
poisonAlien ★ 3.1k

answer is in the error itself. keys must be character vector. Try this,

selectedEntrezIds <- unlist(mget(as.character(a),org.Mm.egSYMBOL2EG))
ADD COMMENT
0
Entering edit mode

This is the answer, so why not drop it as an answer below, just for posterity sake.

ADD REPLY

Login before adding your answer.

Traffic: 3129 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6