How to analyze Infinium Mouse Methylation BeadChip array data?
1
2
Entering edit mode
3.5 years ago
julia_geh ▴ 20

Hi everyone,

I am new to methylation data analysis and was now asked to analyze data (IDAT files) that was generated with the Infinium Mouse Methylation BeadChip Array. Because this array is quite new I cannot find best practices and a lot of packages for methylation data do not support mouse data in their standard workflow yet. I already tried minfi (R) and ENmix (R) but had problems loading the mouse manifest file. I also tried methylsuite (python) where I can load the data and the manifest but I get an error in the methylprep preprocess step. So, I cannot perform background correction here.

Is there anyone who has experience in analyzing Infinium Mouse Methylation BeadChip Array and who could provide some advice? This would help a lot!

Thanks in advance!

Methylation Experience Illumina Mouse • 5.6k views
ADD COMMENT
0
Entering edit mode

Hi julia_geh. I am the maintainer for methylsuite. I'm happy to debug whatever might have been wrong 5 weeks ago with processing the mouse array IDATs. Please note that I just pushed an update that fixes some mouse bugs last week (v1.5.2) here: https://pypi.org/project/methylprep/

Hopefully that resolves your issue. But feel free to contact me (or post a github issue) if you find other errors.

ADD REPLY
0
Entering edit mode

Have you tried later versions of methylsuite / methylprep (python) with the mouse arrays? Early versions of the software was based on earlier manifests from the manufacturer that contained errors, but methylprep versions > 1.5.x should run.

ADD REPLY
0
Entering edit mode

Hi.

I am having problem in the following processing command...

beta=mpreprocess(rgSet, nCores=1)

"NA samples with percentage of low quality CpG value greater than 0.05 or bisulfite intensity less than NaN NA CpGs with percentage of low quality value greater than 0.05 Ploting qc_sample.jpg ...Error in plot.window(...) : need finite 'ylim' values In addition: Warning messages: 1: In min(x) : no non-missing arguments to min; returning Inf 2: In max(x) : no non-missing arguments to max; returning -Inf"

I'm working on the following demo datasheet.. https://webdata.illumina.com/downloads/productfiles/mouse-methylation/infinium-mouse-methylation-demo-dataset.zip

with the manifest... https://jp.support.illumina.com/downloads/infinium-mouse-methylation-gene-probe-annotation.html (Note: replaced all "2" by "II" and all "1" by "I" in the Infinium_Design_Type column)

Does anyone have any idea about the error occurred? Where I can make changes to the 'ylim'?

ADD REPLY
0
Entering edit mode

Did you get this figured out? I am having the same error in R.

ADD REPLY
0
Entering edit mode
3.5 years ago
MagH ▴ 10

Hi!

I played around with the Illumina mouse demo data and ENmix. The following code worked for me and you should end up with normalized beta values for subsequent limma analysis (or DMR analysis folowing the ENmix vignette).

#setwd()

#download the Infinium_Mouse_Methylation_v1.0_A1_GS_Manifest_File.csv file from Illumina HP to working directory (= directory with idats and .csv)

library(ENmix)

library(geneplotter)

library(limma)

mf="Infinium_Mouse_Methylation_v1.0_A1_GS_Manifest_File.csv"

rgSet <- readidat(path = getwd(),manifestfile=mf,recursive = TRUE)

######Raw data QC and inspection

plotCtrl(rgSet)

mraw <- getmeth(rgSet)

multifreqpoly(assays(mraw)$Meth+assays(mraw)$Unmeth,xlab="Total intensity")

beta_raw<-getB(mraw)

anno=rowData(mraw)

beta1=beta_raw[anno$Infinium_Design_Type=="I",]

beta2=beta_raw[anno$Infinium_Design_Type=="II",]

multidensity(beta_raw,main="Multidensity")

multifreqpoly(beta_raw,main="Multifreqpoly",xlab="Beta value")

multidensity(beta1,main="Multidensity: Infinium I")

multifreqpoly(beta1,main="Multifreqpoly: Infinium I",xlab="Beta value")

multidensity(beta2,main="Multidensity: Infinium II")

multifreqpoly(beta2,main="Multifreqpoly: Infinium II",xlab="Beta value")

head(beta_raw,15)

######Process data

beta=mpreprocess(rgSet, nCores=6)

beta11=beta[anno$Infinium_Design_Type=="I",]

beta22=beta[anno$Infinium_Design_Type=="II",]

multidensity(beta,main="Multidensity")

multifreqpoly(beta,main="Multifreqpoly",xlab="Beta value")

multidensity(beta11,main="Multidensity: Infinium I")

