###################################################
### chunk number 1: 
###################################################
#line 12 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
library(gplots)


###################################################
### chunk number 2: loadPacks
###################################################
#line 90 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
library(plateCore)
data(plateCore)


###################################################
### chunk number 3: 
###################################################
#line 94 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
ls()


###################################################
### chunk number 4: 
###################################################
#line 105 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
pbmcPlate


###################################################
### chunk number 5: 
###################################################
#line 116 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
head(wellAnnotation)


###################################################
### chunk number 6: 
###################################################
#line 128 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
wellAnnotation[50,]


###################################################
### chunk number 7: 
###################################################
#line 149 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
pbmcFP <- flowPlate(pbmcPlate,wellAnnotation,plateName="PBMC.001")


###################################################
### chunk number 8: 
###################################################
#line 155 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
pData(phenoData(pbmcPlate))[1,]
pData(phenoData(pbmcFP))[1,]


###################################################
### chunk number 9: 
###################################################
#line 163 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
rectGate <- rectangleGate("FSC-H"=c(300,700),"SSC-H"=c(50,400))
normGate <- norm2Filter("SSC-H","FSC-H",scale.factor=2.5)
pbmcFP.lymph <- Subset(pbmcFP, rectGate & normGate)


###################################################
### chunk number 10: lymphGate
###################################################
#line 171 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"

print(xyplot(`SSC-H` ~ `FSC-H` | as.factor(Well.Id),pbmcFP[93:96],smooth=FALSE,displayFilter=TRUE,col=c("red","blue"),
filter=rectangleGate("FSC-H"=c(300,700),"SSC-H"=c(50,400)) & norm2Filter("SSC-H","FSC-H",scale.factor=2.5)))	
  


###################################################
### chunk number 11: 
###################################################
#line 194 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
comp.mat <- spillover(x=compensationSet,unstain=sampleNames(compensationSet)[5],
patt=".*H",fsc="FSC-H",ssc="SSC-H",method="median")


###################################################
### chunk number 12:  eval=FALSE
###################################################
## #line 205 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
## pbmcFPcomp <- compensate(pbmcFP.lymph,comp.mat)


###################################################
### chunk number 13: 
###################################################
#line 219 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
pbmcFPbgc <- fixAutoFl(pbmcFP.lymph,fsc="FSC-H",chanCols=rownames(comp.mat))


###################################################
### chunk number 14: bgc1
###################################################
#line 228 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
temp <- pbmcFP.lymph[96]
fsMed <- log10(median(exprs(temp[[1]])[,"FSC-H"]))
temp <- fsApply(plateSet(temp),function(x) {
			flVals <- log10(exprs(x)[,"FL1-H"])
			fsc <-  log10(exprs(x)[,"FSC-H"])
			exprs(x)[,"FL1-H"] <- 10^(flVals+4*(fsc-fsMed))
			x
		})
temp2 <- as(list("0877408774.H12"=temp[[1]]),"flowSet")
wellTemp <- subset(wellAnnotation(pbmcFP),Well.Id=="H12")
temp2 <- flowPlate(temp2,wellTemp,plateName="H12")
temp2 <- fixAutoFl(temp2,fsc="FSC-H",chanCols=c("FL1-H","FL2-H"),unstain="0877408774.H12")
temp <- as(list("H11"=temp[[1]],"H11 (corrected)"=temp2[[1]]),"flowSet")
temp <- transform("FL1-H"=log10) %on% temp
print(flowViz::levelplot(`FL1-H` ~ `FSC-H` | as.factor(name),data=temp, ylim=c(0,2.2)))	


###################################################
### chunk number 15: 
###################################################
#line 261 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
fs <- plateSet(pbmcFP)


###################################################
### chunk number 16:  eval=FALSE
###################################################
## #line 268 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
## rectGate <- rectangleGate("FSC-H"=c(400,700),"SSC-H"=c(100,300))
## xyplot(`SSC-H` ~ `FSC-H` | as.factor(Well.Id), pbmcFP[1:2], displayFilter=TRUE,
## smooth=FALSE, col=c("red","blue"),filter=rectGate)


