scramblase_assay_input_template
scramblase_assay_plot
Functions for the presentation and evaluaton of dithionite scramblase assays
Usage
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)
Arguments
- path
character
object giving the path of an empty template for a spreadsheet that can providex
.- x
data.frame
or path to a tab delimited file representing it (see "Details").- scale_to
- Defines the source of
ymax
, defaulting tomodel
. See "Details". - ppr_scale_factor
numeric
object providing a scale factor to adjust internally calculatedProtein per Phospholipid (mg/mmol)
ratios (PPR
; see "Details").- force_through_origin
logical
indicating whether to force the fitted curve(s) to penetrate the origin (defaulting toTRUE
). See "Details".- generation_of_algorithm
- Either
2
or1
(numeric
; defaulting to2
). See "Details". - split_by_experiment
- A single
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. - r_bar
- A
numeric
, representing the average radius of the liposomes used in the assay. Only used ingeneratio_of_algorithm = 2
and defaulting to88
(see Ploier et al. 2016 for details). - sigma_r_bar
- A
numeric
, representing the standard deviationaverage of the radius distribution of the liposomes used in the assay. Only used ingeneratio_of_algorithm = 2
and defaulting to28
(see Ploier et al. 2016 for details). - time_min_sec
- A single
numeric
. If given,scramblase_assay_traces
produces a time/x axis trimmed to this value (in seconds). - time_max_sec
- A single
numeric
. If given,scramblase_assay_traces
produces a time/x axis trimmed to this value (in seconds). - adjust
- A single
logical
, indicating whether (default) or not spectral traces to be plotted are algorithmically aligned at the time point of dithionite addition.
Details
The 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
:- Paths to existing and readable
ASCII
output files of a fluorimeter. Seeparse_fluorimeter_output
for details and supported formats. Protein Reconstituted (mg)
:- Self-explanatory.
Fluorescence Assay Vol. w/o DT (ul)
:- Volume of the
fluorescence assay prior to addition of ditihionite (defaulting to
2000
). Fluorescence Assay Vol. with DT (ul)
:- Volume of the
fluorescence assay after the addition ditihionite (defaulting to
2040
). Lipid in Reconstitution (mmol)
:- Self-explanatory. For the
standard phospholipid experiment defaulting to
0.0045
(1 ml of a 4.5 mM solution). Timepoint of Measurement (s)
:- The time to determine terminal
fluorescence, calculated from the point when dithionite is added, in
seconds, defaulting to
400
). Experiment
:- Identifier for any given experiment. Used for
facet_wrap
during generation ofggplot
output. All data with oneExperiment
identifier ends up on one plot/facet. Experimental Series
:- Identifier for a given series/graph (e.g.
Extract
andDepleted Extract
). Used bycolor
during generation ofggplot
output to differentiate lines in the same plot/facet.
scramblase_assay_calculations
):
- Input is format checked and defaults are injected for facultative
parameters/columns as appropriate (see input
data.frame
format above). The internal functionscramblase_assay_input_validation
supplies this functionality. - Fluorescence spectra are parsed using
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). - Pre-dithionite-addition
Baseline Fluorescence
is determined for each spectrum by averaging (median
) over the 10 values preceding dithionite addition. - Post-dithinonite-addition
Minimum Fluorescence
is determined for each spectrum by averaging (median
) over the last ten datapoints \(\leq 400\,\mbox{s}\) (orTimepoint of Measurement (s)
, see above). - The
Minimum Fluorescence
is volume-corrected based onReaction Volume w/o DT (ul)
andReaction Volume with DT (ul)
(see above). - For each spectrum/datapoint a measured
Fluorescence Reduction
is calculated as $$1 - \left(\frac{\mbox{\small Minimum Fluorescence}}{\mbox{\small Baseline Fluorescence}}\right)$$ - A
Relative Fluorescence Reduction
is calculated in comparison to the liposomes-only/no-protein control). - A
Protein per Phospholipid (mg/mmol)
ratio (PPR
) is calculated. Ifppr_scale_factor
is notNULL
, the value is scaled (divided) by that value to account for liposomes that remain inaccessible to reconstitution with scramblase molecules. - Depending on
split_by_experiment
, data aresplit
for parallel treatment using eitherExperimental Series
(split_by_experiment = TRUE
) or a combinedExperimental Series
/Experiment
(split_by_experiment = FALSE
) identifier (see above). - A probability for a liposome holding \(\geq 1\) scramblase
molecules is calculated using
$$\frac{y-y_0}{y_{\mbox{\scriptsize max}}-y_0}$$
where \(y\) is the
Relative Fluorescence Reduction
and \(y_0\) is theRelative Fluorescence Reduction
in an experiment without addition of protein extract. Depending on thescale_to
parameter, \(y_{\mbox{\scriptsize max}}\) is either the maximalRelative 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. - A monoexponential curve is fitted using
nlsLM
. Ifgeneration_of_algorithm
is1
, 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}})$$ (ifforce_through_origin = TRUE
; default) or $$p(\geq 1)=b-c\cdot e^{-\frac{\mbox{\tiny PPR}}{a}}$$ (ifforce_through_origin = FALSE
). The latter implies more degrees of freedom and occasionaly results in better fits to experimental data. Mechanistic implication, however, are unclear. Ifgeneration_of_algorithm
is2
(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})$$ (ifforce_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})$$ (ifforce_through_origin = FALSE
). - Data
split
apart above are recombined and aggplot
object is assembled with the following layers:- Lines (
geom_line
) representing the monoexponential fit(s).color
is used to differentiateExperimental Series
. - If
generation_of_algorithm
is1
, segments (geom_segment
) representing thePPR
at which the fit constant \(a\) is equal toPPR
. This \(\tau\) value has the implication that at thisPPR
all vesicles on average have one scramblase and 63% have one or more (i.e. are active).color
is used to differentiateExperimental Series
. Wheregeneration_of_algorithm
is2
, interpretation of \(a\) is less obvious and this layer is thus ommited in the plot. - Points (
geom_point
) representing the corresponding datapoints.color
is used to differentiateExperimental Series
. - Plots are finally
facet_wrap
ed byExperiment
(ifsplit_by_experiment = TRUE
) and labels adjusted cosmetically.
- Lines (
Value
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
.
References
Menon, I., Huber, T., Sanyal, S., Banerjee, S., Barre, P., Canis, S., Warren, J.D., Hwa, J., Sakmar, T.P., and Menon, A.K. (2011) <DOI:10.1016/j.cub.2010.12.031> Goren, M.A., Morizumi, T., Menon, I., Joseph, J.S., Dittman, J.S., Cherezov, V., Stevens, R.C., Ernst, O.P., and Menon, A.K. (2014) <DOI:10.1038/ncomms6115> Ploier, B., Caro, L.N., Morizumi, T., Pandey, K., Pearring, J.N., Goren, M.A., Finnemann, S.C., Graumann, J., Arshavsky, V.Y., Dittman, J.S., Ernst, O.P., Menon, A.K. (2016). <DOI:10.1038/ncomms12832>
See Also
Examples
## 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)
## ---------------------------------------------