I have a question about a linear models in DESeq2.
The experimental design is far from optimal, but I wasn't asked about that part. The samples consist of 12 controls and 3 treatments with different doses of treatment.
coldataset:
Treatment Sample.ID DOSE Group 002_S2_L001_R1_001 Isoproterenol 24 0.1 Isoproterenol_C_0.1 004_S4_L001_R1_001 Isoproterenol 24 1 Isoproterenol_C_1 006_S6_L001_R1_001 Isoproterenol 24 10 Isoproterenol_C_10 098_S98_L001_R1_001 VEHICLE V 0 VEHICLE_C_0 100_S100_L001_R1_001 VEHICLE V 0 VEHICLE_C_0 102_S102_L001_R1_001 VEHICLE V 0 VEHICLE_C_0 110_S110_L001_R1_001 VEHICLE V 0 VEHICLE_C_0 112_S112_L001_R1_001 VEHICLE V 0 VEHICLE_C_0 114_S114_L001_R1_001 VEHICLE V 0 VEHICLE_C_0 248_S248_L001_R1_001 VEHICLE V 0 VEHICLE_C_0 250_S250_L001_R1_001 VEHICLE V 0 VEHICLE_C_0 252_S252_L001_R1_001 VEHICLE V 0 VEHICLE_C_0 260_S260_L001_R1_001 VEHICLE V 0 VEHICLE_C_0 262_S262_L001_R1_001 VEHICLE V 0 VEHICLE_C_0 264_S264_L001_R1_001 VEHICLE V 0 VEHICLE_C_0
Normally, I run these experiments at lowest level (Group) and use contrast statements to examine max dose comparisons to their vehicle controls (among others). (design ~ Group)
Is it possible to fit a linear model on DOSE in DESeq2? To get a list of genes with adjusted p-values that have a linear relationship between counts and dose? The log(dose) vector would be c(rep(-2,12),-1,0,1).
Should I just take the normalized counts from DESeq2 and run linear models for normcounts=log(dose) for each gene?
Lastly, if I run a design~DOSE, and examine results(dds), what do the log2foldchange represent below? Are they not meaningful without contrasts statements?
> resultsNames(dds) [1] "Intercept" "DOSE0" "DOSE0.1" "DOSE1" "DOSE10" baseMean log2FoldChange lfcSE stat pvalue padj 1 816.064720 1.3116114 0.2635343 4.977004 6.457587e-07 0.001850744 2 74.737786 -1.0885462 0.2493632 -4.365304 1.269462e-05 0.018191391 3 184.634430 -0.8549204 0.2158798 -3.960168 7.489703e-05 0.064807331 4 53.630486 1.0040814 0.2564783 3.914878 9.044987e-05 0.064807331 5 40.440782 0.9380167 0.2972477 3.155674 1.601278e-03 0.415725274 6 7.345135 1.0853250 0.3465192 3.132078 1.735739e-03 0.415725274
Usually, the first line of the output of results tells you what the contrast was. You seem to have cut this off when copying and pasting. Can you fix this, please?
There was no contrast. This was just design ~ DOSE as listed above. Followed by results(dds).
Are you sure you pasted the complete beginning of the output of results? I still think there are a few lines missing -- or you have a very outdated version of DESeq2.
Usually, it looks like this:
Thank you Simon! I see my mistake. I had used head(arrange(testdf,padj)) from testdf<-as.data.frame(results(dds)). When I just did results(dds) it showed me the answer.