scramblase_assay_input_template(path = "scramblase_assay_input_template.txt")scramblase_assay_plot(x, scale_to = c("model", "data"),
ppr_scale_factor = 0.65, force_through_origin = TRUE,
generation_of_algorithm = c(2, 1), split_by_experiment = TRUE,
r_bar = 88, sigma_r_bar = 28)
scramblase_assay_stats(x, scale_to = c("model", "data"),
ppr_scale_factor = 0.65, force_through_origin = TRUE,
generation_of_algorithm = c(2, 1), split_by_experiment = TRUE,
r_bar = 88, sigma_r_bar = 28)
scramblase_assay_traces(x, ppr_scale_factor = 0.65, time_min_sec = NA_real_,
time_max_sec = NA_real_, adjust = TRUE)
character object giving the path of an empty
template for a spreadsheet that can provide x.data.frame or path to a tab delimited file
representing it (see "Details").ymax, defaulting to
model. See "Details".numeric object providing a scale factor
to adjust internally calculated Protein per Phospholipid (mg/mmol)
ratios (PPR; see "Details").logical indicating whether to force
the fitted curve(s) to penetrate the origin (defaulting to TRUE). See
"Details".2 or 1
(numeric; defaulting to 2). See "Details".logical, indicating whether or
not calculations and plots will treat experimental series from different
experiments separately (TRUE, default) or whether data from all
experiments included is used for a single calculation/plot per experimental
series (FALSE). While the former emphasizes reproducibility, the
latter likely produces a more reliable fit.numeric, representing the average radius of the
liposomes used in the assay. Only used in generatio_of_algorithm = 2
and defaulting to 88 (see Ploier et al. 2016 for details).numeric, representing the standard
deviationaverage of the radius distribution of the liposomes used in the
assay. Only used in generatio_of_algorithm = 2 and defaulting to
28 (see Ploier et al. 2016 for details).numeric. If given,
scramblase_assay_traces produces a time/x axis trimmed to
this value (in seconds).numeric. If given,
scramblase_assay_traces produces a time/x axis trimmed to
this value (in seconds).logical, indicating whether (default) or
not spectral traces to be plotted are algorithmically aligned at the time
point of dithionite addition.scramblase_assay_traces and scramblase_assay_plot return
ggplot objects representing the raw fluorescence traces and a
complete PPR plot, respectively. scramblaseAssayInputTemplate
generates a tab-delimited ASCII file in the file system and does not
provide further output. scramblaseAssayStats assembles (and prints)
assay statistics as a data.frame.data.frame accepted by the majority of the
functions a an R object or path to a corresponding file (x)
must have the following mandatory columns:
Path:ASCII output files
of a fluorimeter. See parse_fluorimeter_output for details and
supported formats.Protein Reconstituted (mg):Fluorescence Assay Vol. w/o DT (ul):2000).Fluorescence Assay Vol. with DT (ul):2040).Lipid in Reconstitution (mmol):0.0045 (1 ml of a
4.5 mM solution).Timepoint of Measurement (s):400).Experiment:facet_wrap during generation of ggplot output.
All data with one Experiment identifier ends up on one plot/facet.Experimental Series:Extract and Depleted Extract). Used by color during
generation of ggplot output to differentiate lines in the
same plot/facet.scramblase_assay_calculations):
data.frame
format above). The internal function
scramblase_assay_input_validation supplies this
functionality.
parse_fluorimeter_output. This includes automated
determination of when dithionite was added to the sample using
wmtsa-supplied methodology and resetting the acquisition time
accordingly (0 henceforth corresponds to the time of addition).
Baseline Fluorescence is determined for
each spectrum by averaging (median) over the 10
values preceding dithionite addition.
Minimum Fluorescence is determined
for each spectrum by averaging (median) over the last ten
datapoints \(\leq 400\,\mbox{s}\) (or
Timepoint of Measurement (s), see above).
Minimum Fluorescence is volume-corrected based on
Reaction Volume w/o DT (ul) and Reaction Volume with DT (ul)
(see above).
Fluorescence Reduction
is calculated as
$$1 - \left(\frac{\mbox{\small Minimum Fluorescence}}{\mbox{\small Baseline Fluorescence}}\right)$$
Relative Fluorescence Reduction is calculated in comparison
to the liposomes-only/no-protein control).
Protein per Phospholipid (mg/mmol) ratio (PPR) is
calculated. If ppr_scale_factor is not NULL, the value is
scaled (divided) by that value to account for liposomes that remain
inaccessible to reconstitution with scramblase molecules.
split_by_experiment, data are split
for parallel treatment using either Experimental Series
(split_by_experiment = TRUE) or a combined
Experimental Series/Experiment
(split_by_experiment = FALSE) identifier (see above).
Relative Fluorescence Reduction and \(y_0\)
is the Relative Fluorescence Reduction in an experiment without
addition of protein extract. Depending on the scale_to parameter,
\(y_{\mbox{\scriptsize max}}\) is either the maximal Relative Fluorescence Reduction
in the series (scale_to = "data") or derived from a
mono-exponential fit to the data (scale_to = "model"). The latter
(default) is a precaution for the case where the protein/phospholipid
titration did not reach the plateau of the saturation curve.
nlsLM. If generation_of_algorithm is 1, the underlying formula is
derived from Goren et al. (2014) and data is fitted to either
$$p(\geq 1)=b\cdot(1-e^{-\frac{\mbox{\tiny PPR}}{a}})$$
(if force_through_origin = TRUE; default) or
$$p(\geq 1)=b-c\cdot e^{-\frac{\mbox{\tiny PPR}}{a}}$$
(if force_through_origin = FALSE). The latter implies more degrees
of freedom and occasionaly results in better fits to experimental data.
Mechanistic implication, however, are unclear. If generation_of_algorithm is 2 (default), the more
elaborate model put forth in Ploier et al. (2016) is employed, using
either
$$p(\geq 1)=b\cdot(\frac{1}{\sqrt{1+\sigma^2\cdot a \cdot x}})\cdot exp(\frac{-\bar{r}^2\cdot a \cdot x}{1+\sigma^2\cdot a\cdot x})$$
(if force_through_origin = TRUE; default) or
$$p(\geq 1)=b-c\cdot(\frac{1}{\sqrt{1+\sigma^2\cdot a \cdot x}})\cdot exp(\frac{-\bar{r}^2\cdot a \cdot x}{1+\sigma^2\cdot a\cdot x})$$
(if force_through_origin = FALSE).
split apart above are recombined and a
ggplot object is assembled with the following layers:
geom_line) representing the monoexponential
fit(s). color is used to differentiate
Experimental Series.
generation_of_algorithm is 1, segments
(geom_segment) representing the PPR
at which the fit constant \(a\) is equal to PPR. This
\(\tau\) value has the implication that at this PPR all
vesicles on average have one scramblase and 63% have one or more
(i.e. are active). color is used to differentiate
Experimental Series. Where generation_of_algorithm is
2, interpretation of \(a\) is less obvious and this layer is
thus ommited in the plot.
geom_point) representing the corresponding
datapoints. color is used to differentiate
Experimental Series.
facet_wraped by Experiment
(if split_by_experiment = TRUE) and labels adjusted
cosmetically.parse_fluorimeter_output nlsLM## Not run: ------------------------------------
# library(magrittr)
# library(ggplot2)
# # Extract example data
# analysis_dir <- file.path(tempdir(), "flippant-case-study")
# extract_case_study_data(analysis_dir)
# template_file <- file.path(analysis_dir, "inputTable.txt")
# # Plot the spectral traces
# scramblase_assay_traces(
# template_file,
# time_max_sec = 350)
# # Plot the PPR plot(s) faceting by experiment
# scramblase_assay_plot(template_file)
# # Generate tabular results
# scramblase_assay_stats(template_file)
# # Plot the PPR plot(s) forgoing faceting by experiment
# scramblase_assay_plot(template_file, split_by_experiment = FALSE)
# # Generate tabular results
# scramblase_assay_stats(template_file, split_by_experiment = FALSE)
## ---------------------------------------------
Run the code above in your browser using DataLab