12 months ago by
Cambridge, United Kingdom
It's hard to answer your question without an idea of your experimental design or of how you've set up your design matrix. In particular, the interpretation of the coefficients requires some care as these values may not necessarily represent log-fold changes of interest. Consider the following example:
groups <- LETTERS[1:5] # five groups, one sample each.
design <- model.matrix(~0 + groups)
y <- matrix(rnorm(1000), ncol=length(groups)) # log-expression values.
fit <- lmFit(y, design)
Here, the coefficients represent the average log-expression of each group - which, in your case, is the same as the log-expression of the corresponding sample, given that you only have one sample in each group. None of the coefficient values represent log-fold changes between groups. Instead, if you want log-fold changes, you need to do some more work:
con <- makeContrasts(groupsA - groupsB,
groupsC - groupsD,
# ... and however many comparisons you want ...
fit2 <- contrasts.fit(fit, con)
The story is different if you've made a design matrix without the
~ 0 above, in which case the first coefficient is the intercept (i.e., the log-value of the "first" group) and the other coefficients represent the log-fold change of each other group to the first group. Thus the reference group is the first group, here
A. (More generally, the first level of the factor given to
In all cases, it is critical that you properly understand the meaning of each column of the design matrix before trying to interpret the values of the coefficients. Misinterpretation of the coefficients is a major source of errors in DE analyses.
As for your other question; you can't use a volcano plot here because you can't compute p-values with only one replicate. I would suggest using an MA plot for each pairwise comparison and highlighting the genes of interest. Alternatively you could use a heatmap if you want to show samples from all groups at once (assuming you have more than two groups).
modified 12 months ago
12 months ago by
Aaron Lun • 21k