I am running DESeq2 to find DEGs between multiple samples, but I'm not able to decide what type of design to use, and how to arrange my data?

My data the following categories-

----------
**1.DISEASE SUBTYPE      |    2.  TYPE OF MUTATION**

A                   |                            mut1 |  mut2 |   mut3

B                        |                      mut1 |  mut2 |  mut3
 
C                       |                         mut1  | mut2 |  mut3


----------
There are three different mutation backgrounds (mut1, mut2, mut3) common in each of the disease subtype (A, B, C). 

**I want to compare my NORMAL HEALTHY samples with each of the Amut1, Amut2, Amut3, Bmut1, Bmut2... and so on. (and also inter-category comparisons)**

How should I arrange/tidy my data for DESeq2, and what should I write for the design?
Should I just compare them pairwise separately, or make a complex design for R?

Any kind of help is appreciated, I'm just a beginner. Thank you!!! 


I would try out two approaches.

The first approach would be combining your disease subtypes and mutation factor levels for each sample. Your sample sheet would look as follows.

             condition
    sample_1    A_mut1
    sample_2    A_mut2
    sample_3    A_mut3
    ...            ...

The regression formula would then just be `~ condition`.

The next approach uses interaction terms in the regression, so would model both the main effects of each mutation and each disease subtype, as well as the differences in effect for each disease subtype based on the mutation. Your sample sheet would now look like the following.

             subtype mutation
    sample_1       A     mut1
    sample_2       A     mut2
    sample_3       A     mut3
    ...          ...      ...

For this analysis the regression formula would be `~ subtype + mutation + subtype:mutation`.

More information on multi-factor design can be found in the [DESeq2 documentation](https://bioconductor.org/packages/release/bioc/vignettes/DESeq2/inst/doc/DESeq2.html#multi-factor-designs), and a detailed explanation for working with interaction terms can be found in the help documentation for the results function, `help("results", package="DESeq2")`.