###################################################
### chunk number 17:  eval=FALSE
###################################################
## #line 277 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
## rectGate <- rectangleGate("FSC-H"=c(300,700),"SSC-H"=c(50,400))
## normGate <- norm2Filter("SSC-H","FSC-H",scale.factor=1.5)
## xyplot(`SSC-H` ~ `FSC-H` | as.factor(Well.Id), pbmcFP[1:4], displayFilter=TRUE, smooth=FALSE, col=c("red","blue"),filter=normGate & rectGate)


###################################################
### chunk number 18:  eval=FALSE
###################################################
## #line 289 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
## rectGate <- rectangleGate("FSC-H"=c(300,700),"SSC-H"=c(50,400))
## normGate <- norm2Filter("SSC-H","FSC-H",scale.factor=1.5)
## pbmcFP.lymph <- Subset(pbmcFP, rectGate & normGate)


###################################################
### chunk number 19: controlGates
###################################################
#line 299 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
pbmcFPbgc <- setControlGates(pbmcFPbgc,gateType="Negative.Control",numMads=5)
pbmcFPbgc <- applyControlGates(pbmcFPbgc)


###################################################
### chunk number 20:  eval=FALSE
###################################################
## #line 315 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
## xyplot(`FL1-H` ~ `FSC-H` | as.factor(Well.Id), 
## transform("FL1-H"=log10) %on% pbmcFPbgc, displayFilter=TRUE,
## smooth=FALSE,col=c("red","blue"),filter="Negative.Control")


###################################################
### chunk number 21: isoGate1
###################################################
#line 323 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"

wells <- unique(subset(pbmcFPbgc@wellAnnotation,Negative.Control=="A03",select="name")[,1])
print(xyplot(`FL1-H` ~ `FSC-H` | as.factor(Well.Id), transform("FL1-H"=log10) %on% pbmcFPbgc[wells], displayFilter=TRUE,smooth=FALSE, col=c("red","blue"),
filter="Negative.Control"))



###################################################
### chunk number 22:  eval=FALSE
###################################################
## #line 351 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
## wells <- unique(subset(pbmcFPbgc@wellAnnotation,Negative.Control=="A03",
##   select="name")[,1])
## xyplot(`FL1-H` ~ `FSC-H` | as.factor(Well.Id), 
##   transform("FL1-H"=log10) %on% pbmcFPbgc[wells], 
##   displayFilter=TRUE,smooth=FALSE, col=c("red","blue"),
##   filter="Negative.Control")


###################################################
### chunk number 23:  eval=FALSE
###################################################
## #line 369 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
## wells <- unique(subset(pbmcFPbgc@wellAnnotation,Negative.Control=="A06",
##   select="name")[,1])
## xyplot(`FL1-H` ~ `FSC-H` | as.factor(Well.Id), 
##   transform("FL1-H"=log10) %on% pbmcFPbgc[wells], 
##   displayFilter=TRUE,smooth=FALSE, col=c("blue","green"),
##   filter="Negative.Control",filterResults="Negative.Control")


###################################################
### chunk number 24:  eval=FALSE
###################################################
## #line 380 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
## xyplot(log10(`FL1-H`) ~ `FSC-H` | as.factor(Well.Id), pbmcFPbgc[wells], 
## displayFilter=TRUE,smooth=FALSE, col=c("blue","green"),
## filter="Negative.Control",filterResults="Negative.Control")


###################################################
### chunk number 25: isoGate2
###################################################
#line 388 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"

wells <- unique(subset(pbmcFPbgc@wellAnnotation,Negative.Control=="A06",select="name")[,1])

print(xyplot(`FL1-H` ~ `FSC-H` | as.factor(Well.Id), transform("FL1-H"=log10) %on% pbmcFPbgc[wells], displayFilter=TRUE,smooth=FALSE, col=c("blue","green"),
filter="Negative.Control",filterResults="Negative.Control"))



###################################################
### chunk number 26: 
###################################################
#line 409 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
pbmcFPbgc <- summaryStats(pbmcFPbgc)


###################################################
### chunk number 27: 
###################################################
#line 413 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
colnames(pbmcFPbgc@wellAnnotation)


