Dear Bioconductor community,
based on the tutorial (http://www.bioconductor.org/packages/release/data/experiment/html/BeadArrayUseCases.html) regarding the analysis of BeadArray expression data, i tried to retrieve quality information about the Human v4 annotation package for Illumina [illuminaHumanv4.db], in order to perform one further filtering step based on probe annotation, in my illumina data which i have preprocessed, normalized with limma and performed some initial intensity filtering
class(filtered)
[1] "EList"
attr(,"package")
[1] "limma"
head(rownames(filtered))
[1] "ILMN_3241953" "ILMN_1755321" "ILMN_1698554" "ILMN_2061446" "ILMN_1676336"
[6] "ILMN_3237396"
My code is adapted from the vignette in the specific package (page 27):
library(illuminaHumanv4.db)
illuminaHumanv4()
ls("package:illuminaHumanv4.db")
ids <- rownames(filtered)
ids2 <- unlist(mget(ids,revmap(illuminaHumanv4ARRAYADDRESS), ifnotfound = NA))
qual <- unlist(mget(ids2,illuminaHumanv4PROBEQUALITY, ifnotfound = NA))
The main problem is that the following function:
ids2 <- unlist(mget(ids,revmap(illuminaHumanv4ARRAYADDRESS),ifnotfound = NA))
returns NAs for all my probes and thus i could not proceed to get the quality information i need. Any ideas or suggestions ??
Dear Mike,
i used your modification and everything worked !! I was a bit confused with the tutorial and i wrongly used the former unecessary function. Furthermore, i would like to mention one other think i saw in the output of "qual":
some probes have a mark like this: ILMN_1708510 ILMN_1784478
"Perfect****" "Good****
This has some specific meaning or value regarding the probe quality info ?
Also
table(qual)
Bad Good Good*** Good**** No match Perfect Perfect***
2343 435 4 169 15 11568 349
Perfect****
833