Golub dataset analysis: ```r= calc.p.value <- function(v, x, y) { if ( sd(v[c(x,y)]) == 0 ) { return(1) } else { r <- t.test(v[x], v[y]) return(r$p.value) } } golub <- read.delim("http://www.bioinf.ucd.ie/people/ian/Golub.txt", sep="\t") head(golub) colnames(golub) library(limma) samples.AML <- colnames(golub)[ grep("^AML", colnames(golub)) ] samples.ALL <- colnames(golub)[ grep("^ALL", colnames(golub)) ] golub.samps <- c(samples.AML, samples.ALL) golub[, golub.samps] <- normalizeQuantiles(golub[,c(samples.AML,samples.ALL)]) golub$ALL.mean <- apply(golub[, samples.ALL], 1, mean) golub$AML.mean <- apply(golub[, samples.AML], 1, mean) golub$logFC <- log2(golub$AML.mean/golub$ALL.mean) golub$p.value <- apply(golub[,c(samples.AML,samples.ALL)], 1, calc.p.value, samples.AML, samples.ALL) golub$q.value <- p.adjust( golub$p.value , method="fdr" ) # AML up-regulated dim( subset(golub, q.value<0.05 & logFC > 0.5) ) # ALL up-regulated dim( subset(golub, q.value<0.05 & logFC < -0.5) ) # TOGETHER dim( subset(golub, q.value<0.05 & (logFC > 0.5 | logFC < -0.5)) ) dim( subset(golub, q.value<0.05 & abs(logFC) > 0.5 ) ) df.golub.diff <- subset(golub, q.value<0.05 & abs(logFC) > 0.5 ) golub.association <- read.delim("/tmp/golub_association.csv",sep=",") colnames(golub.association) df.golub.diff.annot <- merge(x=df.golub.diff, y=golub.association, by.x='Golubtemplate', by.y='Gene.Accession.Number' ) write.table(df.golub.diff[,c('Golubtemplate','AML.mean','ALL.mean','logFC','p.value','q.value')], file="/tmp/gobub_diff.tsv", col.names=TRUE, row.names=FALSE, quote=FALSE, sep="\t" ) boxplot(df.golub.diff[,c('AML.mean','ALL.mean')]) library(gplots) #svg(filename="/tmp/golub.diffs.svg", # width = 8, height = 6) png(filename = "/tmp/golub.diffs.png", bg="white", res=300, width=3000, height=3000) hv1<-heatmap.2( as.matrix(log2(df.golub.diff.annot[,golub.samps])), scale="row", col=greenred, labRow=df.golub.diff.annot[,"Gene.Description"], key=TRUE, symkey=TRUE, density.info="none", trace="none", Rowv=T, Colv=T, cexRow=0.45, cexCol=1, keysize=1, margins = c(10,25), dendrogram=c("both"), main = "HeatMap" ) graphics.off() ```