scramblase_assay_input_template {flippant} | R Documentation |
scramblase_assay_plot
Description
Functions for the presentation and evaluaton of dithionite scramblase assays
Usage
scramblase_assay_input_template(
path = "scramblase_assay_input_template.txt",
input_directory = NULL,
overwrite = FALSE
)
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,
timepoint_of_measurement = 400,
n_averaging = 10,
annotate_traces = FALSE
)
Arguments
path |
|
input_directory |
if not |
overwrite |
|
x |
|
scale_to |
Defines the source of |
ppr_scale_factor |
|
force_through_origin |
|
generation_of_algorithm |
Either |
split_by_experiment |
A single |
r_bar |
A |
sigma_r_bar |
A |
time_min_sec |
A single |
time_max_sec |
A single |
adjust |
A single |
timepoint_of_measurement |
A |
n_averaging |
A |
annotate_traces |
A |
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. In the case of
scramblase_assay_traces
ONLY this may be abused by takingcharacter
values rather than the usually requirednumeric
s. Handy when e.g. plotting traces for "Liposomes" and "Proteoliposomes", rather than defined PPRs.
Further (facultative) columns are:
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.
Based on Goren et al. (2014) and Ploier et al. (2016) data is processed as
follows (the majority of the processing is split off into the internal
function 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 pracma-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 as1 - \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 theRelative Fluorescence Reduction
andy_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
.If
generation_of_algorithm
is1
, the underlying formula is derived from Goren et al. (2014) and data is fitted to eitherp(\geq 1)=b\cdot(1-e^{-\frac{\mbox{\tiny PPR}}{a}})
(if
force_through_origin = TRUE
; default) orp(\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
is2
(default), the more elaborate model put forth in Ploier et al. (2016) is employed, using eitherp(\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) orp(\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
).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 constanta
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 ofa
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.
Value
scramblase_assay_traces
and scramblase_assay_plot
return
ggplot
objects representing the raw fluorescence traces and a
complete PPR plot, respectively. scramblase_assay_input_template
generates a tab-delimited ASCII
file in the file system and invisibly
returns the path name. scramblase_assay_stats
assembles (and prints)
assay statistics as a data.frame
.
Author(s)
Johannes Graumann
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
parse_fluorimeter_output
nlsLM
Examples
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,
timepoint_of_measurement = 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)