I'm trying to read in some idat files and a bgx file using the illuminaio package. The data files can be found here: http://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE54839
When I try to execute the following command:
read.idat(idatFilePaths, bgxFilePath)
I get the following error message:
Reading manifest file /tmp/GSE54839/GPL6947_HumanHT-12_V3_0_R1_11283641_A.bgx ... Done
/tmp/GSE54839/GSM1324893_4746900020_G_Grn.idat ... Done
Error in tmp$Quants[, "IllumicodeBinData"] : subscript out of bounds
Calls: normalizeLimma -> read.idat -> match
Below is my sessionInfo():
R version 3.2.1 (2015-06-18)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 14.04.2 LTS
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats4 parallel methods stats graphics grDevices utils
[8] datasets base
other attached packages:
[1] illuminaio_0.10.0 magrittr_1.5 readr_0.1.1
[4] dplyr_0.4.2 GEOquery_2.34.0 oligo_1.32.0
[7] Biostrings_2.36.1 XVector_0.8.0 IRanges_2.2.5
[10] S4Vectors_0.6.2 Biobase_2.28.0 oligoClasses_1.30.0
[13] BiocGenerics_0.14.0 limma_3.24.14
loaded via a namespace (and not attached):
[1] Rcpp_0.12.0 affxparser_1.40.0 GenomicRanges_1.20.5
[4] splines_3.2.1 zlibbioc_1.14.0 bit_1.1-12
[7] R6_2.1.0 foreach_1.4.2 GenomeInfoDb_1.4.1
[10] tools_3.2.1 base64_1.1 ff_2.2-13
[13] DBI_0.3.1 iterators_1.0.7 assertthat_0.1
[16] preprocessCore_1.30.0 affyio_1.36.0 bitops_1.0-6
[19] codetools_0.2-14 RCurl_1.95-4.7 RSQLite_1.0.0
[22] BiocInstaller_1.18.4 XML_3.98-1.3
Any ideas on what I can try?
Normally it's a good idea to ask a new question here, rather than adding an 'answer' to an existing one. People are more likely to notice a new question with no answers, than bumping something old.
Looking at this, the data are unusual, but it's basically the same problem as was identified before. The idat files you have downloaded are not in the format one would normally expect to see from an expression array, but rather they are structured like those from a genotyping array. illuminaio is able to read them fine e.g.
You can check the
idat
object and see it's a list with sensible entries (at least sensible for some Illumina platforms). You'll notice there is an entry called 'nSNPsRead' which you wouldn't expect for an expression array.The 'issue' here lies with limma, which looks for the expected structure and then fails when it can't find it. The mean and standard deviation for each bead type is still present in the
Quants
matrix, so I would suggestion either convincing the limma authors to add code to handle this really weird case, or work out how you can convert theQuants
matrix into a text file format that limma can handle directly.Dear smith
thank your reply. after reading by readIDAT what should i do. illuminaio reads only single sample. what after?