I'm doing a differential expression analysis for RNA-seq data with limma - voom. My data is about a cancer drug, 49 samples in total, some of them are responders some of them are not. I need some help build the contrast. I'm dealing with only one factor here, so two groups only, I know it's the simplest type of data, but I'm getting most of the data as differntialy expressed (which should not be the case) and I think the problem has to do with the contrast. This is the design I made, with 1 or 0. 1 for NoResponse means there was no response, and 1 for Response means there was a response.
Using dput:
structure(c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), .Dim = c(49L,
2L), .Dimnames = list(c("Pt1", "Pt10", "Pt103", "Pt106", "Pt11",
"Pt17", "Pt2", "Pt24", "Pt26", "Pt27", "Pt28", "Pt29", "Pt31",
"Pt36", "Pt37", "Pt38", "Pt39", "Pt4", "Pt46", "Pt47", "Pt5",
"Pt52", "Pt59", "Pt62", "Pt65", "Pt66", "Pt67", "Pt77", "Pt78",
"Pt79", "Pt8", "Pt82", "Pt84", "Pt85", "Pt89", "Pt9", "Pt90",
"Pt92", "Pt98", "Pt101", "Pt18", "Pt3", "Pt30", "Pt34", "Pt44",
"Pt48", "Pt49", "Pt72", "Pt94"), c("NoResponse", "Response")), assign = c(1L,
1L), contrasts = list(Response = "contr.treatment"))
And, this is my code doing the analysis it self:
d0 <- DGEList(rawdata)
d0 <- calcNormFactors(d0)
Voom <- voom(d0, design, plot = TRUE)
vfit <- lmFit(Voom, design)
contrast <- makeContrasts(Response - NoResponse,
levels = colnames(coef(vfit)))
vfit <- contrasts.fit(vfit, contrasts = contrast)
efit <- eBayes(vfit)
plotSA(efit, main = 'final model: Mean-Variance trend')
I should mention the raw data is perfectly fine, so it's not a data issue. I'm the only problem.