# 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 provide`x`

.- x
`data.frame`

or path to a tab delimited file representing it (see "Details").- scale_to
- Defines the source of
`ymax`

, defaulting to`model`

. See "Details". - ppr_scale_factor
`numeric`

object providing a scale factor to adjust internally calculated`Protein 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 to`TRUE`

). See "Details".- generation_of_algorithm
- Either
`2`

or`1`

(`numeric`

; defaulting to`2`

). 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 in`generatio_of_algorithm = 2`

and defaulting to`88`

(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 in`generatio_of_algorithm = 2`

and defaulting to`28`

(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. See`parse_fluorimeter_output`

for details and supported formats. `Protein Reconstituted (mg)`

:- Self-explanatory.

**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 of`ggplot`

output. All data with one`Experiment`

identifier ends up on one plot/facet. `Experimental Series`

:- Identifier for a given series/graph (e.g.
`Extract`

and`Depleted Extract`

). Used by`color`

during generation of`ggplot`

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 function`scramblase_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}\) (or`Timepoint of Measurement (s)`

, see above). - The
`Minimum Fluorescence`

is volume-corrected based on`Reaction Volume w/o DT (ul)`

and`Reaction 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. 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. - Depending on
`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). - 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 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. - A monoexponential curve is fitted using
`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`

). - Data
`split`

apart above are recombined and a`ggplot`

object is assembled with the following layers:- Lines (
`geom_line`

) representing the monoexponential fit(s).`color`

is used to differentiate`Experimental Series`

. - If
`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. - Points (
`geom_point`

) representing the corresponding datapoints.`color`

is used to differentiate`Experimental Series`

. - Plots are finally
`facet_wrap`

ed by`Experiment`

(if`split_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)
## ---------------------------------------------
```

*Documentation reproduced from package flippant, version 1.1.0, License: GPL (>= 3)*