Learn R Programming

respirometry (version 2.0.0)

calc_pcrit: Calculate Pcrit

Description

Calculates Pcrit (commonly understood as the threshold below which oxygen consumption rate can no longer be sustained) based on paired PO2 and MO2 values. Five Pcrit metrics are returned using many of the popular techniques for Pcrit calculation: the traditional breakpoint metric (broken stick regression), the nonlinear regression metric (Marshall et al. 2013), the sub-prediction interval metric (Birk et al. 2019), the alpha-based Pcrit method (Seibel et al. 2021), and the linear low O2 (LLO) method (Reemeyer & Rees 2019). To see the Pcrit values plotted, see plot_pcrit.

Usage

calc_pcrit(
  po2,
  mo2,
  mo2_data,
  method = "Breakpoint",
  avg_top_n = 1,
  level = 0.95,
  iqr = 1.5,
  NLR_m = 0.065,
  MR = NULL,
  mo2_threshold = Inf,
  return_models = FALSE
)

Value

If return_models is FALSE (default), a numeric Pcrit value is returned based on method. If method == "All", a named numeric vector of Pcrit values calculated using the Alpha, Breakpoint, LLO, NLR, and Sub_PI metrics is returned. If return_models is TRUE, then a list of converged Pcrit values, along with breakpoint function parameters, the MR value used for calculating Pcrit-alpha, a data frame of the "oxyregulating" portion of the curve, and NLR parameters are returned.

Arguments

po2

a vector of PO2 values. Any unit of measurement should work, but the NLR calculation was optimized using kPa. If the NLR metric is giving you trouble, try converting to kPa using conv_o2.

mo2

a vector of metabolic rate values. Must be the same length and corresponding to po2.

mo2_data

for convenience, the output of calc_MO2 can be entered here, as an alternative to specifying the po2 and mo2 parameters (optional).

method

Over the years, many different methods of analysis have been proposed to quantify Pcrit. You must choose one of the following: Alpha, Breakpoint (default), LLO, NLR, Sub_PI, All. If in doubt, try "All".

avg_top_n

applies to the alpha metric only (only when method == "Alpha" or "All"). A numeric value representing the number of top \(\alpha0\) (MO2/PO2) values to average together to estimate \(\alpha\). Default is 1. We recommend no more than 3 to avoid diminishing the \(\alpha\) value with sub-maximal observations.

level

applies to the Sub_PI metric only (only when method == "Sub_PI" or "All"). Percentage at which the prediction interval should be constructed. Default is 0.95.

iqr

applies to the Sub_PI metric only (only when method == "Sub_PI" or "All"). Removes mo2 observations that are this many interquartile ranges away from the mean value for the oxyregulating portion of the trial. If this filtering is not desired, set to infinity. To visualize which observations will be removed by this parameter, use plot_pcrit. Default is 1.5.

NLR_m

applies to the NLR metric only (only when method == "NLR" or "All"). Pcrit is defined as the PO2 at which the slope of the best fitting function equals NLR_m (after the MO2 data are normalized to the 90% quantile). Default is 0.065.

MR

applies to the alpha and LLO metrics only (only when method == "Alpha", "LLO" or "All"). A numeric value for the metabolic rate at which pcrit_alpha and pcrit_LLO should be returned. If not supplied by the user, then the mean MO2 of the "oxyregulating" portion of the curve is applied for pcrit_alpha and NA is returned for pcrit_LLO.

mo2_threshold

applies to the alpha metric only (only when method == "Alpha" or "All"). A single numeric value above which mo2 values are ignored for alpha Pcrit estimation. Useful to removing obviously erroneous values. Default is Inf.

return_models

logical. Should a list of model parameters be returned along with the converged Pcrit values? Default is FALSE.

Author

Matthew A. Birk, matthewabirk@gmail.com

Details

Alpha Pcrit

Alpha is calculated from calc_alpha and the Pcrit corresponding to MR is returned. This determine's the animal's oxygen supply capacity and calculates the Pcrit at any given metabolic rate of interest. If no MR is provided, then it defaults to the mean MO2 value from the oxyregulating portion of the curve (as defined by the broken-stick regression).

Breakpoint Pcrit

Data are fit to a broken-stick regression using segmented.

LLO Pcrit

A subset of observations are chosen only from those with an MO2 < MR. Then, a linear model is fit through the observations and Pcrit is calculated as the PO2 at which the line reaches MR.

NLR Pcrit

Data are fit to the following functions: Michaelis-Menten, Power, Hyperbola, Pareto, and Weibull with intercept. Following the method developed by Marshall et al. 2013, the function that best fits the data (smallest AIC) is chosen and the Pcrit is determined as the PO2 at which the slope of the function is NLR_m (by default = 0.065 following the authors' suggestion).

Sub_PI Pcrit

This metric builds off the Breakpoint metric and results in a systematically lower Pcrit value. This is useful for applications where it is important to ensure that Pcrit is not being overestimated. It represents a reasonable lower bounded estimate of the Pcrit value for a given trial. Once the Breakpoint Pcrit is calculated, a 95% prediction interval (can be changed with the level argument) is calculated around the oxyregulating region (i.e. using PO2 values > breakpoint Pcrit). By default, iqr provides some filtering of abberant observations to prevent their influence on the calculated prediction interval. Finally, the Sub_PI Pcrit value is returned at the intersection of the oxyconforming line and the lower limit of the oxyregulating prediction interval.

References

Birk, Matthew A., K.A.S. Mislan, Karen F. Wishner, and Brad A. Seibel. 2019. “Metabolic Adaptations of the Pelagic Octopod Japetella Diaphana to Oxygen Minimum Zones.” Deep-Sea Research Part I 148: 123–31.

Marshall, Dustin J., Michael Bode, and Craig R. White. 2013. “Estimating Physiological Tolerances - a Comparison of Traditional Approaches to Nonlinear Regression Techniques.” Journal of Experimental Biology 216(12): 2176–82.

Reemeyer, Jessica E., and Bernard B. Rees. 2019. “Standardizing the Determination and Interpretation of Pcrit in Fishes.” Journal of Experimental Biology 222(18): jeb210633.

Seibel, B. A., A. Andres, M. A. Birk, A. L. Burns, C. T. Shaw, A. W. Timpe, C. J. Welsh. 2021. “Oxygen supply capacity breathes new life into the critical oxygen partial pressure (Pcrit).” Journal of Experimental Biology.

See Also

plot_pcrit, calc_MO2, conv_o2, calc_alpha

Examples

Run this code
raw_data <- system.file('extdata/pcrit_run/', package = 'respirometry')
o2_data <- import_pyroscience_workbench(folder = raw_data)
mo2_data <- calc_MO2(duration = o2_data$DURATION, o2 = o2_data$CH_1_O2, bin_width = 10, vol = 3)
calc_pcrit(mo2_data = mo2_data)
calc_pcrit(po2 = mo2_data$O2_MEAN, mo2 = mo2_data$MO2, method = 'All', MR = 100)

Run the code above in your browser using DataLab