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_wrap
ed 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