--- title: "SDY180: Abundance of Plasmablasts Measured by Multiparameter Flow Cytometry" author: "Renan Sauteraud" date: "`r Sys.Date()`" output: html_vignette: toc: true number_sections: true vignette: > %\VignetteIndexEntry{SDY180: Abundance of Plasmablasts Measured by Multiparameter Flow Cytometry} %\VignetteEngine{knitr::rmarkdown} --- ```{r knitr-opts, echo = FALSE, message = FALSE, cache = FALSE} library(knitr) opts_chunk$set(cache = FALSE, echo = TRUE, message = FALSE, warning = FALSE, fig.width = 10, fig.height = 14, dpi = 100, fig.align = "center") ``` ```{r netrc_req, echo = FALSE} # This chunk is only useful for BioConductor checks and shouldn't affect any other setup if (!any(file.exists("~/.netrc", "~/_netrc"))) { labkey.netrc.file <- ImmuneSpaceR:::get_env_netrc() labkey.url.base <- ImmuneSpaceR:::get_env_url() } ``` `ImmuneSpaceR` code produces consistent results, regardless of whether it is being executed from a module or a UI based report on the server or on a local machine. This vignette reproduces a report available on the ImmuneSpace portal using the same code. # Summary This report investigate the abundance of plasmablast (and other B cell subsets) over time after vaccination with Pneumovax, Fluzone, or no vaccination (saline control group). It can be seen on the three figures below that the plasmablast subset peaks at day 7 in both vaccine groups, with a stronger and more durable response with Pneumovax. As expected, there is no clear peak in the saline group. These results are similar to those reported in Figure 6B of Obermoser et al. (2013) published as part of the original study. # Load ImmuneSpaceR and other libraries ```{r libraries, cache=FALSE} library(ImmuneSpaceR) library(ggplot2) library(data.table) ``` # Connect to the study and get the flow cytometry results ```{r connection} study <- CreateConnection(c("SDY180")) dt_fcs <- study$getDataset("fcs_analyzed_result") ``` # Subset the population of interest ```{r data-subset} dt_fcs19 <- dt_fcs[population_name_reported %like% "Plasma"] dt_fcs19 <- dt_fcs19[, cohort := gsub("Study g", "G", cohort), ] ``` # Compute the median ```{r data-summary} dt_fcs19_median <- dt_fcs19[, .(median_cell_reported = median(as.double(population_cell_number) + 1, na.rm = TRUE)), by = .(cohort,study_time_collected,population_name_reported)] ``` # Flow cytometry vs. ELISPOT ```{r, dev='png'} ggplot(dt_fcs19, aes(x = as.factor(study_time_collected), y = as.double(population_cell_number) + 1)) + geom_boxplot() + geom_jitter() + scale_y_log10() + facet_grid(cohort~population_name_reported, scale = "free") + xlab("Time") + ylab(expression(paste("Number of cells/", mu, "l"))) + geom_line(data = dt_fcs19_median, aes(x = as.factor(study_time_collected), y = as.double(median_cell_reported), group = 1), color = "black", size = 1.2) + labs(title = "Plasma cell abundance after vaccination") + theme_IS() ```