Calculates ATP production from glycolysis and OXPHOS at points defined in patitioned_data
Arguments
- partitioned_data
a data.table of organized Seahorse OCR and ECAR rates based on timepoints from the assay cycle. Returned by
partition_data
- ph
pH value for energetics calculation (for XF Media, 7.5)
- pka
pKa value for energetics calculation (for XF Media, 6.063)
- buffer
buffer for energetics calculation (for XF Media, 0.1 mpH/pmol H+)
Details
TODO: check that all symbols are defined
Proton production rate (PPR): $$\text{PPR} = \frac{\text{ECAR value}}{\text{buffer}}$$
$$ \text{PPR}_{\text{mito}} = \frac{10^{\text{pH}-\text{pK}_a}}{1+10^{\text{pH}-\text{pK}_a}} \cdot \frac{\text{H}^+}{\text{O}_2} \cdot \text{OCR} $$
calculates the proton production from glucose during its conversion to bicarbonate and \(\text{H}^+\) assuming max \(\frac{\text{H}^+}{\text{O}_2}\) of 1
$$ \text{PPR}_\text{glyc} = \text{PPR} - \text{PPR}_\text{resp} $$
calculates the proton production from glucose during its conversion to lactate + \(\text{H}^+\)
Joules of ATP (JATP) production:
$$ \text{ATP}_{\text{glyc}} = \Bigl(\text{PPR}_\text{glyc} \cdot \frac{\text{ATP}}{\text{lactate}}\Bigl) + \Bigl(\text{MITO}_\text{resp} \cdot 2 \cdot \frac{\text{P}}{\text{O}_\text{glyc}}\Bigl) $$
$$ \frac{\text{ATP}}{\text{lactate}} = 1 $$ with \(\frac{\text{P}}{{\text{O}_\text{glyc}}}\) = 0.167 for glucose (0.242 for glycogen).
$$ \text{ATP}_\text{resp} = \Bigl(\text{coupled MITO}_\text{resp} \cdot 2 \cdot \frac{\text{P}}{\text{O}_\text{oxphos}}\Bigl) + \Bigl(\text{MITO}_\text{resp} \cdot 2 \cdot \frac{\text{P}}{\text{O}_\text{TCA}}\Bigl) $$ with \(\frac{\text{P}}{{\text{O}_\text{oxphos}}}\) = 2.486 and \(\frac{\text{P}}{{\text{O}_\text{TCA}}}\) = 0.167.
Examples
rep_list <- system.file("extdata", package = "ceas") |>
list.files(pattern = "*.xlsx", full.names = TRUE)
seahorse_rates <- read_data(rep_list, sheet = 2)
partitioned_data <- partition_data(seahorse_rates)
energetics <- get_energetics(
partitioned_data,
ph = 7.4,
pka = 6.093,
buffer = 0.1
)
head(energetics, n = 10)
#> exp_group replicate ATP_basal_resp ATP_max_resp ATP_basal_glyc ATP_max_glyc
#> <fctr> <fctr> <num> <num> <num> <num>
#> 1: Group_1 1 1083.877 1125.075 176.42439 524.6518
#> 2: Group_1 1 1080.106 1117.407 129.69559 442.5421
#> 3: Group_1 1 1233.324 1278.141 141.43402 472.4431
#> 4: Group_1 2 1002.058 1042.796 95.13176 390.3254
#> 5: Group_1 2 1066.278 1107.473 87.08441 420.6239
#> 6: Group_1 2 1088.996 1127.567 107.80548 485.7402
#> 7: Group_1 2 1078.165 1114.478 127.14102 469.7935
#> 8: Group_1 2 1127.103 1172.258 114.74865 477.7720
#> 9: Group_1 2 1022.219 1058.623 137.66492 504.0603
#> 10: Group_1 2 1152.477 1195.666 103.91464 426.4569