It does appear that AJUBA is not represented on the Affymetrix Human Genome U133A Array. Furthermore, the code example you provide is incorrect. if you inspect xx
you'll notice the names of the list elements are the probe IDs, which will always return NA/NULL
. Here is the code I used to determine if AJUBA was represented on the array. Lastly, it looks like AJUBA is on the U133 plus 2 array.
library(org.Hs.eg.db)
library(hgu133a.db)
library(hgu133plus2.db)
x <- hgu133aENSEMBL
mapped_genes <- mappedkeys(x)
xx <- as.list(x[mapped_genes])
# $`1053_at`
# [1] "ENSG00000049541"
#
# $`117_at`
# [1] "ENSG00000173110"
#
# $`121_at`
# [1] "ENSG00000125618"
#
# $`1255_g_at`
# [1] "ENSG00000048545"
#
# $`1316_at`
# [1] "ENSG00000126351"
#First get common identifiers for AJUBA
ajuba <- AnnotationDbi::select(org.Hs.eg.db, "AJUBA", columns=c("REFSEQ","ENTREZID","SYMBOL","ENSEMBL","ALIAS"), keytype = "SYMBOL")
head(ajuba)
# SYMBOL REFSEQ ENTREZID ENSEMBL ALIAS
# 1 AJUBA NM_001289097 84962 ENSG00000129474 JUB
# 2 AJUBA NM_001289097 84962 ENSG00000129474 AJUBA
# 3 AJUBA NM_032876 84962 ENSG00000129474 JUB
# 4 AJUBA NM_032876 84962 ENSG00000129474 AJUBA
# 5 AJUBA NM_198086 84962 ENSG00000129474 JUB
# 6 AJUBA NM_198086 84962 ENSG00000129474 AJUBA
#Loop over each set of identifiers and query the array annotation db.
#I had to warp the select in a tryCatch because the ENTREZID was throwing an error because the it is not in the array
rst <- lapply(colnames(ajuba), function(x){
tryCatch(select(hgu133a.db, unique(ajuba[, x]), columns = c("PROBEID"), keytype = x),
error=function(e) return("error"))
})
sapply(rst, NROW) #check oh many rows are returned from querying each column (not promising)
# [1] 0 0 1 0 0
#To make sure I didn't miss something, I also search the Affy Human U133 plus 2 array.
rst2 <- lapply(colnames(ajuba), function(x){
tryCatch(select(hgu133plus2.db, unique(ajuba[, x]), columns = c("PROBEID"), keytype = x),
error=function(e) return("error")) ##I had to warp the select in a tryCatch because the ENTREZID was throwing an error
})
sapply(rst2, NROW) #Looks like there are probes that map to AJUBA.
# [1] 4 24 4 4 8
# lapply(rst2, head)
# [[1]]
# SYMBOL PROBEID
# 1 AJUBA 1553764_a_at
# 2 AJUBA 225806_at
# 3 AJUBA 225807_at
# 4 AJUBA 243446_at
#
# [[2]]
# REFSEQ PROBEID
# 1 NM_001289097 1553764_a_at
# 2 NM_001289097 225806_at
# 3 NM_001289097 225807_at
# 4 NM_001289097 243446_at
# 5 NM_032876 1553764_a_at
# 6 NM_032876 225806_at
#
# [[3]]
# ENTREZID PROBEID
# 1 84962 1553764_a_at
# 2 84962 225806_at
# 3 84962 225807_at
# 4 84962 243446_at
#
# [[4]]
# ENSEMBL PROBEID
# 1 ENSG00000129474 1553764_a_at
# 2 ENSG00000129474 225806_at
# 3 ENSG00000129474 225807_at
# 4 ENSG00000129474 243446_at
#
# [[5]]
# ALIAS PROBEID
# 1 JUB 1553764_a_at
# 2 JUB 225806_at
# 3 JUB 225807_at
# 4 JUB 243446_at
# 5 AJUBA 1553764_a_at
# 6 AJUBA 225806_at
I found another U133 plus 2 array dataset that satisfies my need. Your answer really help!