I am conducting differential expression analysis in limma for a time course microarray experiment. I have 3 time points (1,2,3) and two conditions (control,disease). My contrast is formulated as:

```
pheno<-factor(c("disease.1","disease.1","disease.2","disease.2","disease.3","disease.3","control.1","control.1","control.2","control.2","control.3","control.3")
​model<-model.matrix(~0+pheno)
```

```
contrast<-makeContrasts(disease.1-control.1, disease.2-control.2, disease.3-control.3,levels=model)
fit<-lmFit(expression,model)
fit2<-contrasts.fit(fit,contrast)
fit2<-eBayes(fit2)

topTableF(fit2)
```

How can I apply SVA with this experimental setup? Or is there an alternative? The challenge I am facing is SVA seems designed for two class experiments, because the null model requires leaving out the variable of interest, however in this case there isn't one variable but many.

Thanks!
You apply the sva function to a normalised matrix of expression values. I'm assuming that you're just looking for potential surrogate variables and not trying to correct for a known batch effect?

Edit: Also, I'd recommend you check out the time course section of [the limma user guide][1]

 [1]: http://www.bioconductor.org/packages/release/bioc/vignettes/limma/inst/doc/usersguide.pdf