So I've had edgeR running on some time course data. When comparing any two samples using a basic edgeR analysis, I include the line
y <- calcNormFactors(y)
in my pipeline. I note that this step appears to be absent from the glm approach. When I'm setting up my glm pipeline, if I include this calculation of normalization factors in the process, then the next step :
y <- estimateGLMCommonDisp(y,design)
fails, returning
Error in qr.default(x) : NA/NaN/Inf in foreign function call (arg 1)
In addition: Warning message:
In qr.default(x) : NAs introduced by coercion
If I leave the normalization out, it works. Scanning through the manual, I find, in section 2.6.6, this:
The correction factors may take the form of scaling factors for the library sizes, such as computed by calcNormFactors, which are then used to compute the effective library sizes. Alternatively, gene-specific correction factors can be entered into the glm functions of edgeR as offsets. In the latter case, the offset matrix will be assumed to account for all normalization issues, including sequencing depth and RNA composition.
Which is all well and good. Two questions though. Firstly, are the offsets automatically generated and applied? The suggested method of running a glm model,
design <- model.matrix(~group)
y <- estimateGLMCommonDisp(y,design)
y <- estimateGLMTrendedDisp(y,design)
y <- estimateGLMTagwiseDisp(y,design)
fit <- glmFit(y,design)
doesn't, on the face of it suggest that they are. Question 1a) if they're not, how/where do I generate and apply them?
Secondly, the manual suggests that this accounts for all normalization issues, but it also suggests that this is a gene-wise model based normalization procedure. Does it then take library size into account?
Cheers
Ben.
y <- calcNormFactors(y)
in my pipeline. I note that this step appears to be absent from the glm approach. When I'm setting up my glm pipeline, if I include this calculation of normalization factors in the process, then the next step :
y <- estimateGLMCommonDisp(y,design)
fails, returning
Error in qr.default(x) : NA/NaN/Inf in foreign function call (arg 1)
In addition: Warning message:
In qr.default(x) : NAs introduced by coercion
If I leave the normalization out, it works. Scanning through the manual, I find, in section 2.6.6, this:
The correction factors may take the form of scaling factors for the library sizes, such as computed by calcNormFactors, which are then used to compute the effective library sizes. Alternatively, gene-specific correction factors can be entered into the glm functions of edgeR as offsets. In the latter case, the offset matrix will be assumed to account for all normalization issues, including sequencing depth and RNA composition.
Which is all well and good. Two questions though. Firstly, are the offsets automatically generated and applied? The suggested method of running a glm model,
design <- model.matrix(~group)
y <- estimateGLMCommonDisp(y,design)
y <- estimateGLMTrendedDisp(y,design)
y <- estimateGLMTagwiseDisp(y,design)
fit <- glmFit(y,design)
doesn't, on the face of it suggest that they are. Question 1a) if they're not, how/where do I generate and apply them?
Secondly, the manual suggests that this accounts for all normalization issues, but it also suggests that this is a gene-wise model based normalization procedure. Does it then take library size into account?
Cheers
Ben.
Comment