library(tidyverse)
knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.path = "README-" ) knitr::knit_hooks$set(pngquant = knitr::hook_pngquant)
The goal of elisar is to handle Tecan Sunrise excel exports which were modified to include the plate layout and sample identifications. It will perform a 4PL regression (using the drc library) and return a data frame containing the concentrations corresponding to the O.D. values.
You can install elisar from github with:
# install.packages("devtools") devtools::install_github("koncina/elisar")
.xls files.1 to 12 and row names from A to H) to fill in the IDs for each deposited sample.std_key id (defaults to STD but can be adjusted in the elisa_analyse() function) merged to a trailing concentration value. For example: 250, 500 and 1000 pg/ml standard points would be encoded as STD250, STD500 and STD1000 (see wells in rows A-G and columns 11 to 12 in the screenshot below).id listing all IDs reported in the layout. One can add as much columns as required to fully describe the data._Example of a modified Excel file: _

Use the read_plate() to read in the O.D. values together with the IDs and extended informations as a data frame.\
A vector containing multiple files can be passed to read_plate(): These files can contain multiple data plates (O.D. values) but only a single layout and ID table should be present among all files.
library(tidyverse) library(elisar) elisar_example() %>% read_plate() %>% glimpse()
elisar_example() %>% read_plate() %>% elisa_analyse() %>% glimpse()
The elisa_analyse() function performs a 4 parameter logistic regression (using drc::drm()) and returns a data frame with the calculated concentration values.\
A warning is displayed when O.D. values are outside the standard curve range. These values will be tagged as FALSE in the in_range column.
The extract_standard() function extracts the standard points from the data frame (converting the dose values encoded in the id column to numbers)
elisar_example() %>% read_plate() %>% extract_standard(concentration, od) %>% arrange(concentration)
To render the regression curve, the output of extract_standard() can be used by ggplot() (with the elisar::stat_4pl() layer to draw the drc::drm() 4PL regression model).
elisar_example() %>% read_plate() %>% extract_standard() %>% ggplot(aes(x = concentration, y = od)) + scale_y_log10() + scale_x_log10() + annotation_logticks(sides = "lb") + geom_point(size = 3, alpha = 0.5) + stat_4pl(color = "red", size = 1) + labs(title = "Standard curve example", x = "Concentration in pg/ml", y = "O.D. value") + theme_classic()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.