Web Simulation 

 

 

 

 

Whole-Body Physiologically Based Pharmacokinetic (PBPK) Model 

This note provides an interactive simulation of a Whole-Body Physiologically Based Pharmacokinetic (PBPK) model. The model simulates drug distribution throughout the body using flow-limited transport between blood and tissues, with a specific injection site absorption model. This demonstrates how drugs are absorbed, distributed, metabolized, and eliminated in different organs and tissues.

The simulation tracks drug concentration over time in seven compartments: Blood, Liver, Kidney, Muscle, Fat, Other Tissues (OT), and Injection Site (IS). Each compartment has specific physiological parameters including blood flow rate (Q), volume (V), and tissue-to-blood partition coefficient (R). The model uses a two-compartment absorption model at the injection site, with fast and slow absorption phases. The model supports both renal (kidney) and hepatic (liver) clearance, allowing simulation of different drug types.

The simulation features Chemical Selection and Health Condition dropdowns that demonstrate drug-disease interactions. You can select from three different chemicals (Oxytetracycline, Hypothetical Lipophilic, Balanced Drug), each with unique properties (clearance routes, partition coefficients). You can then select disease scenarios (Kidney Failure, Heart Failure, Obesity, Liver Cirrhosis) that are modeled as physiological multipliers applied to the selected chemical's base parameters. This approach correctly demonstrates how the same disease affects different drugs differently (e.g., obesity has minimal effect on hydrophilic drugs but dramatic effect on lipophilic drugs).

The simulation allows you to adjust key parameters including dose, clearance rate, and absorption kinetics. You can observe how these parameters affect the concentration-time profiles in different tissues, demonstrating important pharmacokinetic concepts such as distribution, elimination, and tissue-specific accumulation. The Time Slider allows interactive exploration of the simulation timeline, with all plots updating in real-time.

NOTE : The simulation uses Runge-Kutta 4th order numerical integration to solve the system of ordinary differential equations. The model assumes flow-limited transport, meaning drug exchange between blood and tissues is limited by blood flow rather than membrane permeability. All concentrations are in mg/L, and time is in hours.

Math behind the Simulation

The PBPK model consists of a system of ordinary differential equations describing the rate of change of drug concentration in each compartment:

1. Muscle:

dCmuscle/dt = (Qmuscle/Vmuscle) × (Cblood - Cmuscle/Rmuscle)

2. Liver (includes Clearance):

dCliver/dt = (Qliver/Vliver) × (Cblood - Cliver/Rliver) - (CLliver/Vliver) × Cliver

3. Fat:

dCfat/dt = (Qfat/Vfat) × (Cblood - Cfat/Rfat)

4. Other Tissues (OT):

dCOT/dt = (QOT/VOT) × (Cblood - COT/ROT)

5. Kidney (includes Clearance):

dCkidney/dt = (Qkidney/Vkidney) × (Cblood - Ckidney/Rkidney) - (CLkidney/Vkidney) × Ckidney

6. Injection Site (IS):

dCIS/dt = (QIS/VIS) × (Cblood - CIS/RIS) + (absorption_rate/VIS)

where absorption_rate = DOSE × [F × kfast × e-kfastt + (1-F) × kslow × e-kslowt]

7. Blood:

dCblood/dt = (1/Vblood) × [Σ(Qi × Ci/Ri) - Qblood × Cblood]

where the summation includes all tissues returning to blood, and Qblood is the cardiac output (sum of all tissue flows).

The model uses Runge-Kutta 4th order numerical integration to solve this system of ODEs. The flow-limited assumption means that drug exchange between blood and tissues is instantaneous and limited only by blood flow rate, not by membrane permeability. The partition coefficient R represents the equilibrium ratio of tissue concentration to blood concentration.

 

Usage Example

