knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)
library(rwave)
library(dplyr)
library(purrr)
library(tidyr)
library(ggplot2)

Load the data

import_seahorse reads the excel file exported by the Wave desktop software (Agilent). Both the rate and raw data will be imported.

dat <- import_seahorse("~/Downloads/20180817 E68 BL C2C12.xlsx")
# the Rate data are included in the package
dat$Rate

mito_stress_test

Seahorse machine measures O2 pressure, we can visualize the raw data by using sketch_o2 function. This is the first step of quality control regarding Seahorse outputs. We can see some wells have infeasible O2 pressure values.

sketch_o2(dat$Raw)

rwave provdes two functions to visualize profiles of OCR and ECAR.

sketch_ocr(mito_stress_test)
sketch_ecar(mito_stress_test)

Seahorse data are usually interpreted based on a collection of representive OCR values. We can use the function summarize_ocr to find those values.

representive_ocr <- summarize_ocr(mito_stress_test)
glimpse(representive_ocr)

Once we have the representive OCRs, we can calculate glycoAPR and mitoAPR by using the function summarize_apr.

APR_dat <- summarize_apr(mito_stress_test, which_assay = "XFe96")
glimpse(APR_dat)

FInally we can visualize the bioenergetic sapce by using the function sketch_bioenergenic_space.

sketch_bioenergetic_space(APR_dat, average = TRUE, background = FALSE)

We can also visualize all the data rather than the average.

sketch_bioenergetic_space(APR_dat, average = FALSE)

Scientists use mito stress test to benchmark cellular metabolism. We can use a radar chart to visualize the results.

sketch_seahorse_radar(mito_stress_test, which_assay = "XFe96")

A common task of Seahorse analysis is to look for differences between experimental groups. rwave provides functions for statistic calculation as well as visualization. Notice that rwave uses nonparametric tests because it does not have the normality assumption.

# Compare APR between groups
compare_apr(mito_stress_test, stats.only = TRUE)

# Visualize APR difference between groups
compare_apr(mito_stress_test) %>% sketch_comparison_apr(which_apr = c("basal_mitoAPR", "basal_glycoAPR"))

We can perform similar analysis regarding OCR

# Compare OCR between groups
compare_ocr(mito_stress_test, stats.only = TRUE)

compare_ocr(mito_stress_test) %>% sketch_comparison_ocr(which_ocr = c("proton_leak", "fccp_ocr"))


XiangZhangSC/rwave documentation built on Aug. 26, 2020, 10:34 a.m.