Package 'IsletCalc'

Title: Calculators for Insulin and Glucagon Release Indices
Description: Facilitates the calculation of validated pancreatic islet hormone-release indices from fasting and oral glucose tolerance test (OGTT) measurements. Provides beta-cell insulin release indices (including HOMA-beta, corrected insulin response, Stumvoll first-phase index, BIGTT-AIR, and disposition indices) as described in Madsen (2024) <doi:10.1038/s42255-024-01140-6>, alongside alpha-cell glucagon release and glucagon resistance indices derived from the glucagon-suppression and liver-alpha-cell-axis literature. Enables reproducible assessment of beta-cell and alpha-cell function for metabolic and endocrine research.
Authors: Sufyan Suleman [aut, cre] (ORCID: <https://orcid.org/0000-0001-6612-6915>)
Maintainer: Sufyan Suleman <[email protected]>
License: MIT + file LICENSE
Version: 0.0.1
Built: 2026-07-17 09:08:14 UTC
Source: https://github.com/sufyansuleman/isletcalc

Help Index


Simulated OGTT Example Data

Description

A simulated dataset of 50 subjects with fasting and 75 g oral glucose tolerance test (OGTT) glucose, insulin and glucagon values, for use in the package examples, vignette and tests. Values are randomly generated and are not derived from real subjects.

Usage

example_data

Format

A data frame with 50 rows and 11 variables:

G0, G30, G120

Glucose (mmol/L) at 0, 30 and 120 min.

I0, I30, I120

Insulin (pmol/L) at 0, 30 and 120 min.

sex

Sex, coded 1 = male, 0 = female.

bmi

Body mass index (kg/m^2).

Glucagon0, Glucagon30, Glucagon120

Glucagon (pmol/L) at 0, 30 and 120 min.

Source

Simulated; see data-raw/example_data.R.


Alpha-Cell Glucagon Release Indices

Description

Calculates surrogate indices of alpha-cell glucagon secretion magnitude from fasting and oral glucose tolerance test (OGTT) glucagon measurements.

Usage

glucagon_release(data)

Arguments

data

A data frame containing "Glucagon0", and optionally "Glucagon30" and "Glucagon120" for the area-under-curve index.

Details

Expected units: glucagon values in pmol/L (or another consistent molar unit), measured at fasting (0 min), 30 min and 120 min after a 75 g OGTT. Fasting_glucagon requires only Glucagon0. Glucagon_auc additionally requires Glucagon30 and Glucagon120; if either is missing, Glucagon_auc is skipped with a warning.

Indices calculated:

  • Fasting_glucagon: fasting plasma glucagon (pass-through of Glucagon0).

  • Glucagon_auc: trapezoidal area under the glucagon curve across 0, 30 and 120 min.

Value

The input data frame with the requested index columns appended.

Examples

data(example_data)
glucagon_release(example_data)

Glucagon Resistance Indices

Description

Calculates surrogate indices of glucagon resistance / failure of glucose-induced glucagon suppression, reflecting impaired hepatic glucagon signaling as described in the liver-alpha-cell-axis literature.

Usage

glucagon_resistance(data)

Arguments

data

A data frame containing "Glucagon0", "Glucagon120" and "I0".

Details

Expected units: glucagon and insulin in a consistent molar unit (e.g. pmol/L), measured at fasting (0 min) and 120 min after a 75 g OGTT. If a required column is missing, the corresponding index is skipped with a warning.

Indices calculated:

  • Glucagon_suppression_ratio: Glucagon120 / Glucagon0. Values at or above 1 indicate failure to suppress glucagon after a glucose load, a marker of glucagon resistance.

  • Glucagon_insulin_ratio: fasting Glucagon0 / I0, reported to correlate with whole-body insulin sensitivity and beta-cell function.

Value

The input data frame with the requested index columns appended.

References

Chen X, Maldonado E, DeFronzo RA, Tripathy D (2021). Impaired Suppression of Glucagon in Obese Subjects Parallels Decline in Insulin Sensitivity and Beta-Cell Function. J Clin Endocrinol Metab, 106(5), 1398-1409. doi:10.1210/clinem/dgab019

Examples

data(example_data)
glucagon_resistance(example_data)

Beta-Cell Insulin Release Indices

Description

Calculates surrogate indices of beta-cell insulin secretion from fasting and oral glucose tolerance test (OGTT) glucose/insulin measurements.

Usage

insulin_release(data, category = c("fasting", "ogtt"))

Arguments

data

A data frame containing the columns required for the requested category (see Details).

category

Character vector selecting which indices to calculate. One or both of "fasting" and "ogtt". Defaults to both.

Details

Required columns per category:

  • fasting: "G0", "I0"

  • ogtt: "G0", "I0", "G30", "I30", "G120", "I120", "sex", "bmi"

Expected units: glucose (G0, G30, G120) in mmol/L, insulin (I0, I30, I120) in pmol/L, bmi in kg/m^2, and sex as a male indicator (male = 1, female = 0). The BIGTT-AIR and BIGTT-SI terms enter sex as a linear multiplier, so any value other than 1 is treated as female; females coded as 2 are handled correctly. Internally, insulin is converted from pmol/L to microU/mL (value * 0.1667) and glucose from mmol/L to mg/dL (value * 18) where the source formula was derived in those units. If a required column is missing, the corresponding indices are skipped with a warning; missing values within a present column yield NA only for the indices that depend on them.

Indices calculated:

  • Homa_beta (fasting): HOMA-beta, an estimate of steady-state beta-cell function.

  • Cir (ogtt): Corrected Insulin Response.

  • Stumvoll (ogtt): Stumvoll first-phase insulin release index.

  • Xinsdg30 (ogtt): insulinogenic index using the 0-30 min glucose increment.

  • Xinsg30 (ogtt): insulinogenic index using the 30 min glucose value.

  • Di (ogtt): Disposition Index, transcribed exactly as reported in the Madsen (2024) index table: Xinsg30 * 1000 / (sqrt(G0_mgdl * I0_uU) * meanG_mgdl * meanI_uU).

  • Bigtt_air (ogtt): BIGTT Acute Insulin Response.

  • Dibig (ogtt): Disposition Index (Bigtt_air-based).

Value

The input data frame with the requested index columns appended.

References

Madsen AL, et al. (2024). Genetic architecture of oral glucose-stimulated insulin release provides biological insights into type 2 diabetes aetiology. Nature Metabolism. doi:10.1038/s42255-024-01140-6

Examples

data(example_data)
insulin_release(example_data, category = "fasting")
insulin_release(example_data, category = c("fasting", "ogtt"))