| 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
ASCIIoutput files of a fluorimeter. Seeparse_fluorimeter_outputfor details and supported formats.Protein Reconstituted (mg):Self-explanatory. In the case of
scramblase_assay_tracesONLY this may be abused by takingcharactervalues rather than the usually requirednumerics. 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_wrapduring generation ofggplotoutput. All data with oneExperimentidentifier ends up on one plot/facet.Experimental Series:Identifier for a given series/graph (e.g.
ExtractandDepleted Extract). Used bycolorduring generation ofggplotoutput 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.frameformat above). The internal functionscramblase_assay_input_validationsupplies 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 (0henceforth corresponds to the time of addition).Pre-dithionite-addition
Baseline Fluorescenceis determined for each spectrum by averaging (median) over the 10 values preceding dithionite addition.Post-dithinonite-addition
Minimum Fluorescenceis determined for each spectrum by averaging (median) over the last ten datapoints\leq 400\,\mbox{s}(orTimepoint of Measurement (s), see above).The
Minimum Fluorescenceis volume-corrected based onReaction Volume w/o DT (ul)andReaction Volume with DT (ul)(see above).For each spectrum/datapoint a measured
Fluorescence Reductionis calculated as1 - \left(\frac{\mbox{\small Minimum Fluorescence}}{\mbox{\small Baseline Fluorescence}}\right)A
Relative Fluorescence Reductionis calculated in comparison to the liposomes-only/no-protein control).A
Protein per Phospholipid (mg/mmol)ratio (PPR) is calculated. Ifppr_scale_factoris 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 aresplitfor 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 1scramblase molecules is calculated using\frac{y-y_0}{y_{\mbox{\scriptsize max}}-y_0}where
yis theRelative Fluorescence Reductionandy_0is theRelative Fluorescence Reductionin an experiment without addition of protein extract. Depending on thescale_toparameter,y_{\mbox{\scriptsize max}}is either the maximalRelative Fluorescence Reductionin 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_algorithmis1, 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_algorithmis2(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
splitapart above are recombined and aggplotobject is assembled with the following layers:Lines (
geom_line) representing the monoexponential fit(s).coloris used to differentiateExperimental Series.If
generation_of_algorithmis1, segments (geom_segment) representing thePPRat which the fit constantais equal toPPR. This\tauvalue has the implication that at thisPPRall vesicles on average have one scramblase and 63% have one or more (i.e. are active).coloris used to differentiateExperimental Series. Wheregeneration_of_algorithmis2, interpretation ofais less obvious and this layer is thus ommited in the plot.Points (
geom_point) representing the corresponding datapoints.coloris used to differentiateExperimental Series.Plots are finally
facet_wraped 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)