Biostar Beta. Not for public use.
Question: Surrogate Variable Analysis for Complex Experimental Design
1
Entering edit mode

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!

ADD COMMENTlink 5.0 years ago tucanj • 70 • updated 5.0 years ago andrew.j.skelton73 5.7k
1
Entering edit mode

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

ADD COMMENTlink 5.0 years ago andrew.j.skelton73 5.7k
Entering edit mode
0

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.

ADD REPLYlink 5.0 years ago
tucanj
• 70

Login before adding your answer.

Similar Posts
Loading Similar Posts
Powered by the version 2.0