multifreqpoly(beta11,main="Multifreqpoly: Infinium I",xlab="Beta value")

multidensity(beta22,main="Multidensity: Infinium II")

multifreqpoly(beta22,main="Multifreqpoly: Infinium II",xlab="Beta value")

head(beta,15)

######Continue with limma or DMR analysis

Hope that helps :)

ADD COMMENT
0
Entering edit mode

I'm having trouble with this also. I downloaded the manifest from

https://support.illumina.com/content/dam/illumina-support/documents/downloads/productfiles/mouse-methylation/infinium-mouse-methylation-manifest-file-csv.zip

and downloaded the demo data from

https://webdata.illumina.com/downloads/productfiles/mouse-methylation/infinium-mouse-methylation-demo-dataset.zip

I unzipped both into the same directory and ran this:

mf="infinium-mouse-methylation-manifest-file.csv"
rgSet <- readidat(path=getwd(),manifestfile=mf,recursive=TRUE)
[readidat] Found 32 files with suffix _Grn.idat
[readidat] Found 32 files with suffix _Red.idat
Error in `$<-.data.frame`(`*tmp*`, "Infinium_Design_Type", value = "A") : 
  replacement has 1 row, data has 0
In addition: There were 32 warnings (use warnings() to see them)
> warnings()
    Warning messages:
    1: In readChar(con, nchars = n) : truncating string with embedded nuls
    2: In readChar(con, nchars = n) : truncating string with embedded nuls

Do you have a link for the manifest you used? The one I found on the Illumina website has a different name. Seems strange to me that the demo data fails. Thanks!

ADD REPLY
1
Entering edit mode

ok, open the .csv file and replace all "2" by "II" and all "1" by "I" in the Infinium_Design_Type column.

ADD REPLY
0
Entering edit mode

Thanks! I just got Illumina to send me the old version so I could compare, and discovered this change (which isn't in the release notes for the March 2021 version of the manifest). I replaced the values and it loads successfully.

One more change I've run into that causes downstream problems with ENmix, if anyone else is trying to troubleshoot: the BSCII probes were changed, and the new colors aren't handled in the QCinfo() function. This leads to missing summary values for the BSCII probes and then everything goes sideways.

ADD REPLY
0
Entering edit mode

I had the same problem and made a modified version of the QCinfo function.

I changed the lines

cc = ctrls[ctrls$Type %in% c("BISULFITE CONVERSION II") & 
                ctrls$Color %in% c("Crimson", "DarkMagenta", 
                                               "Red", "Orange", "Purple", "Tomato"),

to

cc = ctrls[ctrls$Type %in% c("BISULFITE CONVERSION II"),

Everything after that point seems to work.

ADD REPLY
0
Entering edit mode

Hey, I got following error after replacing the values. Any clues? I have also removed the initial 7 rows, are those mandatory to keep for analysis?

enter image description here

ADD REPLY
0
Entering edit mode

Hello, I had another error running the readidat function :

Error in `.rowNamesDF<-`(x, value = value) : 
  duplicate 'row.names' are not allowed

It seems some probes are at several adresses on the array while the other one is at the same place. Exemple : cg40289391_BC11,cg40289391,53746147,CTAAATTCATACTATTTTAATAAAATTTCCATTATTATAATATCAAATCA,10607100,CTAAATTCATACTATTTTAATAAAATTTCCATTATTATAATATCAAATCG cg40289391_BC12,cg40289391,77730828,CTAAATTCATACTATTTTAATAAAATTTCCATTATTATAATATCAAATCA,10607100,CTAAATTCATACTATTTTAATAAAATTTCCATTATTATAATATCAAATCG

Since the adresses are combined when processing the manifest, there are several lines with the same row.names... Is there anybody who had the same error ? I'm using latest manifest version available on Illumina website (MouseMethylation-12v1-0_A2 on https://support.illumina.com/content/dam/illumina-support/documents/downloads/productfiles/mouse-methylation/infinium-mouse-methylation-manifest-file-csv.zip).

There was no such thing on Humain beadchip : it seems so strange to have the same probe at mutltiple adresses !?

ADD REPLY
0
Entering edit mode

Yes! This is real, and it is a problem. The illumina designers have big plans for using probes that appear to be redundant names, the way that manifests track them, but they are actually not the same. Most software will choke on the redundant probes, and I (as maintainer) had to completely refactor methylprep to handle them (v1.5.0+).

g40289391_BC12,: the 12 ending tells you that this is Type I, 2nd copy.

ADD REPLY

Login before adding your answer.

Traffic: 2114 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

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

Powered by the version 2.3.6