Follow these steps to explore the PBPK model simulation:

  1. Initial State: When you first load the simulation, the plots show data at t = 1 time step (t = dt). The simulation automatically runs one step to show initial response. Use the Time Slider to explore different time points in the simulation.
  2. Select Chemical and Health Condition: Use the Chemical dropdown to select a drug (Oxytetracycline, Hypothetical Lipophilic, or Balanced Drug). Each chemical has different properties (clearance routes, partition coefficients). Then select a Health Condition (Healthy, Kidney Failure, Heart Failure, Obesity, or Liver Cirrhosis) to see how diseases affect drug behavior. Disease conditions are modeled as physiological multipliers applied to the selected chemical's base parameters.
  3. Observe Bar Chart: The top plot shows current concentrations at the selected time point as a bar chart. Each compartment (IS, Blood, Liver, Kidney, Muscle, Fat, OT) is displayed as a colored bar. When a disease condition is selected, small diamond markers show the healthy (normal) reference values for comparison. Slide the Time Slider to see how concentrations change over time.
  4. Observe Concentration-Time Profiles: The second plot shows concentration-time profiles for all compartments (Blood, Liver, Kidney, Muscle, Fat, OT) with color-coded lines. Notice how:
    • Blood concentration rises first as the drug is absorbed from the injection site
    • Different tissues show different peak concentrations and timing based on their blood flow and partition coefficients
    • Fat tissue (yellow) may show slower uptake and higher accumulation due to its partition coefficient (especially for lipophilic drugs)
    • Kidney and Liver concentrations decrease faster due to clearance (depending on the selected chemical)
  5. Examine Absorption Rate: The third plot shows the absorption rate over time at the injection site. This plot helps you observe the biphasic absorption kinetics (fast and slow phases) and how the absorption rate changes over time.
  6. Use Time Slider: The Time Slider allows you to explore the simulation at any time point from t = dt (one time step) to Max Time. As you slide the time slider, all plots update to show data up to that time point. The simulation automatically runs forward if needed to generate data for the selected time.
  7. Adjust Dose: Change the Dose parameter to see how it affects peak concentrations. Higher doses will produce higher concentrations in all compartments, but the relative distribution between tissues remains similar.
  8. Modify Clearance: Adjust the Clearance slider to manually override the chemical-based clearance. Note that changing the Chemical or Health Condition will reset clearance based on the selected chemical and disease multipliers.
  9. Experiment with Absorption Kinetics: Adjust the k_fast and k_slow sliders to modify the absorption rate constants. Higher k_fast values will cause faster initial absorption, while k_slow controls the sustained release phase. Observe how these changes affect the Absorption Rate plot and the overall drug distribution.
  10. Change Time Parameters: Adjust the Time Step and Max Time to control the simulation duration and numerical accuracy. Smaller time steps provide higher accuracy but slower computation. Longer max times (default 720 hours) allow you to observe the complete elimination phase. The Time Slider minimum is automatically set to the Time Step value.
  11. Use Presets: The Preset dropdown provides quick access to common parameter combinations (Default, High Dose, Fast/Slow Clearance, Fast Absorption, High k_slow). Presets preserve your Max Time setting.
  12. Compare Disease Effects: Select different Health Conditions to see how diseases affect drug behavior. For example, select "Obesity" with "Oxytetracycline" (low fat affinity) and then switch to "Hypothetical Lipophilic" (high fat affinity) to see how the same disease affects different drugs differently. The diamond markers in the bar chart show healthy reference values for easy comparison.

Tip: The key to understanding this simulation is recognizing how drug properties (clearance routes, partition coefficients) and disease effects (physiological multipliers) interact to determine drug distribution. For example, selecting "Obesity" with "Oxytetracycline" (low fat affinity, R_fat = 0.06) shows minimal effect, but switching to "Hypothetical Lipophilic" (high fat affinity, R_fat = 10.0) shows dramatic fat accumulation. This demonstrates the importance of drug-disease interactions in pharmacokinetics. Tissues with high blood flow (like Liver and Kidney) reach equilibrium faster, while tissues with high partition coefficients (like Fat for lipophilic drugs) accumulate more drug. The clearance route (renal vs. hepatic) determines which organ eliminates the drug and how diseases affecting those organs impact drug behavior. The two-compartment absorption model at the injection site creates a biphasic absorption profile with both fast and slow components. Use the Time Slider to explore how concentrations evolve over time, and compare disease effects using the healthy reference markers (diamond markers) in the bar chart.

Parameters

