Nothing
### R code from vignette source 'coRNAi.Rnw'
###################################################
### code chunk number 1: coRNAi.Rnw:46-57
###################################################
makefig = function(expr, name, type="pdf", ppi=180, width=4.5, height=4.5){
fn = paste(name, type, sep=".")
if(!file.exists(fn)){
switch(type,
pdf = pdf(fn, width=width, height=height),
jpeg = jpeg(fn, width=width*ppi, height=height*ppi, pointsize=24),
stop(sprintf("Invalid type '%s'", type)))
expr
dev.off()
}
}
###################################################
### code chunk number 2: load libraries
###################################################
library("coRNAi")
###################################################
### code chunk number 3: load data
###################################################
data(screen1_raw)
data(screen2_raw)
#data(num2name)
###################################################
### code chunk number 4: make into data frame
###################################################
dfR1 = cellHTS2df(screen1_raw,neutral=c("Fluc"))
dfR2 = cellHTS2df(screen2_raw,neutral=c("Fluc"))
dfR1$value = log2(dfR1$value)
dfR2$value = log2(dfR2$value)
###################################################
### code chunk number 5: coRNAi.Rnw:121-122
###################################################
dfR2[1:2,]
###################################################
### code chunk number 6: coRNAi.Rnw:132-144
###################################################
mypars = list(cex.lab = 1,cex.main=1)
par(mfrow=c(1,2))
BoxPlotShorth(value~replicate,dfR1[dfR1$controlStatus=="sample",],
las=2,main="",xlab="plates",boxfill="lightblue",
outline=FALSE, ylab=expression(log[2](intensity)),pars=mypars)
BoxPlotShorth(value~plate,dfR2[dfR2$controlStatus=="sample" &
dfR2$replicate==1,], las=2,
main="",xlab="plates",
boxfill="lightblue",outline=FALSE,
ylab=expression(log[2](intensity)),pars=mypars)
###################################################
### code chunk number 7: normaliztion methods
###################################################
dfScl1 = cellHTS2df(normalizePlates(screen1_raw,method="shorth",
scale="multiplicative",log=TRUE),neutral="Fluc")
dfScl2 = cellHTS2df(normalizePlates(screen2_raw,method="shorth",
scale="multiplicative",log=TRUE),neutral="Fluc")
###################################################
### code chunk number 8: coRNAi.Rnw:162-170
###################################################
par(mfrow=c(1,2))
BoxPlotShorth(value~replicate,dfScl1[dfScl1$controlStatus=="sample",],
las=2, main="",xlab="plates",boxfill="lightpink",
outline=FALSE,ylab=expression(log[2](intensity)))
BoxPlotShorth(value~plate,dfScl2[dfScl2$controlStatus=="sample"&
dfScl2$replicate==1,],
boxfill="lightpink",las=2,main= "",
xlab="plates",outline=FALSE,ylab=expression(log[2](intensity)))
###################################################
### code chunk number 9: coRNAi.Rnw:184-187
###################################################
plotScreen(split(dfScl1$value,dfScl1$replicate),fill =
c("red","white","blue"),zrange=c(-4,4),ncol=5,
main="screen 1",legend.label=NULL)
###################################################
### code chunk number 10: coRNAi.Rnw:198-202
###################################################
plotScreen(split(dfScl2$value[dfScl2$replicate==1],
dfScl2$plate[dfScl2$replicate==1]),fill =
c("red","white","blue"),zrange=c(-9,9),
main="screen 2",legend.label=NULL)
###################################################
### code chunk number 11: coRNAi.Rnw:213-225
###################################################
par(mfrow=c(1,2))
WithinScreenPlot(dfScl1,what="value",main="",smooth=T,pch=".")
WithinScreenPlot(dfScl2,what="value",main="",smooth=T,pch=".")
points(dfScl2$value[dfScl2$Pair=="P2 P1" & dfScl2$replicate==2 &
dfScl2$Direction==1],dfScl2$value[dfScl2$Pair=="P2 P1" &
dfScl2$replicate==2 & dfScl2$Direction==2],
col="red",pch=19)
points(dfScl2$value[dfScl2$Pair=="P57 P1" & dfScl2$replicate==2 &
dfScl2$Direction==1],dfScl2$value[dfScl2$Pair=="P57 P1" &
dfScl2$replicate==2 & dfScl2$Direction==2],
col="red",pch=19)
###################################################
### code chunk number 12: show data
###################################################
dfScl2[dfScl2$Pair =="P2 P1",c("Pair","Direction","replicate","value")]
dfScl2$value[dfScl2$Pair =="P2 P1" & dfScl2$Direction==1 &
dfScl2$Replicate==2]=NA
###################################################
### code chunk number 13: coRNAi.Rnw:242-252
###################################################
data(faultyscreen)
par(mfrow=c(1,2))
fdf = cellHTS2df(normalizePlates(faultyscreen,method="shorth",
scale="multiplicative",log=TRUE),neutral="Fluc")
WithinScreenPlot(fdf[fdf$replicate==2,],main="with plate column 13"
,pch=".",smooth=FALSE)
systerr = which(fdf$Pair%in%(unique(fdf$Pair[grep(13,fdf$well)])))
fdf$value[systerr]=NA
WithinScreenPlot(fdf[fdf$replicate==2,],main="without plate column 13"
,pch=".",smooth=FALSE)
###################################################
### code chunk number 14: coRNAi.Rnw:261-262
###################################################
BetweenScreenPlot(dfScl1,smooth=FALSE)
###################################################
### code chunk number 15: add batch info
###################################################
dfScl1$batch[dfScl1$replicate%in%1:5]=1
dfScl1$batch[dfScl1$replicate%in%6:10]=2
###################################################
### code chunk number 16: add weights
###################################################
dfScl1 = weightDf(dfScl1,exclude = c("controlN2", "controlP2","controlP1N1"
,"controlP1","double","controlN1"))
dfScl2 = weightDf(dfScl2,exclude = c("controlN2", "controlP2","controlP1N1"
,"controlP1","double","controlN1"))
###################################################
### code chunk number 17: main effects estimate screen1
###################################################
lmres1 = lmmain(dfScl1,per = "batch")
###################################################
### code chunk number 18: main effects estimate screen2
###################################################
lmres2D= lmmain(dfScl2,per = c("replicate","Direction"))
lmres2 = lmmain(dfScl2,per = c("replicate"))
###################################################
### code chunk number 19: coRNAi.Rnw:310-314
###################################################
barplot(t(sapply(lmres1,function(x) x$coefficient)),las=2,beside=T,
col=c("skyblue","steelblue"))
legend("topleft",legend=c("batch1","batch2"),fill=c("skyblue","steelblue"))
###################################################
### code chunk number 20: update
###################################################
dfScl1 = updateDf(dfScl1,lmres1,per = "batch")
dfScl2 = updateDf(dfScl2,lmres2,per=c("replicate"))
head(dfScl1)
###################################################
### code chunk number 21: coRNAi.Rnw:335-341
###################################################
par(mfrow=c(1,2))
MainFitPlot(lmres1,xlab=expression(hat(y)[0*k]+hat(m)[i*k]+hat(m)[j*k]),
ylab=expression(epsilon[i*j*k]),pch=".",main="screen 1")
MainFitPlot(lmres2,xlab=expression(hat(y)[0*k]+hat(m)[i*k]+hat(m)[j*k]),
ylab=expression(epsilon[i*j*k]),pch=".",main="screen 2",sd.fit=FALSE)
###################################################
### code chunk number 22: coRNAi.Rnw:353-359
###################################################
pairs=sample(unique(dfScl1$Pair[dfScl1$Type=="comb"]),50)
sub = dfScl1[dfScl1$Pair%in%pairs,]
boxplot(residuals~Pair,sub,las=2,axis.cex=0.5,col ="palevioletred",
ylab=expression(epsilon[i*j*k]),xlab="RNAi combinations",
names = NA,xaxt="n")
abline(h=0,lwd=2)
###################################################
### code chunk number 23: ebayes
###################################################
ebfit = df2lmFit(dfScl1)
eb = eBayes(ebfit)
tt1 =interactiontable(eb,ord.t=TRUE)
ebfit = df2lmFit(dfScl2)
eb = eBayes(ebfit)
tt2 = interactiontable(eb)
head(tt2)
###################################################
### code chunk number 24: coRNAi.Rnw:388-389
###################################################
Pplot(tt2$P,maint = "Screen 2")
###################################################
### code chunk number 25: read key
###################################################
data(key)
colkey = ifelse(key$cellCycle==0,"grey","orange")
names(colkey)=as.character(key$GeneID)
key = key$cellCycle
names(key) = names(colkey)
###################################################
### code chunk number 26: threshold
###################################################
thrs1 = 0.001
###################################################
### code chunk number 27: coRNAi.Rnw:415-423
###################################################
tt1t = tt1
thrs1 = 0.1
g1= data2graph(tt1,thres=thrs1,thresBy="ord.p.adj",nodecolor=colkey,
sizethres=0.3, writedot=TRUE, filename = 'interactionGraph1.dot',
shape='ellipse',scaleFactor=10,fixedsize=FALSE,fontsize=100,
penwidth=20,width=2,gamma.col=0)
system('neato -Tpdf -o interactionGraph1.pdf interactionGraph1.dot')
###################################################
### code chunk number 28: coRNAi.Rnw:429-433
###################################################
g2 = data2graph(tt2,thres=thrs1,writedot=TRUE, scaleFactor=10,
filename = 'interactionGraph2.dot',fontsize=20,penwidth=10,
width=2,fixedsize=TRUE,nodecolor="grey",sizethres=0.3,gamma.col=0)
system('neato -Tpdf -o interactionGraph2.pdf interactionGraph2.dot')
###################################################
### code chunk number 29: coRNAi.Rnw:438-447
###################################################
mat = tt2matrix(tt1,what="size")
thrs=0.9
cormat = cortestmatrices(mat,method="spearman")
cormat[[2]][abs(cormat[[1]])<0.8]=1
c1 = data2graph(list("size"=cormat[[1]],"pvalues"=cormat[[2]]),
thres=thrs,writedot=TRUE, scaleFactor=2, filename = 'correlationGraph1.dot',
shape='ellipse',fixedsize=FALSE,nodecolor=colkey,fontsize=30,penwidth=5,
gamma.col=0)
system('neato -Tpdf -o correlationGraph1.pdf correlationGraph1.dot')
###################################################
### code chunk number 30: coRNAi.Rnw:453-459
###################################################
mat = tt2matrix(tt2,what="size")
cormat = cortestmatrices(mat,method="spearman")
c2 = data2graph(list("size"=cormat[[1]],"pvalues"=cormat[[2]]),thres=
thrs1,writedot=TRUE, scaleFactor=20, filename = 'correlationGraph2.dot',
width=2,fontsize=50,penwidth=4,fixedsize=TRUE,nodecolor="grey")
system('neato -Tpdf -o correlationGraph2.pdf correlationGraph2.dot')
###################################################
### code chunk number 31: coRNAi.Rnw:482-484
###################################################
InteractLevelPlot(tt1,key = key,thresh=thrs1,by="P.Value",zerolimit=0.1,
colorRampPalette(c("blue", "white", "red")))
###################################################
### code chunk number 32: coRNAi.Rnw:493-498
###################################################
PlotHeatmap(tt2,dendrogram="none",margins = c(2,2),
colorRampPalette(c("blue", "white","red")),
lmat=rbind( c(0, 3), c(2,1), c(0,4) ),
lhei=c(0.1, 4, 0.1 ) ,lwid=c(0.1,2))
###################################################
### code chunk number 33: fitness scale
###################################################
N0=15000
sc2 = screen2_raw
Data(sc2) = log(Data(sc2)/N0)
###################################################
### code chunk number 34: reanalys
###################################################
ksdf2 = cellHTS2df(normalizePlates(sc2,method="shorth",
scale="multiplicative",log=TRUE),neutral="Fluc")
ksdf2 = weightDf(ksdf2,exclude = c("controlN2", "controlP2",
"controlP1N1","controlP1","double"))
lmres2 = lmmain(ksdf2,per = c("replicate","Direction"))
ksdf2 = updateDf(ksdf2,lmres2,per = c("replicate","Direction"))
###################################################
### code chunk number 35: coRNAi.Rnw:546-549
###################################################
par(mfrow=c(1,2))
qqnorm(ksdf2$residuals,main="log(log(N/N0))",pch=".")
qqnorm(dfScl2$residuals,main="log(N)",pch=".")
###################################################
### code chunk number 36: coRNAi.Rnw:559-560
###################################################
ROCstat=coRNAi:::ROCstat
###################################################
### code chunk number 37: coRNAi.Rnw:579-654
###################################################
## First find bench mark results
ResTable=tt1
par(mfrow=c(1,2))
t = 0.001 # p-value threshold = 0.001
bench.neg.int = ResTable[ResTable$ord.p<t & ResTable$size<0,]
bench.pos.int = ResTable[ResTable$ord.p<t & ResTable$size>0,]
## function for extracting p values from moderated t-test and ordinary t-test on subset of data
GetStats = function(df2){
df = length(unique(df2$replicate))*2-1
lm2 = lmmain(df2)
df2=updateDf(df2,lm2)
ebfit2 = df2lmFit(df2)
ebfit2 = eBayes(ebfit2)
resTable = interactiontable(ebfit2,ord.t=TRUE)
resTable
}
ordstat=array(NA,c(3,101,10))
modstat= array(NA,c(3,101,10))
logstat = array(NA,c(3,101,10))
resTT = list()
for (i in 1:10){
dfsub = dfScl1[dfScl1$replicate%in%i,]
resTT = GetStats(dfsub)
thr = seq(0,1,0.01)
ordstat[,,i]=sapply(thr,function(x) ROCstat(thrs=x,stats="ord.p",testSet=resTT, trueNegSet = bench.neg.int, truePosSet = bench.pos.int))
modstat[,,i]=sapply(thr,function(x) ROCstat(thrs=x,stats="mod.p",testSet=resTT, trueNegSet = bench.neg.int, truePosSet = bench.pos.int))
thr = seq(1,0,-0.01)
logstat[,,i]=sapply(thr,function(x) ROCstat(thrs=x,stats="size",testSet=resTT, trueNegSet = bench.neg.int, truePosSet = bench.pos.int))
}
plotROC = function(ordstat,modstat,logstat,main="",...){
meanord = apply(ordstat,1:2,mean,na.rm=T)
meanmod = apply(modstat,1:2,mean,na.rm=T)
meanlog = apply(logstat,1:2,mean,na.rm=T)
col1 = hsv(0.8,0.7,0.7,0.4)
col2 = hsv(0.3,.7,.5,0.4)
col3 = hsv(0.6,.7,.7)
plot(NULL,ylim=c(0,1),xlim=c(0,0.3),ylab = "true positive rate", xlab = "false positive rate",main=main,...)
lines(meanord[2,],meanord[1,],col=col1,lwd=4)
lines(meanmod[2,],meanmod[1,],col=col2,lwd=4)
lines(meanlog[2,],meanlog[1,],col=col3,lwd=4)
legend("bottomright", legend = c("moderated t","normal t","effect size"), col= c(col2,col1,col3),lwd=4)
}
plotROC(ordstat,modstat,logstat,main="a")
ordstat=array(NA,c(3,101,25))
modstat= array(NA,c(3,101,25))
logstat = array(NA,c(3,101,25))
cc = combn(1:10,2)
r1= which(cc[1,]<6)
r2 =which(cc[2,]>5)
combs = cc[,intersect(r1,r2)]
for ( i in 1:ncol(combs)){
dfsub = dfScl1[dfScl1$replicate%in%combs[,i],]
resTT = GetStats(dfsub)
thr = seq(0,1,0.01)
ordstat[,,i]=sapply(thr,function(x) ROCstat(thrs=x,stats="ord.p",testSet=resTT, trueNegSet = bench.neg.int, truePosSet = bench.pos.int))
modstat[,,i]=sapply(thr,function(x) ROCstat(thrs=x,stats="mod.p",testSet=resTT, trueNegSet = bench.neg.int, truePosSet = bench.pos.int))
thr = seq(1,0,-0.01)
logstat[,,i]=sapply(thr,function(x) ROCstat(thrs=x,stats="size",testSet=resTT, trueNegSet = bench.neg.int, truePosSet = bench.pos.int))
}
plotROC(ordstat,modstat,logstat,main="b")
###################################################
### code chunk number 38: coRNAi.Rnw:674-683
###################################################
lmm = lmmain(dfScl2)
mm = estmodel(dfScl2,estimate="median")
par(mfrow=c(1,2))
plot(mm$coefficient,lmm$coefficient,pch=".",ylab="OLS estimates",
xlab="median estimates",main="main effects")
abline(0,1,col="red")
plot(mm$residuals,lmm$residuals,pch=".",ylab="OLS estimates",
xlab="median estimates",main="residuals")
abline(0,1,col="red")
###################################################
### code chunk number 39: coRNAi.Rnw:693-696
###################################################
par(mfrow=c(1,2))
MainFitPlot(mm,main="fitted by estmodel",pch=".")
MainFitPlot(lmm,main = "fitted by lmmain",pch=".")
###################################################
### code chunk number 40: sessionInfo
###################################################
sessionInfo()
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.