Entering edit mode
Hi
I am reading 1000 EPIC samples using minfi's read.metharray.exp() function as follows:
RGset <- read.metharray.exp(base=NULL, targets=targets, verbose=TRUE, extended=TRUE)
The error I receive at the end of this process is:
... [read.metharray] Creating data matrices ... Error in read.metharray(files, extended = extended, verbose = verbose, : [read.metharray] Trying to parse IDAT files with different array size but seemingly all of the same type. You can force this by 'force=TRUE', see the man page ?read.metharray
If I use the force=TRUE flag it reads the idats OK. I was wondering why I am receiving this error and if it may indicate that there are problems with the raw data
I have used the readIDAT function to determine the number of probes in my idats and they are within the permissible range: 320 idats have 1051815 probes and 1680 idats have 1051943 probes
Thanks
-Stewart
So, Wondering, what is the conclusion, is it ok to use force=TRUE, in the above-mentioned case?
I am too struggling with this. is it ok to use force=TRUE?
I would expect the discussion above to be pretty clear: There are different types of IDAT files around for the EPIC array because Illumina released a couple of different DMAP files (used to scan the microarrays) and these DMAP files produces IDAT files with almost the same - but not exactly the same - number of probes. Note that the IDAT files themselves don't contain a clear ID for what array type they are, so in minfi we make an educated guess based on the number of probes.
In case you read a set of IDAT files where some of the files have different number of probes, the default behavior is for minfi to throw an error. You can override the error by setting
force=TRUE
which will create an R object containing all the probes which are present on all of the arrays (which is usually the smaller set). This argument is partly needed because (as I say above) the array type is not encoded in the IDAT file so we are doing some degree of educated guess work. Also,force=TRUE
overrides some checks and I think it is possible to merge a 27k array with an EPIC array which would probably NOT be what you would ever want to do.Does this answer the questions?
Thanks for response. it was helpful