Followings are short descriptions on each parameter
  • Dose (mg): The total amount of drug administered. This affects the peak concentrations in all compartments proportionally. Default is 100 mg. Range: 1 to 1000 mg. Higher doses produce higher concentrations but do not change the relative distribution between tissues.
  • Time Step (h): The numerical integration step size in hours. Smaller values provide higher accuracy but require more computation. Default is 0.01 hours. Range: 0.001 to 0.1 hours. For most simulations, 0.01 provides a good balance between accuracy and speed.
  • Max Time (h): The maximum simulation time in hours. This determines how long the simulation can run. Default is 720 hours (30 days). Range: 1 to 720 hours. Longer times allow you to observe the complete elimination phase for long-acting drugs.
  • Clearance (L/h): The clearance rate displayed in the slider. This value is automatically set based on the selected Chemical and Health Condition. For Oxytetracycline (renal cleared), this represents kidney clearance. For lipophilic drugs (hepatic cleared), this represents liver clearance. You can manually adjust this slider to override the chemical-based clearance. Range: 0 to 10 L/h. This parameter affects the elimination rate in the corresponding organ.
  • k_fast (1/h): The fast absorption rate constant. Controls how quickly the fast-absorbing fraction of the dose enters the system. Higher values cause faster initial absorption. Default is 0.8 1/h. Range: 0.1 to 5.0 1/h. This affects the early phase of the absorption rate profile.
  • k_slow (1/h): The slow absorption rate constant. Controls how quickly the slow-absorbing fraction of the dose enters the system. Higher values cause faster sustained release. Default is 0.02 1/h. Range: 0.005 to 0.2 1/h. This affects the later phase of the absorption rate profile and creates sustained drug delivery.
  • Chemical Selection: Choose from three different chemicals, each with unique properties:
    • Oxytetracycline (OTC): Renal cleared (CL_kidney = 3.5 L/h, CL_liver = 0), low fat affinity (R_fat = 0.06), high kidney affinity (R_kidney = 4.19). Demonstrates how kidney failure affects renal-cleared drugs.
    • Hypothetical Lipophilic: Hepatic cleared (CL_kidney = 0, CL_liver = 4.0 L/h), high fat affinity (R_fat = 10.0). Demonstrates how obesity affects fat-soluble drugs and how liver cirrhosis affects hepatic-cleared drugs.
    • Balanced Drug: Cleared by both routes (CL_kidney = 1.5 L/h, CL_liver = 1.5 L/h), moderate partition coefficients. Demonstrates mixed clearance behavior.
  • Health Condition: Select a disease scenario to see how physiological changes affect drug behavior. Diseases are modeled as multipliers applied to base physiological parameters:
    • Healthy (Normal): Baseline physiological parameters with no modifications.
    • Kidney Failure (Severe): Renal clearance reduced to 10% (CL_renal_factor = 0.1), slight kidney edema (V_kidney_factor = 1.1). Shows dramatic effect on renal-cleared drugs like OTC.
    • Heart Failure (Reduced Flow): All blood flows reduced to 50% (Q_total_factor = 0.5), clearance reduced to 80% due to low flow. Shows how reduced cardiac output affects all drugs.
    • Obesity (High Fat Mass): Fat volume increased 2.5x (V_fat_factor = 2.5). Shows dramatic effect on lipophilic drugs (high R_fat) but minimal effect on hydrophilic drugs (low R_fat).
    • Liver Cirrhosis (Shunting): Liver flow reduced to 40% (Q_liver_factor = 0.4), hepatic clearance reduced to 30% (CL_hepatic_factor = 0.3), shunted blood goes to systemic circulation. Shows how liver disease affects hepatic-cleared drugs.
  • Physiological Parameters: The model uses physiological parameters based on sheep model (60 kg body weight):
    • Blood: Volume = 3.1 L
    • Liver: Flow = 1.40 L/h, Volume = 1.0 L, Partition varies by chemical
    • Kidney: Flow = 0.97 L/h, Volume = 0.18 L, Partition varies by chemical
    • Muscle: Flow = 0.97 L/h, Volume = 15.0 L, Partition varies by chemical
    • Fat: Flow = 0.32 L/h, Volume = 12.0 L, Partition varies by chemical (0.06 for OTC, 10.0 for lipophilic)
    • Other Tissues: Flow = 1.70 L/h, Volume = 28.0 L, Partition = 1.0
    • Injection Site: Flow = 0.03 L/h, Volume = 0.5 L, Partition = 1.0
    These parameters are modified by disease conditions. Partition coefficients (R) are determined by the selected chemical. Tissues with high partition coefficients (like Fat for lipophilic drugs) accumulate more drug, while tissues with high blood flow (like Liver) reach equilibrium faster.

