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

Reply via email to