when you perform edgeR analysis comparing two groups (mock vs treat), you get a list of genes with probabilities of differential expression with certain logFC. Assuming for this logFC edgeR is calculating a mean expression value for samples within each group,
(1) how can I see what value is used (by edgeR) for each gene of each group?
(2) how is this mean expression value calculated? (is it an average cpm values of samples of each group?)
Unconfigured Ad
Collapse
X
-
I meant as extra columns for edgeR, not as a "leading gene thing". Stuff like a normalized mean and variability for each group. I've taken to moderating edgeR's results by removing results where the within-group variability is high, for example. (I think people are interpreting the logCPM value in that context... because they are expecting outputs that summarize group-wise summary information and don't see it.)
Leave a comment:
-
-
Certainly may be useful to look individual expression values for leading genes, and all the edgeR cases studies show how to do this. The original poster was asking for something different however, for the definition of logCPM to be changed.Originally posted by earonesty View PostIt *might* be informative to show a summary of original expression values and variability per group - just so you can see if edgeR's being silly and might need some tweaking ... (like when expression values are zero, or when there's outliers, or when you forgot to use tagwise dispersion, or when you used it... and would like to know what value edgeR used.... etc).
Leave a comment:
-
-
It *might* be informative to show a summary of original expression values and variability per group - just so you can see if edgeR's being silly and might need some tweaking ... (like when expression values are zero, or when there's outliers, or when you forgot to use tagwise dispersion, or when you used it... and would like to know what value edgeR used.... etc).Originally posted by Gordon Smyth View PostBut there's nothing in the documentation that says so.
Since this is your suggestion, the onus is on you to suggest a reason why this would be more informative. For my part, I don't know even how you would define "the actual A" to be for a general contrast. For example, suppose you have contrast=c(-0.4,0.5,0,-0.1). How you would you define A and what would it tell you?
Leave a comment:
-
-
But there's nothing in the documentation that says so.Originally posted by danielfortin86 View PostThanks! I was interpreting the documentation as meaning that the average was calculated for specific factor level combinations / contrasts.
Since this is your suggestion, the onus is on you to suggest a reason why this would be more informative. For my part, I don't know even how you would define "the actual A" to be for a general contrast. For example, suppose you have contrast=c(-0.4,0.5,0,-0.1). How you would you define A and what would it tell you?Wouldn't plotting the actual "A" for a specific contrast be more informative? Presumably that can be extracted by multiplying the matrix with the particular coefficients.
I already told you in my previous reply.What's the rationale for plotting the experiment-wide "A" rather than the condition-specific one?
I wonder whether you might be underestimating the statistical penalties and uncertainties introduced by fitting overly complicated models and estimating huge numbers of parameters, especially dispersion parameters. It is very unlikely that fitting condition-specific dispersions would be worthwhile, let alone a contrast-specific dispersions. But seeMy question also applies to dispersion? What about condition-specific dispersion? Any help you could provide would be greatly appreciated!
Leave a comment:
-
-
Thanks! I was interpreting the documentation as meaning that the average was calculated for specific factor level combinations / contrasts. Wouldn't plotting the actual "A" for a specific contrast be more informative? Presumably that can be extracted by multiplying the matrix with the particular coefficients. What's the rationale for plotting the experiment-wide "A" rather than the condition-specific one? My question also applies to dispersion? What about condition-specific dispersion? Any help you could provide would be greatly appreciated!
D
Leave a comment:
-
-
This is not a bug, rather you are not understanding what logCPM represents.
The help page for glmLRT says that logCPM is "the average log2-counts-per-million". The average is taken over all libraries in your dataset y, and hence is always the same regardless of the contrast being tested.
logPCM is intended as a measure of the overall expression level of the transcript, and is displayed by functions such as plotBCV().
BTW, it is not a simple average. The logCPM is computed using the edgeR function mglmOneGroup(), taking into account the estimated dispersions and the library sizes.
Gordon
Leave a comment:
-
-
EdgeR LogCPM Bug?
When I output the logCPM values for my genes, they are identical across contrasts. However, when I output the logFold values these seem to be correctly calculated for each contrast. Is this a bug or am I not understanding what the logCPM is that is returned by glmLRT?
Code:library(edgeR) # Read in the quantification data data <- read.table('File.txt', header = TRUE, row.names = 1) keep <- rowSums(cpm(data) > 2) >= min(summary(3)) data <- data[keep,] y <- DGEList(counts = data) y <- calcNormFactors(y) rownames(design) <- colnames(y) y <- estimateGLMCommonDisp(y, design, verbose = TRUE) y <- estimateGLMTrendedDisp(y, design) y <- estimateGLMTagwiseDisp(y, design) # Fit the linear model to the design matrix fit <- glmFit(y, design) # Make Contrast Matrix my.contrasts <- makeContrasts(....... # Different contrasts levels = design) # Loop to calculate the contrasts for (i in 1:dim(my.contrasts)[2]) { # Create the log ratios lrt <- glmLRT(y, fit, contrast = my.contrasts[,i]) tempLR <- lrt$table[2] if(exists("LogCPM")){ LogCPM< <- cbind(LogCPM, tempLR) } else{ LogCPM <- tempLR } } # rows of LogCPM are identical?!?
Latest Articles
Collapse
-
by SEQadmin2
Data variability is still an issue in sequencing technologies despite the advances in reproducibility and accuracy of these platforms. But the problem does not originate in the sequencing itself, but in the previous steps, before the sample reaches the sequencer.
The first step is collection, followed by preservation and sample preparation for analysis. Most scientists overlook those steps, but not being careful might just be skewing the experiment’s results.
...-
Channel: Articles
06-02-2026, 10:05 AM -
-
by SEQadmin2
With the launch of new single-cell sequencing platforms in 2026, the field stands at an exciting inflection point. This article surveys the most impactful advances in the field and discusses how they’re reshaping research in cancer, immunology, and beyond.
Introduction
Single-cell sequencing technologies have undergone remarkable advances over the past decade, transitioning from low-throughput experimental approaches to highly scalable platforms capable of...-
Channel: Articles
05-22-2026, 06:42 AM -
ad_right_rmr
Collapse
News
Collapse
| Topics | Statistics | Last Post | ||
|---|---|---|---|---|
|
Started by SEQadmin2, 06-05-2026, 10:09 AM
|
0 responses
18 views
0 reactions
|
Last Post
by SEQadmin2
06-05-2026, 10:09 AM
|
||
|
Started by SEQadmin2, 06-04-2026, 08:59 AM
|
0 responses
34 views
0 reactions
|
Last Post
by SEQadmin2
06-04-2026, 08:59 AM
|
||
|
Started by SEQadmin2, 06-02-2026, 12:03 PM
|
0 responses
45 views
0 reactions
|
Last Post
by SEQadmin2
06-02-2026, 12:03 PM
|
||
|
Started by SEQadmin2, 06-02-2026, 11:40 AM
|
0 responses
24 views
0 reactions
|
Last Post
by SEQadmin2
06-02-2026, 11:40 AM
|
Leave a comment: