Error while using BMIQ normalisation on a methylumiSet
Entering edit mode
Last seen 16 months ago
United Kingdom

I am Poojitha Rajasekar, a micro-array data analyst. I have been trying to use BMIQ normalisation on a HM450K dataset. The BMIQ function in wateRmelon seems to work for the example data 'melon', but gives an error message when used with my data. My data is a methylumiSet similar to the example data 'melon'. I am not sure what is going wrong. Can anyone help me with this?

# works fine


# does not work with my data 'lumiMethy'

Error in `[.data.frame`(object@featureData@data, , ds) : 
  undefined columns selected

#Information provided in wateRmelon documentation

limma watermelon methylumi bmiq • 871 views
Entering edit mode
tgorri ▴ 10
Last seen 3.0 years ago

Hi Poojitha

Thank you for your interest in the package.

From what I can see this error is caused by how your methylumiset object is constructed. BMIQ by default requires the beta matrix and the probe designs (as a vector) to function correctly. In wateRmelon, we make the assumption that the probe design information is stored with the featureData (fData) slot of methylumiset objects, if such column is absent/mislabelled, this error will occur.

wateRmelon searches for the probe designs by simply searching for which column(s) have 'DESIGN' in the column names of fData. You can test this with the function fot(lumiMethy). 

If you do have the probe designs stored in the fData slot of your methylumiset object you should be able to rename the specific column to 'DESIGN' and try the function again. Otherwise you could try appending a copy of the Illumina450k manifest (sorting the rows to match your data first) to your methylumiset object.

Alternatively, if you still have access to the IDAT files you could read in the data using methylumIDAT or readEPIC (if you want beadcounts) and you will have a correctly formatted methylumiset that BMIQ should have no trouble processing.

Hope this was helpful,



You can change the fData column names simply using:

names(lumiMethy@featureData@data)<- c('col1','col2',...) # etc

And simply change the nth element that corresponds to the probe design to 'DESIGN'.

Entering edit mode

Thank you Tyler! That was very helpful. I got it to work after I created MethylumiSet from IDAT files.



Login before adding your answer.

Traffic: 256 users visited in the last hour
Help About
Access RSS

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6