When running illuminaio's readIDAT function on certain IDAT files, it fails with this error:
Error in data.frame(MeanBinData = c(3514.35571289062, 1911.96472167969, :
arguments imply differing number of rows: 568460, 57647
This error shows up in only a quarter of ~1400 IDATs I am working with, from a specific batch. So my hunch is that there is something wrong with the IDATs themselves, rather than the readIDAT function. But I'm unfamiliar with the IDAT format specs. I can't find anything helpful online. Can someone here share any insight?
The numbers "568460, 57647" in the error message are shared across these IDATs. These are all from Illumina's HumanHap550 SNP array.
Update: The subset of IDATs that Illuminaio fails to parse are from the older HumanHap550 v1 BeadChip, while the ones that work are from HumanHap550 v3. The firmware/software that generated those older IDATs are also possibly obsolete.
Hi Cyriac, I'm one of the illuminaio authors. Sorry for not noticing this earlier. If you'd like me to look into this further, could you provide me with an IDAT that fails and one that doesn't and I'll try to diagnose the problem.
Thanks Mike. I'll send you a PM with a link containing a good/bad IDAT. While debugging, I discovered that the IDATs that Illuminaio fails to parse, are from an older HumanHap550 v1 BeadChip. While the IDATs that work fine, are from the newer HumanHap550 v3.
often adding a 'sep="\t"' argument to your read function will sidestep these errors in R. (assuming the files are tab-delimited)
The IDAT is a proprietary Illumina microarray format, similar in spirit to .CEL files, so a
sep="\t"
won't do the trick.