Hello. I have been struggling on finding a non-additive effect of combined two drugs. So, I have a dataframe defining treatment of my samples as follows:

```
# Define experimental conditions for each sample
condition <- factor(c(rep("A",3),rep("B",3),rep("C",3),rep("D",3),rep("E",3)))
batch <- factor(rep(1:3,5))
coldata <- data.frame(row.names=colnames(countdata),condition,batch)
> coldata
condition batch
A1 A 1
A2 A 2
A3 A 3
B1 B 1
B2 B 2
B3 B 3
C1 C 1
C2 C 2
C3 C 3
D1 D 1
D2 D 2
D3 D 3
```

in which condition A is my vehicle control; B is a single treatment of one drug; C is a single treatment of another drug; and D is a combined treatment of the two drugs (B and C). Also, there is a batch effect as those triplicates are treated and prepared on day 1, 2, and 3, which were batch effects that needs to be removed in my analysis. So, in order to do this in DESeq2, I have

```
dds <- DESeqDataSetFromMatrix(countData=countdata,colData=coldata,design=~batch+condition)
```

Then,

```
dds <- DESeq(dds) # run DESeq2
rld <- rlog(dds,blind=FALSE)
removeBatchmat <- assay(rld)
removeBatchmat <- limma::removeBatchEffect(removeBatchmat,rld$batch) # remove the batch effect
assay(rld) <- removeBatchmat
plotPCA(rld) # Quality control
```

Now, I have been using "a character vector with exactly three elements: the name of a factor in the design formula, the name of the numerator level for the fold change, and the name of the denominator level for the fold change (simplest case)" described in `contrast`

argument in `?results`

in order to identify an additive drug effect of treatment "B" compared to vehicle control "A", as an example, so I have been always using

`results(dds, B, A)`

.

However, I realized that I have to utilize a numeric contrast vector to find a non-additive effect of combined drugs, which is "D" in the example above.
So far, I have found that I need to use a function `makeContrast`

and define my contrast as `(combo - control) - ((drugB - control) + (drugC - control))`

or `(D - A) - ((B - A) + (C - A))`

, which is algebraically equal to `(D + A) - (B+ C)`

. However, I have no idea how I can use a numeric contrast vector into `makeContrast`

function to make an appropriate `contrast`

and how I can use this contrast object into `results`

for differential gene expression analysis considering the batch effect to be removed.

My apologies that my question has too many things to be talked about, but I have been struggling on doing this for months. Can anyone help me out please?