Controls and Dropdowns

Followings are short descriptions on each control
  • Chemical Dropdown: Selects the drug/chemical to simulate. Each chemical has unique base properties (clearance routes, partition coefficients). Changing the chemical automatically updates the model parameters and resets the simulation.
  • Health Condition Dropdown: Selects a disease scenario. Diseases are modeled as physiological multipliers (not absolute values), so they work correctly with any chemical. Changing the condition automatically updates physiological parameters and resets the simulation. When a disease is selected, diamond markers in the bar chart show healthy reference values for comparison.
  • Preset Dropdown: Provides quick access to common parameter combinations:
    • Default (Sheep OTC): Standard parameters for sheep/OTC model
    • High Dose (300mg): Increased dose to observe higher concentrations
    • Fast Clearance (CL=6 L/h): Higher clearance rate
    • Slow Clearance (CL=1 L/h): Lower clearance rate
    • Fast Absorption (k_fast=2.0): Faster initial absorption
    • High k_slow (0.08): Faster sustained release
    Presets preserve your Max Time setting and automatically reset the simulation.
  • Time Slider: Controls the displayed time point in all plots. Minimum value is automatically set to the Time Step (dt) to ensure data is available. Maximum value is set to Max Time. As you slide the time slider, all plots (bar chart, concentration-time plot, absorption rate plot) update to show data up to the selected time. The simulation automatically runs forward if needed to generate data for the selected time point.

Visualizations

  • Current Concentrations (Bar Chart): The top plot displays current concentrations at the selected time point (controlled by Time Slider) as a bar chart. Each compartment (IS, Blood, Liver, Kidney, Muscle, Fat, OT) is shown as a colored bar with its concentration value labeled. When a disease condition is selected, small diamond markers show the healthy (normal) reference values for easy comparison. The markers are color-coded to match each compartment. When "Healthy" is selected, the markers align with the bars (showing they represent the same values). This visualization makes it easy to see how diseases affect drug concentrations in different tissues.
  • Concentration vs Time Plot: The second plot displays concentration-time profiles for all six compartments (Blood, Liver, Kidney, Muscle, Fat, OT) on a single plot. Note that Injection Site (IS) is not shown here as it's displayed in the bar chart. Each compartment is color-coded:
    • Blood: Teal (#4ECDC4) - Central compartment, shows overall drug exposure
    • Liver: Blue (#45B7D1) - High flow, important for metabolism and hepatic clearance
    • Kidney: Orange (#FFA07A) - Site of renal elimination (clearance)
    • Muscle: Green (#98D8C8) - Large volume, moderate partition
    • Fat: Yellow (#F7DC6F) - Partition coefficient varies by chemical (low for OTC, high for lipophilic)
    • OT: Purple (#BB8FCE) - Other tissues combined
    The plot includes a legend, grid lines, and axis labels. Concentrations are in mg/L, and time is in hours. The plot updates as you move the Time Slider, showing data up to the selected time point.
  • Absorption Rate Plot: The third plot shows the absorption rate over time at the injection site. This plot helps you observe the biphasic absorption kinetics (fast and slow phases) and how the absorption rate decays over time. The absorption rate is calculated using the two-compartment model: absorption_rate = DOSE × [F × kfast × e-kfastt + (1-F) × kslow × e-kslowt]. The plot updates as you move the Time Slider.
  • Interactive Time Navigation: All three plots are synchronized with the Time Slider. As you slide the time slider, the bar chart shows concentrations at that time point, the concentration-time plot shows data up to that time, and the absorption rate plot shows the absorption rate up to that time. The simulation automatically runs forward if needed to generate data for the selected time point, allowing you to explore the entire simulation timeline interactively.