rm(list=ls(all=TRUE)) library(flowCore) library(flowStats) library(flowViz) # for flow data visualization data(ITN) str(ITN) pData(ITN) sampleNames(ITN) <- as.character(pData(ITN)[, "PatientID"]) pData(ITN)[,"Tube"] <- as.character(pData(ITN)[, "PatientID"]) pData(ITN) ITN[[1]] exprs(ITN[[1]]) head(exprs(ITN[[1]])) parameters(ITN[[1]]) #like exprs, works on flowFrame pData(parameters(ITN[[1]])) tail(exprs(ITN[[1]]),30) splom(ITN[[1]]) x=seq(0,10,0.1) y=asinh(x) plot(x,y) # similar to a log transformation tData=transform(ITN, transformList(colnames(ITN)[3:7],asinh) ) splom(tData[[1]]) xyplot(SSC ~ FSC, data = tData) xyplot(CD4 ~ CD8, data = tData) (wf <- workFlow(ITN,name="epbi473")) (asinh <- arcsinhTransform()) tL <- transformList(colnames(ITN)[3:7], asinh, transformationId = "asinh") tL add(wf, tL) wf lg <- lymphGate(Data(wf[["asinh"]]), channels=c("SSC", "CD3"), preselection="CD4", filterId="TCells", eval=FALSE, scale=2.5) add(wf, lg$n2gate, parent="asinh") plot(wf) xyplot(SSC ~ CD3| PatientID, wf[["TCells+"]], par.settings=list(gate=list(col="red", fill="red", alpha=0.3))) (pars <- colnames(Data(wf[["base view"]]))[c(3,4,5,7)]) densityplot(PatientID~., Data(wf[["TCells+"]]), channels=pars, groups=GroupID, scales=list(y=list(draw=F)), filter=lapply(pars, curv1Filter), layout=c(4,1)) norm <- normalization(normFun=function(x, parameters, ...) warpSet(x, parameters, ...), parameters=pars, arguments=list(grouping="GroupID", monwrd=TRUE), normalizationId="Warping") add(wf, norm, parent="TCells+") plot(wf) densityplot(PatientID~., Data(wf[["Warping"]]), channels=pars, groups=GroupID, scales=list(y=list(draw=F)), filter=lapply(pars, curv1Filter), layout=c(4,1)) qgate <- quadrantGate(Data(wf[["Warping"]]), stains=c("CD4", "CD8"), filterId="CD4CD8", sd=3) add(wf, qgate, parent="Warping") xyplot(CD8 ~ CD4 | PatientID, wf[["CD4+CD8+"]], par.settings=list(gate=list(fill="transparent", col="red"))) CD69rg <- rangeGate(Data(wf[["Warping"]]), stain="CD69", alpha=0.75, filterId="CD4+CD8-CD69", sd=2.5) add(wf, CD69rg, parent="CD4+CD8-") densityplot(PatientID ~ CD69, Data(wf[["CD4+CD8-"]]), main = "CD4+", groups=GroupID, refline=CD69rg@min) dat <- Data(wf[["Warping"]]) xyplot(CD8 ~ CD4 , dat, main= "Experimental data set") datComb <- as(dat,"flowFrame") subCount <- nrow(exprs(datComb))/length(dat) sf <- sampleFilter(filterId="mySampleFilter", size=subCount) fres <- filter(datComb, sf) ctrlData <- Subset(datComb, fres) ctrlData <- ctrlData[,-ncol(ctrlData)] ##remove the column name "original" minRow=subCount*0.05 refBins<-proBin(ctrlData,minRow,channels=c("CD4","CD8")) plotBins(refBins,ctrlData,channels=c("CD4","CD8"),title="Control Data") sampBins <- fsApply(dat,function(x){ binByRef(refBins,x) }) pearsonStat <- lapply(sampBins,function(x){ calcPearsonChi(refBins,x) }) sCount <- fsApply(dat,nrow) pBStat <-lapply(seq_along(sampBins),function(x){ calcPBChiSquare(refBins,sampBins[[x]],subCount,sCount[x]) }) par(mfrow=c(4,4),mar=c(1.5,1.5,1.5,1.5)) plotBins(refBins,ctrlData,channels=c("CD4","CD8"),title="Control Data") patNames <-sampleNames(dat) tm<-lapply(seq_len(length(dat)),function(x){ plotBins(refBins,dat[[x]],channels=c("CD4","CD8"), title=patNames[x], residuals=pearsonStat[[x]]$residuals[2,], shadeFactor=0.7) } ) chi_Square_Statistic <- unlist(lapply(pearsonStat,function(x){ x$statistic })) pBin_Statistic <-unlist(lapply(pBStat,function(x){ x$pbStat })) frame <- data.frame(chi_Square_Statistic, pBin_Statistic) rownames(frame) <- patNames frame