Hello,
I am doing a differential analysis in DESE2, I have the following tables:
countData = countD #an array of 11236 rows by 307 columns.
colData = colData_num #dataframe with one variable called GroupPregnancy with 8 levels
then the equation was perform as follow:
prev_dds <- DESeqDataSetFromMatrix(countData = countD,
colData = colData_num,
design= ~ GroupPregnancy )
dds_all_corrected <- DESeq(prev_dds)
if I code colData(prev_dds)
I corroborate I have 8 levels
> colData(prev_dds)
DataFrame with 307 rows and 3 columns
GroupPregnancy sizeFactor replaceable
<factor> <numeric> <logical>
NGS001-033-22-16752-4_S60 8 0.992220 TRUE
NGS001-033-22-16759-1_S72 8 0.992528 TRUE
NGS001-033-22-22100-11_S84 8 0.991939 TRUE
NGS001-033-22-23324-8_S96 8 0.991939 TRUE
NGS001-033-22-23327-13_S97 8 0.991939 TRUE
... ... ... ...
NGS001-033-22-VL-2-89_S245 6 0.992220 TRUE
NGS001-033-22-VL-2-9_S155 6 0.992528 TRUE
NGS001-033-22-VL-2-91_S166 5 0.992220 TRUE
NGS001-033-22-VL-2-92_S178 6 0.991939 TRUE
NGS001-033-22-VL-2-96_S190 6 0.992528 TRUE
> dds_all_corrected$GroupPregnancy
[1] 8 8 8 8 8 8 8 2 1 1 1 2 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 1 1 1 2 1 2 8 8 8 8 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 1 1 1 1 1 1
[76] 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 2 8 8 2 8 8 8 1 8 8 8 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
[151] 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 2 2 2 1 1 4 4 3 4 4 4 4 4 4 4 4 4 3 3 4 3 4 3 4 4 3 4 4 4 4 4 4 4 4
[226] 3 4 3 3 3 3 3 4 4 4 4 4 3 4 4 4 4 3 4 3 3 4 4 3 4 4 4 4 4 3 3 6 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 6 6 5 5 5 5 5 5 6 5 6 5 5 6 5 5 5 5 5 5 6 6 6 6 5 6 6
[301] 6 5 6 6 5 6 6
Levels: 1 2 3 4 5 6 7 8
But, when I run resultsNames(dds_all_corrected)
there are only 7 levels:
> resultsNames(dds_all_corrected)
[1] "Intercept" "GroupPregnancy1" "GroupPregnancy_2_vs_1" "GroupPregnancy_3_vs_1" "GroupPregnancy_4_vs_1" "GroupPregnancy_5_vs_1"
[7] "GroupPregnancy_6_vs_1" "GroupPregnancy_7_vs_1"
and when I want to make a contrast with the level 8, it is not possible, I have the following error:
> results(dds_all_corrected, contrast = c("GroupPregnancy", "7","8"))
Error in cleanContrast(object, contrast, expanded = isExpanded, listValues = listValues, :
7 and 8 should be levels of GroupPregnancy such that GroupPregnancy_7_vs_1 and GroupPregnancy_8_vs_1 are contained in 'resultsNames(object)'
It doesn't happen with other comparisons:
results(dds_all_corrected, contrast = c("GroupPregnancy", "1","2"))
results(dds_all_corrected, contrast = c("GroupPregnancy", "3","4"))
results(dds_all_corrected, contrast = c("GroupPregnancy", "5","6"))
e.g:
> results(dds_all_corrected, contrast = c("GroupPregnancy", "3","4"))
log2 fold change (MLE): GroupPregnancy 3 vs 4
Wald test p-value: GroupPregnancy 3 vs 4
DataFrame with 11236 rows and 6 columns
baseMean log2FoldChange lfcSE stat pvalue padj
<numeric> <numeric> <numeric> <numeric> <numeric> <numeric>
ASV2 3279.86 -0.793255 0.696330 -1.139193 2.54622e-01 0.99994670
ASV3 2793.68 -2.620075 0.571994 -4.580599 4.63646e-06 0.00045583
ASV4 2318.17 -0.419021 0.714229 -0.586675 5.57422e-01 0.99994670
ASV5 2219.83 0.121322 0.729653 0.166273 8.67942e-01 0.99994670
ASV6 1610.24 -1.227818 0.624983 -1.964561 4.94651e-02 0.61006903
... ... ... ... ... ... ...
ASV35572 1.01122 7.55841e-05 0.403488 0.000187327 0.999851 NA
ASV35573 1.01122 7.55841e-05 0.403488 0.000187327 0.999851 NA
ASV35575 1.01122 7.55844e-05 0.403488 0.000187327 0.999851 NA
ASV35576 1.01122 7.55844e-05 0.403488 0.000187327 0.999851 NA
ASV35577 1.01122 7.55844e-05 0.403488 0.000187327 0.999851 NA
All of these work well and I can make the contrast correctly. The problem is with level 8.
¿Could someone help me to find the mistake or the solution?
Thank you so much
Start fresh. Remake the dds object, rerun DESeq on it. That's the first thing to try. And keep just one dds object, not one before and one after running DESeq. The simplest explanation is that you changed up the contents of the objects at some point, odd as that may seem.
I tried but dont find solution. I also tried by the way as follow:
There still keep being only 7 levels (instead 8 of the original Data)
I was finally able to fix it. I restarted R and re-uploaded packages and the problem was fixed. It seems that there was some interference between packages.