Search
Question: lumi, Illumina Methylation 450k, and robust methylation calls
0
gravatar for zoppoli pietro
7.2 years ago by
United States
zoppoli pietro10 wrote:
Tim Rayner <tfrayner at="" ...=""> writes: > > Hi, > > I have recently started to use the lumi package to analyse some > Illumina Human Methylation 450k data, and I have run into some > problems which seem to revolve around division by zero in the > gammaFitEM() function. I have adjusted the colour balance and quantile > normalised as suggested in the vignette, but when I call gammaFitEM() > the function complains (see the end of this email for a session dump). > > I've traced the likely cause of the error to zero values returned by > these calls in gammaFitEM(): > > f1 <- dgamma(x - s[1], shape = k[1], scale = theta[1]) > f2 <- dgamma(s[2] - x, shape = k[2], scale = theta[2]) > > The problem is that the z1 variable subsequently contains divisions by > these zero values: > > z1 <- p[1] * f1/(p[1] * f1 + p[2] * f2) > > When z1 is later used in calls to sum() in many places, this obviously > returns NaN which causes the function to raise an exception. I think > I've got around this by editing the function and putting na.rm=TRUE in > each of the relevant calls to sum(), and the generated plots look > quite believable, but I can't be sure if that's actually a valid > approach. Is there a better way to address this problem? > > Many thanks, > > Tim > Hi Tim, I have your same problem even if with the Illumina Human Methylation 27k. You wrote about editing any sum() function with na.rm=TRUE. It really worked for you ? I also made the same changes but then R says that did not find the ".initialGammaEstimation function" Such function is internal to the gammaFitEM package ... How you solved the problem ? In the end the results are valid or really we can't use this function at all ? Thanks, Pietro
ADD COMMENTlink modified 7.2 years ago by Tim Rayner270 • written 7.2 years ago by zoppoli pietro10
0
gravatar for Tim Rayner
7.2 years ago by
Tim Rayner270
Tim Rayner270 wrote:
Hi Pietro, You can replace the call to .initialGammaEstimation() with lumi:::.initialGammaEstimation(). It's a fairly shameless hack which may well fail to work with subsequent versions of lumi, but with any luck that point is moot. Having looked at our results I'd say I'm pretty confident that the function is doing at least roughly what one would expect. I do have some concerns about applying this function to the 450k data, since the presence of both Infinium I and II assays on the chip generates a distribution with more than two density peaks. It might be worth separating the probes into I and II and applying the function to each set separately. In our case we're only using these calls for a quick look at the gross methylation changes between samples; to calculate DMRs we're using limma as suggested in the lumi vignette. Cheers, Tim On 4 August 2011 01:24, zoppoli pietro <zoppoli.pietro at="" gmail.com=""> wrote: > Tim Rayner <tfrayner at="" ...=""> writes: > >> >> Hi, >> >> I have recently started to use the lumi package to analyse some >> Illumina Human Methylation 450k data, and I have run into some >> problems which seem to revolve around division by zero in the >> gammaFitEM() function. I have adjusted the colour balance and quantile >> normalised as suggested in the vignette, but when I call gammaFitEM() >> the function complains (see the end of this email for a session dump). >> >> I've traced the likely cause of the error to zero values returned by >> these calls in gammaFitEM(): >> >> ? ? ? ? f1 <- dgamma(x - s[1], shape = k[1], scale = theta[1]) >> ? ? ? ? f2 <- dgamma(s[2] - x, shape = k[2], scale = theta[2]) >> >> The problem is that the z1 variable subsequently contains divisions by >> these zero values: >> >> ? ? ? ? z1 <- p[1] * f1/(p[1] * f1 + p[2] * f2) >> >> When z1 is later used in calls to sum() in many places, this obviously >> returns NaN which causes the function to raise an exception. I think >> I've got around this by editing the function and putting na.rm=TRUE in >> each of the relevant calls to sum(), and the generated plots look >> quite believable, but I can't be sure if that's actually a valid >> approach. Is there a better way to address this problem? >> >> Many thanks, >> >> Tim >> > Hi Tim, > > I have your same problem even if with the Illumina Human Methylation 27k. > You wrote about editing ?any sum() function with na.rm=TRUE. > It really worked for you ? > I also made the same changes but then R says that did not find the > ".initialGammaEstimation function" > Such function is internal to the gammaFitEM package ... > How you solved the problem ? > > In the end the results are valid or really we can't use this function at all ? > > Thanks, > Pietro > > _______________________________________________ > Bioconductor mailing list > Bioconductor at r-project.org > https://stat.ethz.ch/mailman/listinfo/bioconductor > Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor >
ADD COMMENTlink written 7.2 years ago by Tim Rayner270
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.2.0
Traffic: 336 users visited in the last hour