View on GitHub

OpenCyto


A Robust BioConductor Framework for Automated Flow Data Analysis

OpenCyto Analysis of HVTN080

OpenCyto Analysis of HVTN080

The HVTN080 study flow cytometry data has been preprocessed (loaded in R from the raw FCS files and the FlowJo workspaces). The gating set is available here, and has been gated using OpenCyto.

We have gated the data using this OpenCyto template.

The manually gated data is available here, and contains the manual gates from the FlowJo workspaces.

The raw FCS files are available from flowrepository.org/id/FR-FCM-ZZ7U.

The data in the gating sets has already been compensated and transformed using the compensation and transformation information stored in the FlowJo workspaces.

The FlowJo workspaces for this data will be posted soon.

The code to perform the gating and extract the features is here.

Visualization of the gating hierarchy

We load the gated data and visualize the results.

suppressPackageStartupMessages(
  {require(flowWorkspace)
  require(flowViz)
  require(knitr)
  require(data.table)
  require(MIMOSA)
  require(GFMisc)
  require(scales)
  require(lme4)
  require(contrast)
  require(multcomp)
  require(COMPASS)
})
opts_chunk$set(list(message=FALSE,warning=FALSE))
WORKDIR<-"/Users/gfinak/Dropbox/GoTeam/Projects/Paper-OpenCytoPipeline/HVTN080/reproducible/"
AUTO<-"./gs_auto_clean"
MANUAL<-"./gs_manual_clean"
setwd(WORKDIR)
auto<-load_gs(AUTO)
## loading R object...
## loading tree object...
## Done
manual<-load_gs(MANUAL)
## loading R object...
## loading tree object...
## Done

Here is a view of the gating hierarchy for the manually gated data.

plot(manual[[1]])

plot of chunk unnamed-chunk-3

And here is the same for the OpenCyto gated data.

plot(auto[[1]])

plot of chunk unnamed-chunk-5

Visualize gating layouts for manual and automated gating

We can view dotplots of each gate from selected samples for each of the OpenCyto and manually gated data.

First, the OpenCyto gated data:

plotGate(auto[[1]],scales=list(cex=c(1.2,1.2)),par.strip.text=list(cex=1.4),xlab=list(fontsize=12),ylab=list(fontsize=12),par.settings=list(gate.text=list(cex=1)),path=2)

plot of chunk unnamed-chunk-6

Then the manually gated data:

plotGate(manual[[1]],scales=list(cex=c(1.2,1.2)),par.strip.text=list(cex=1.4),xlab=list(fontsize=12),ylab=list(fontsize=12),par.settings=list(gate.text=list(cex=1)),path=2)