Multi factor error for DESeq2

Hi! I have been trying to run DESeq2, however I am facing some problems when it comes to multi factor designs.

My multifactor design is something like that:
Group 1: Disease_vs_Normal
Factor 1: Disease
Factor 2: Normal

Group 2: KO_vs_noKO
Factor 1: Diseaseparent
Factor 2: Normalparent
Factor 3: DiseaseKO
Factor 4: DiseasenoKO
Factor 5: NormalKO
Factor 6: NormalnoKO

Surpringly, when I run group 1 and 2 seperately, DESeq2 works. However when I try combining them as multi factor for a single DESeq2 run, I get this following error:

primary factor: Disease_vs_Normal
other factors in design: Disease_vs_Normal


Error in DESeqDataSet(se, design = design, ignoreRank) :
variables in design formula cannot contain NA: KO_vs_noKO
Calls: get_deseq_dataset → DESeqD

I assume there is a condition I am required to fulfill when running multiple groups, but I’m confused as to what that could be. I will really appreciate any help!

Are there NAs in your data?

Hi @David I think it showed this error because the group 2 was actually a subset of group 1:
Eg.
Disease parent, disease KO and disease no KO was under disease. Same goes for normal. Is this because DEseq2 does not allow us to include subtypes?
I went ahead to run group 2 with DESeq2, however I am faced with another problem. Because I have 6 factors, I do not understand the DESeq2 output file. There is only one DE file, unlike Edge2 who will give me different comparisons (eg. Disease parent vs Normal parent; Disease KO vs Disease no KO). How do I know which datasets are they comparing in the DE file?

I will really appreciate your explanation, thank you!

I don’t have an objective answer for this.
All I can think now is that maybe the multi factor setting is not ok. Can you share how exactly are you setting this?

Hi there,

Can I please add a similar problem:

I get very different results when I perform Deseq2 by choosing 3 factor levels under 1 FACTOR vs performing Deseq2 individually 3 times to compare the three factor levels to each other So, I am unable to say which is the correct result.

DeSeq2 Run1
FACTOR 1: TREATMENT
Factorlevel1: conditionA
Factorlevel 2:conditionB
Factorlevel 3: conditionC
(I also checked the box that says :Output all levels vs all levels of primary factor (use when you have >2 levels for primary factor)

This one generates 3 result files comaring A vs B, B vs C and A vs C. However, these results are very different to that obtained when I run DeSeq2 individually as follows.

DeSeq2Run2
FACTOR 1: TREATMENT
Factorlevel1: conditionA
Factorlevel 2:conditionB

DeSeq2Run3
FACTOR 1: TREATMENT
Factorlevel1: conditionA
Factorlevel 2:conditionC

DeSeq2Run4
FACTOR 1: TREATMENT
Factorlevel1: conditionB
Factorlevel 2:conditionC

Can someone please help.

Many thanks,
GG