###################################################
### chunk number 28:  eval=FALSE
###################################################
## #line 427 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
## controlGroups <- getGroups(pbmcFPbgc,chan="FL1-H")
## 
## print(xyplot(`FL1-H` ~ `FSC-H` | as.factor(Well.Id),
## 	transform("FL1-H"=log10) %on% pbmcFPbgc[controlGroups[[3]]],
## 	displayFilter=TRUE,
## 	smooth=FALSE,
## 	col=c("red","blue"),
## 	filter="Negative.Control",
## 	flowStrip=c("Well.Id","Ab.Name","Percent.Positive")))


###################################################
### chunk number 29:  eval=FALSE
###################################################
## #line 441 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
## write.csv(pbmcFPbgc@wellAnnotation,file="PMBC.001.csv")


###################################################
### chunk number 30: isoGate3
###################################################
#line 448 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
controlGroups <- getGroups(pbmcFPbgc,chan="FL1-H")

print(xyplot(`FL1-H` ~ `FSC-H` | as.factor(Well.Id),
				transform("FL1-H"=log10) %on% pbmcFPbgc[controlGroups[[3]]],
				displayFilter=TRUE,
				smooth=FALSE,
				col=c("red","blue"),
				filter="Negative.Control",
				flowStrip=c("Well.Id","Ab.Name","Percent.Positive")))


###################################################
### chunk number 31: 
###################################################
#line 481 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
summary(wellAnnotation(pbmcFPbgc)$Total.Count)


###################################################
### chunk number 32:  eval=FALSE
###################################################
## #line 492 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
## print(flowViz::ecdfplot(~`FSC-H` | as.factor(Column.Id),
##  data=plateSet(pbmcFPbgc), groups=Row.Id, auto.key=TRUE))


###################################################
### chunk number 33:  eval=FALSE
###################################################
## #line 511 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
## mfiPlot(fp,thresh=2,xlab="MFI Ratio (Test MFI / Isotype MFI)",xlim=c(0.1,250),
## 		ylab="Percentage of cells above the isotype gate",pch=23)


###################################################
### chunk number 34: ecdf
###################################################
#line 520 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
print(flowViz::ecdfplot(~`FSC-H` | as.factor(Column.Id),
				data=plateSet(pbmcFPbgc), groups=Row.Id, auto.key=TRUE))


###################################################
### chunk number 35: mfiRatio
###################################################
#line 534 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
mfiPlot(pbmcFPbgc,thresh=2,xlab="MFI Ratio (Test MFI / Isotype MFI)",xlim=c(0.1,250),
		ylab="Percentage of cells above the isotype gate",pch=23)


###################################################
### chunk number 36:  eval=FALSE
###################################################
## #line 563 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
## plateName <- "lymph08774"
## 
## plateDescription <- read.delim("pmbcPlateLayout.csv",
## 	as.is=TRUE,header=TRUE,stringsAsFactors=FALSE)
## 
## platePBMCraw <- flowPlate(data=read.flowSet(path="data/pbmc/08774"),
## 	plateDescription,plateName=plateName)
## 
## platePBMC <- Subset(platePBMCraw,
## 	rectangleGate("FSC-H"=c(300,700),"SSC-H"=c(50,400)) & 
## 	norm2Filter("SSC-H","FSC-H",scale.factor=1.5))
## 
## platePBMC <- setControlGates(platePBMC,gateType="Negative.Control")
## 
## platePBMC <- applyControlGates(platePBMC)
## 
## platePBMC <- summaryStats(platePBMC)
## 
## save.image(file=paste("pbmcRData/",plateName,".Rdata",sep=""))


###################################################
### chunk number 37:  eval=FALSE
###################################################
## #line 589 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
## fileNames <- list.files("pbmcRData",full.names=TRUE)
## plates <- lapply(fileNames,function(x){
## 			load(x)
## 			platePBMC
## 		})
## virtPlate <- fpbind(plates[[1]],plates[[2]],plates[[3]],plates[[4]],plates[[5]])


###################################################
### chunk number 38:  eval=FALSE
###################################################
## #line 601 "vignettes/plateCore/inst/doc/plateCoreVig.Rnw"
## print(densityplot(~ `FL2-H` | as.factor(plateName),
## 	transform("FL2-H"=log10) %on% virtPlate[c("C02","C03","A05")],
## 	layout=c(3,2),xlim=c(-0.2,2.5),
## 	filterResult="Negative.Control",lty=c(1,2,3,4),
## 	col=c('blue','black','red')))