University of Copenhagen
Gordon Smyth
6 November 2007
This exercise uses advanced linear modeling and empirical Bayes moderated F-statistics to identify genes with interesting patterns in a multiple time course experiment.
This laboratory uses data from Peart et all (2005) from 36 cDNA microarrays. Histone deacetylase inhibitors (HDACi) are compounds which inhibit tumor cell growth and survival. They are currently in early phase clinical trials as a cancer treatment. The structurally diverse HDACi SAHA and depsipeptide activate a number of common molecular pathways to induce apoptosis, however there are subtle differences in their mechanisms of action. Here we focus on finding genes which are specific to each of the two compounds, SAHA and depsipeptide.
> setwd("sahadepsi") > library(limma) > load("MA.RData") > objects() > MA$targets
> block <- rep(1:6,each=6) > fitcor <- duplicateCorrelation(MA,design,block=block) Loading required package: statmod > fitcor$consensus [1] 0.5107596
> fit <- lmFit(MA,design,block=block,correlation=fitcor$consensus) > boxplot(fit$coef~col(fit$coef),names=colnames(fit$coef),las=2,ylab="Log2 Fold Change")
Time trends in response to SAHA:
> cont.matrix <- cbind( + S1=c(-1,1,0,0,0,0,0,0,0,0,0,0), + S2=c(-1,0,1,0,0,0,0,0,0,0,0,0), + S4=c(-1,0,0,1,0,0,0,0,0,0,0,0), + S8=c(-1,0,0,0,1,0,0,0,0,0,0,0), + S16=c(-1,0,0,0,0,1,0,0,0,0,0,0) + ) > fits <- contrasts.fit(fit, cont.matrix) > fits <- eBayes(fits)
Time trends in response to depsipeptide:
> cont.matrix <- cbind( + D1=c(0,0,0,0,0,0,-1,1,0,0,0,0), + D2=c(0,0,0,0,0,0,-1,0,1,0,0,0), + D4=c(0,0,0,0,0,0,-1,0,0,1,0,0), + D8=c(0,0,0,0,0,0,-1,0,0,0,1,0), + D16=c(0,0,0,0,0,0,-1,0,0,0,0,1) + ) > fitd <- contrasts.fit(fit, cont.matrix) > fitd <- eBayes(fitd)
Interaction effects:
> cont.matrix <- cbind( + I1=c(1,-1,0,0,0,0,-1,1,0,0,0,0), + I2=c(1,0,-1,0,0,0,-1,0,1,0,0,0), + I4=c(1,0,0,-1,0,0,-1,0,0,1,0,0), + I8=c(1,0,0,0,-1,0,-1,0,0,0,1,0), + I16=c(1,0,0,0,0,-1,-1,0,0,0,0,1) + ) > fiti <- contrasts.fit(fit, cont.matrix) > fiti <- eBayes(fiti)
Summary:
> results <- new("TestResults",matrix(0,nrow(fiti),3)) > results[,1] <- p.adjust(fits$F.p.value,method="fdr") < 0.05 > results[,2] <- p.adjust(fitd$F.p.value,method="fdr") < 0.05 > results[,3] <- p.adjust(fiti$F.p.value,method="fdr") < 0.05 > colnames(results) <- c("SAHA","Depsi","Difference") > vennDiagram(results)
Find genes responding only to SAHA, and only to depsipeptide:
> SAHAOnly <- results[,"SAHA"]==1 & results[,"Depsi"]==0 & results[,"Difference"]==1 > DepsiOnly <- results[,"SAHA"]==0 & results[,"Depsi"]==1 & results[,"Difference"]==1 > par(mfrow=c(1,2)) > plotlines(fits$coef[SAHAOnly,],ylim=c(-1.5,1.5),ylab="lfc",main="Response to SAHA") > plotlines(fitd$coef[SAHAOnly,],ylim=c(-1.5,1.5),ylab="lfc",main="Response to Depsi")