Hi Gordon,
We seem to be experiencing the same issue here, although not originating
from mglmOneGroup(), and edgeR-2.0.3 does not change the outcome:
dge_disp <- estimateCRDisp(dge_list, design)
Error in if (any(decr)) { : missing value where TRUE/FALSE needed
traceback()
3: mglmLS(y, design, dispersion, offset = offset)
2: adjustedProfileLik(spline.disp[i], y.select, design = design,
offset = offset.mat.select + lib.size.mat.select)
1: estimateCRDisp(dge_list, design)
sessionInfo()
R version 2.12.1 (2010-12-16)
Platform: x86_64-pc-linux-gnu (64-bit)
locale:
[1] C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] edgeR_2.0.3
loaded via a namespace (and not attached):
[1] limma_3.6.9
Best,
Laurent
On 1/3/11 4:36 AM, Gordon K Smyth wrote:
Dear Kirsten,
The error is arising in mglmOneGroup. I have just updated the relevant,
code in edgeR version 2.0.3. Can you try it and see if you get the same
error?
With regard to the warning message, I can't think of any reason why
edgeR would evaluate the Poisson density at a non-integer value if you
have provided integer values. Have you checked that you have provided
strictly integer counts? Try
data$counts <- round(data$counts)
data.cd = estimateCRDisp(data, design)
to see if it makes any difference. If it does, then the data you entered
are not all integers.
We are planning to revise estimateCRDisp() quite a bit during the next
month or so.
Best wishes
Gordon
Date: Wed, 29 Dec 2010 15:39:01 -0500
From: <[email protected]>
To: <[email protected]>
Subject: [Bioc-sig-seq] error msg from edgeR estimateCRDisp
Dear fellow edgeR users,
I have an RNA-seq dataset with 2 factors and 24 samples (balanced)
that I am attempting to analyze with edgeR. I keep encountering the
following error when I use the estimateCRDisp function.
data.cd = estimateCRDisp(data, design)
Error in while (any(i)) { : missing value where TRUE/FALSE needed
In addition: There were 50 or more warnings (use warnings() to see the
first 50)
warnings()
Warning messages:
1: In dpois(y[i, ], lambda = mu[i, ], log = TRUE) : non-integer x =
530.381844
2: In dpois(y[i, ], lambda = mu[i, ], log = TRUE) : non-integer x =
676.500000
[etc]
traceback()
3: mglmOneGroup(y, offset, dispersion)
2: adjustedProfileLik(spline.disp[i], y.filt, design = design, offset
= offset.mat.filt +
lib.size.mat.filt)
1: estimateCRDisp(data, design)
I see why the "dpois" function is giving an error, but I am not sure
why a non-integer value is being sent to it. Any suggestions are
greatly appreciated.
Information about my session and commands follows:
library(edgeR)
targets = read.csv("design_file.csv")
targets$factor_a = factor(targets$factor_a)
targets$factor_b = factor(targets$factor_b)
data = readDGE(targets)
data = calcNormFactors(data)
contrasts(targets$factor_a) = contr.sum(2)
contrasts(targets$factor_b) = contr.sum(2)
design = model.matrix(~factor_a+factor_b, data = targets)
data.cd = estimateCRDisp(data, design)
sessionInfo()
R version 2.12.0 (2010-10-15)
Platform: i386-pc-mingw32/i386 (32-bit)
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] edgeR_2.0.2
loaded via a namespace (and not attached):
[1] limma_3.6.9 tools_2.12.0
Kristen Dang, Ph.D.
Computational Biologist
Syngenta Biotechnology
Research Triangle Park, NC
______________________________________________________________________
The information in this email is confidential and inte...{{dropped:8}}
_______________________________________________
Bioc-sig-sequencing mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/bioc-sig-sequencing