Surrogate Variable Analysis for Complex Experimental Design
1
1
Entering edit mode
6.2 years ago
tucanj ▴ 90

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!

sva R limma • 2.7k views
1
Entering edit mode
6.2 years ago

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 users guide http://www.bioconductor.org/packages/release/bioc/vignettes/limma/inst/doc/usersguide.pdf

0
Entering edit mode

Thanks for the response! Yes not adjusting for any known batch effects. I didn't realize that SVA did not require a null model, but I just tested it an it works (another thing I had to change was to include an intercept in my model because sva did not work without). As well, I purposefully chose this model but thanks for referring me to limma user guide.