University of Florida Logo GatorpH Logo

Welcome to GatorpH

GatorpH is an interactive application for analyzing dynamic oral pH data (i.e., Stephan curve) (Stephan & Miller 1943). GatorpH helps estimate key parameters for studying oral pH dynamics associated with caries risk. The tool provides an innovative model-based approach for robust estimation under sparse designs.


Authors:
Omar Elashkar ( omar.elashkar@ufl.edu )
Kyle Kasparian ( k.kasparian@ufl.edu )
Christopher R. McCurdy ( cmccurdy@ufl.edu )
Jacqueline Abranches ( jabranches@dental.ufl.edu )
Abhisheak Sharma* ( asharma1@ufl.edu )

This work was supported in part by the National Institute of Dental and Craniofacial Research (F30DE035751).


© 2026 University of Florida College of Pharmacy. All rights reserved.
This tool is freely available for non-commercial academic and research use.
Download as CSV

The model used for model-based estimation is a KPD (Kinetic-Pharmacodynamic) model (Jacqmin et al. 2007) . The following simulator allows you to explore how the different parameters of the KPD model affect the shape of the pH curve. Adjust the parameters and observe how the curve changes accordingly. If data is loaded, the simulated curve will be overlaid with the original data to help visualize the initial estimates for better model fitting.

Simulate pH Curve using KPD Model

Adjust the parameters below to simulate a pH curve using the KPD model.

Proposed Workflow

  1. Prepare and Upload Your Data

    Organize your data in a CSV file with columns: id, time, pH, and group. Optional columns include flowrate, and buffering. Download the template from the 'Load Data' tab to see the required format. Then upload your file or load a demo dataset.

  2. Input the Correct Administration Time

    Set the administration time (time of material/drug administration) in the 'Load Data' tab. Your data will be adjusted accordingly. It is highly prefered that there is at least one baseline data point before adminstration time. Review the data preview and visualization to ensure it looks correct. Check the 'Data Visualization' tab to see how your pH curve appears.

  3. Run Direct Estimation Method

    Go to the 'Direct Estimation' tab. Set the pH threshold, start time, and end time for your analysis. Click 'Run Direct Estimation' to calculate parameters directly from your data such as time under pH threshold and minimum pH.

  4. Run Model Fitting

    Go to the 'Model-based Estimation' tab. Choose your estimation method (Non-Linear Fixed Effects or Non-Linear Mixed Effects), select parameter options, and configure any group or covariate effects. Click 'Run Model-based Estimation' to fit the KPD model to your data.

  5. Run Model-based Method

    After successful model fitting, review the diagnostics in the 'Model Fit Diagnostics' tab (individual fits and observed vs predicted plots). Set your parameters (pH threshold, start/end times) and click 'Extract Parameters' to obtain model-based parameter estimates including EDK50, KDE, KD, and KS.

Model-based Estimation Details

GatorpH uses a KPD (Kinetic-Pharmacodynamic) model for model-based estimation of oral pH dynamics. The KPD model is a mathematical model that describes the relationship between drug kinetics and pharmacodynamic response. It is particularly useful for modeling situations where the substance exposure data is not available, which is mostly the case in oral pH dynamics. The KPD model includes parameters such as EDK50 (apparent potency of the drug at steady state), KDE (elimination rate constant from virtual compartment K), KD (response degradation rate constant), and KS (response synthesis rate). By fitting this model to oral pH data, GatorpH can estimate these parameters, which can provide insights into the efficacy of different substances or formulations in modulating oral pH. For better identifability of KPD model parameters, it is important to have a baseline measurement before administration (see below).

After successful model fitting, ensure decent model diagnostics (e.g., individual fits, observed vs predicted plots) to assess the quality of the fit and reliability of parameter estimates. It is recommended to start with a simple model without group effects and then iteratively add group effects one at a time to see if it improves model fit without causing convergence issues.

GatorpH support 2 methods for model-based estimation, either non-linear mixed effects model (NLME) or non-linear model (NL) (fixed effects only)

The NLME model is recommended when you have data from at least 2 subjects and want to account for inter-subject variability in parameter estimates, which tends to be more accurate. The NL model can be used for pooled analysis (not recommended) or when you have data from only 1 subject.

How to Prepare Data for GatorpH

To use GatorpH, prepare a CSV/Excel file with the following columns:

  • id: Unique identifier for each subject
  • pH: Measured pH value at the corresponding time point
  • group: Group identifier for each subject (e.g., treatment group, control group). This is used for stratification and group-based analysis.
  • Optional columns:
    • flowrate: Salivary flow rate at the corresponding time point (if available). This is to be supported in future versions
    • buffering: Salivary buffering capacity at the corresponding time point (if available). This is to be supported in future versions

We highly recommend including at least one baseline measurement before administration time (time 0) to improve model identifiability and parameter estimation. If your dataset does not have a baseline measurement, you can set the time of the first measurement to a negative value (e.g., -5) to impute a baseline measurement at time 0. This will help the model better capture the initial conditions and improve the accuracy of parameter estimates. Typically, the baseline will correspond to time 0 in the dataset, and the administration time will be set by the user to a positive value (e.g., 0.2 minutes) to reflect the time of administration. The dataset will be adjusted accordingly based on the specified administration time. GatorpH supports multiple administrations by allowing users to input multiple administration times (comma-separated) and adjusting the dataset accordingly.

Model Selection and Troubleshooting

Start with the simplest model to see if it can capture the data trends. If you have data from multiple subjects, it is recommended to use the non-linear mixed effects model to account for inter-subject variability. If you encounter convergence issues, try simplifying the model by removing group effects or covariate effects one at a time. It is generally not recommended to include group effects for both Ks and Kd together as it may lead to convergence issues. Instead, start with no group effects and then add group effects one at a time to see if it improves model fit without causing convergence issues. To compare between models, you can look at model fit diagnostics such as observed vs predicted plots and individual fits. Additionally, a more objective way to compare between models is to look at the AIC/BIC values, MAPE and R-squared values. Lower AIC/BIC, lower MAPE, and/or higher R-squared values indicate better model fit. However, it is important to also consider the complexity of the model and whether the parameter estimates are biologically plausible when selecting the best model for your data.

Definitions and Abbreviations

EDK50: Apparent potency of drug at steady state (dose unit/time). This parameter combines substance clearance and potency, and can be used to compare the overall efficacy of different substances or formulations in modulating oral pH. It can be used to compare the efficacy of different substances or formulations in modulating oral pH, with lower EDK50 values indicating higher potency to reduce oral pH.
KDE: Elimination rate constant from virtual compartment K (1/time)
KD: Response degradation rate constant (1/time)
KS: Response synthesis rate (pH unit/time)
Area<pHX: Area under the pH curve below pH threshold X between specified time interval
T<pHX: Time under the pH threshold X between specified time interval
pHmin: Minimum pH reached for corresponding subject or group
Tmin: Time to reach minimum pH for corresponding subject or group

Contact

For further assistance, please reach out to Omar Elashkar at omar.elashkar@ufl.edu or Kyle Kasparian at kyle.kasparian@ufl.edu , and for correspondence, please contact Abhisheak Sharma at abhisheak.sharma@ufl.edu