{ "cells": [ { "cell_type": "markdown", "metadata": { "nbpages": { "level": 0, "link": "[](https://jckantor.github.io/cbe30338-2021/02.01-One-Compartment-Pharmacokinetics.html)", "section": "" } }, "source": [ "\n", "*This notebook contains material from [cbe30338-2021](https://jckantor.github.io/cbe30338-2021);\n", "content is available [on Github](https://github.com/jckantor/cbe30338-2021.git).*\n" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 0, "link": "[](https://jckantor.github.io/cbe30338-2021/02.01-One-Compartment-Pharmacokinetics.html)", "section": "" } }, "source": [ "\n", "< [2.0 Linear Process Models](https://jckantor.github.io/cbe30338-2021/02.00-Process-Modeling.html) | [Contents](toc.html) | [Tag Index](tag_index.html) | [2.2 Properties of Scalar First Order Linear Systems](https://jckantor.github.io/cbe30338-2021/02.02-Properties-of-Scalar-First-Order-Linear-Systems.html) >
"
]
},
{
"cell_type": "markdown",
"metadata": {
"nbpages": {
"level": 1,
"link": "[2.1 One Compartment Pharmacokinetics](https://jckantor.github.io/cbe30338-2021/02.01-One-Compartment-Pharmacokinetics.html#2.1-One-Compartment-Pharmacokinetics)",
"section": "2.1 One Compartment Pharmacokinetics"
},
"slideshow": {
"slide_type": "-"
}
},
"source": [
"# 2.1 One Compartment Pharmacokinetics"
]
},
{
"cell_type": "markdown",
"metadata": {
"nbpages": {
"level": 2,
"link": "[2.1.1 Learning Goals](https://jckantor.github.io/cbe30338-2021/02.01-One-Compartment-Pharmacokinetics.html#2.1.1-Learning-Goals)",
"section": "2.1.1 Learning Goals"
}
},
"source": [
"## 2.1.1 Learning Goals\n",
"\n",
"The notebook introduces a single, linear, first-order differential equation in the general form\n",
"\n",
"$$\\frac{dx}{dt} = a x + b u$$\n",
"\n",
"as mathematical model to describe the dynamic response of a system to a changing input. \n",
"\n",
"In any particular application, the **state variable** $x$ corresponds to a process variable such as temperature, pressure, concentration, or position. The **input variable** $u(t)$ corresponds to a changing input such as heater power, flowrate, or valve position. This notebook uses this equation to describe a one-compartment model for a pharmacokinetics in the which the state is the concentration of an antimicrobrial, and the input is a rate of intraveneous administration.\n",
"\n",
"This notebook demonstrates features of this model that can be used in a wide range of process applications:\n",
"\n",
"* Simulate response from a known initial condition.\n",
"* Simulate response to a changinig input.\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"nbpages": {
"level": 2,
"link": "[2.1.2 Pharamacokinetics](https://jckantor.github.io/cbe30338-2021/02.01-One-Compartment-Pharmacokinetics.html#2.1.2-Pharamacokinetics)",
"section": "2.1.2 Pharamacokinetics"
}
},
"source": [
"## 2.1.2 Pharamacokinetics\n",
"\n",
"Pharmacokinetics is a branch of pharmacology that studies the fate of chemical species in living organisms. The diverse range of applications includes the administration of drugs and anesthesia in humans. This notebook introduces a one compartment model for pharmacokinetics and shows how it can be used to determine strategies for the intravenous administration of an antimicrobial."
]
},
{
"cell_type": "markdown",
"metadata": {
"nbpages": {
"level": 3,
"link": "[2.1.2.1 One-Compartment Model](https://jckantor.github.io/cbe30338-2021/02.01-One-Compartment-Pharmacokinetics.html#2.1.2.1-One-Compartment-Model)",
"section": "2.1.2.1 One-Compartment Model"
},
"slideshow": {
"slide_type": "-"
}
},
"source": [
"### 2.1.2.1 One-Compartment Model\n",
"\n",
"For the purposes of drug administration, for a one-compartment model of the human body is assumed to consist of a single compartment of a constant volume $V$ containing all the plasma of the body. The plasma is assumed to be sufficiently well mixed that any drug is uniformly distributed with concentration $C(t)$. The drug enters the plasma by direct injection into the plasma at rate $u(t)$. The drug leaves the body as a component of the plasma where $Q$ is the constant plasma clearance rate.\n",
"\n",
"\n",
"\n",
"A generic mass balance for a single species is given by\n",
"\n",
"$$\\fbox{Rate of Accumulation} = \\fbox{Inflow} - \\fbox{Outflow} + \\fbox{Production by reaction} - \\fbox{Consumption by reaction}$$\n",
"\n",
"Assuming the drug is neither produced or consumed by reaction in the body, this generic mass balance can be translated to differential equation\n",
"\n",
"$$\\begin{align*}\n",
"\\underbrace{\\fbox{Rate of Accumulation}}_{V \\frac{dC}{dt}} & = \\underbrace{\\fbox{Inflow}}_{u(t)} - \\underbrace{\\fbox{Outflow}}_{Q C} + \\underbrace{\\fbox{Production by reaction}}_0 - \\underbrace{\\fbox{Consumption by reaction}}_0\n",
"\\end{align*}$$\n",
"\n",
"or, summarizing,\n",
"\n",
"$$V \\frac{dC}{dt} = u(t) - Q C(t)$$\n",
"\n",
"This model is characterized by two parameters, the plasma volume $V$ and the clearance rate $Q$."
]
},
{
"cell_type": "markdown",
"metadata": {
"nbpages": {
"level": 3,
"link": "[2.1.2.2 Antimicrobials](https://jckantor.github.io/cbe30338-2021/02.01-One-Compartment-Pharmacokinetics.html#2.1.2.2-Antimicrobials)",
"section": "2.1.2.2 Antimicrobials"
},
"slideshow": {
"slide_type": "-"
}
},
"source": [
"### 2.1.2.2 Antimicrobials\n",
"\n",
"Let's consider the administration of an antimicrobial to a patient. Concentration $C(t)$ refers to the concentration of the antibiotic in blood plasma in units of [mg/L or $\\mu$g/mL]. There are two concentration levels of interest in the medical use of an antimicrobrial:\n",
"\n",
"**Minimum Inhibitory Concentration (MIC)** The minimum concentration of the antibiotic that prevents visible growth of a particular microorganism after overnight incubation. This is generally not enough to kill the microorganism, only enough to prevent further growth.\n",
"\n",
"**Minimum Bactricidal Concentration (MBC)** The lowest concentration of the antimicrobrial that prevents the growth of the microorganism after subculture to antimicrobrial-free media. MBC is generally the concentration needed \"kill\" the microorganism.\n",
"\n",
"Extended exposure to an antimicrobrial at levels below MBC leads to [antimicrobrial resistance](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4378521/)."
]
},
{
"cell_type": "markdown",
"metadata": {
"nbpages": {
"level": 3,
"link": "[2.1.2.3 What questions can we ask and answer with this model?](https://jckantor.github.io/cbe30338-2021/02.01-One-Compartment-Pharmacokinetics.html#2.1.2.3-What-questions-can-we-ask-and-answer-with-this-model?)",
"section": "2.1.2.3 What questions can we ask and answer with this model?"
}
},
"source": [
"### 2.1.2.3 What questions can we ask and answer with this model?\n",
"\n",
"There are multiple reasons to create mathematical models. In research and development, for example, a mathematical model forms a testable hypothesis of one's understanding of a system. The model guides the design of experiments to either validate or falsify the assumptions incorporated in the model. \n",
"\n",
"In the present context of control systems, a model is used to answer operating questions. In pharmacokinetics, for example, the operational questions might include:\n",
"\n",
"* What values for the parameters $V$ and $Q$ provide accurate predictions of system response?\n",
"* How long will it take to clear the antimicrobial from the body?\n",
"* What rate of antimicrobial addition is required to achieve the minimum bactricidal concentration?\n",
"* If doses are administered periodically, how large should each dose be, and how frequently should the doses be administered?\n",
"\n",
"Questions like these can be answered through simulation, regression to experimental data, and mathematical analysis. We'll explore several of these techniques below.\n",
"\n",
"* Simulation\n",
" * Known initial condition\n",
" * Time dependent input\n",
"* Steady state analysis\n",
"* Alternative model formulations\n",
" * State space model\n",
" * Gain and Time Constant"
]
},
{
"cell_type": "markdown",
"metadata": {
"nbpages": {
"level": 2,
"link": "[2.1.3 Simulation](https://jckantor.github.io/cbe30338-2021/02.01-One-Compartment-Pharmacokinetics.html#2.1.3-Simulation)",
"section": "2.1.3 Simulation"
}
},
"source": [
"## 2.1.3 Simulation"
]
},
{
"cell_type": "markdown",
"metadata": {
"nbpages": {
"level": 3,
"link": "[2.1.3.1 Simulation from a Known Initial Condition](https://jckantor.github.io/cbe30338-2021/02.01-One-Compartment-Pharmacokinetics.html#2.1.3.1-Simulation-from-a-Known-Initial-Condition)",
"section": "2.1.3.1 Simulation from a Known Initial Condition"
}
},
"source": [
"### 2.1.3.1 Simulation from a Known Initial Condition"
]
},
{
"cell_type": "markdown",
"metadata": {
"nbpages": {
"level": 4,
"link": "[2.1.3.1.1 Problem Statement ](https://jckantor.github.io/cbe30338-2021/02.01-One-Compartment-Pharmacokinetics.html#2.1.3.1.1-Problem-Statement)",
"section": "2.1.3.1.1 Problem Statement "
},
"slideshow": {
"slide_type": "-"
}
},
"source": [
"#### 2.1.3.1.1 Problem Statement \n",
"\n",
"Assume the minimum inhibitory concentration (MIC) of a particular organism to a particular antimicrobial is 5 mg/liter, and the minimum bactricidal concentration (MBC) is 8 mg/liter. Further assume the plasma volume $V$ is 4 liters with a clearance rate $Q$ of 0.5 liters/hour. \n",
"\n",
"An initial intravenous antimicrobial dose of 64 mg in 4 liters of plasm results in a plasma concentration $C_{initial}$ of 16 mg/liter. How long will the concentration stay above MBC? Above MIC?"
]
},
{
"cell_type": "markdown",
"metadata": {
"nbpages": {
"level": 4,
"link": "[2.1.3.1.2 Step 1. Import libraries](https://jckantor.github.io/cbe30338-2021/02.01-One-Compartment-Pharmacokinetics.html#2.1.3.1.2-Step-1.-Import-libraries)",
"section": "2.1.3.1.2 Step 1. Import libraries"
},
"slideshow": {
"slide_type": "-"
}
},
"source": [
"#### 2.1.3.1.2 Step 1. Import libraries\n",
"\n",
"For this first simulation we compute the response of the one compartment model due starting with an initial condition $C_{initial}$, and assuming input $u(t) = 0$. We will use the [`solve_ivp`](https://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.solve_ivp.html) function for solving differential equations from the `scipy.integrate` library.\n",
"\n",
"The first steps to a solution are:\n",
"\n",
"1. Initialize the plotting system.\n",
"2. Import the `numpy` library for basic mathematical functions.\n",
"3. Import the `matplotlib.pyplot` library for plotting.\n",
"4. Import the any needed mathematical functions or libraries."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"nbpages": {
"level": 4,
"link": "[2.1.3.1.2 Step 1. Import libraries](https://jckantor.github.io/cbe30338-2021/02.01-One-Compartment-Pharmacokinetics.html#2.1.3.1.2-Step-1.-Import-libraries)",
"section": "2.1.3.1.2 Step 1. Import libraries"
},
"slideshow": {
"slide_type": "-"
}
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from scipy.integrate import solve_ivp"
]
},
{
"cell_type": "markdown",
"metadata": {
"nbpages": {
"level": 4,
"link": "[2.1.3.1.3 Step 2. Enter Parameter Values](https://jckantor.github.io/cbe30338-2021/02.01-One-Compartment-Pharmacokinetics.html#2.1.3.1.3-Step-2.-Enter-Parameter-Values)",
"section": "2.1.3.1.3 Step 2. Enter Parameter Values"
},
"slideshow": {
"slide_type": "-"
}
},
"source": [
"#### 2.1.3.1.3 Step 2. Enter Parameter Values"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"nbpages": {
"level": 4,
"link": "[2.1.3.1.3 Step 2. Enter Parameter Values](https://jckantor.github.io/cbe30338-2021/02.01-One-Compartment-Pharmacokinetics.html#2.1.3.1.3-Step-2.-Enter-Parameter-Values)",
"section": "2.1.3.1.3 Step 2. Enter Parameter Values"
}
},
"outputs": [],
"source": [
"V = 4 # liters\n",
"Q = 0.5 # liters/hour\n",
"MIC = 5 # mg/liter\n",
"MBC = 8 # mg/liter\n",
"\n",
"C_initial = 16 # mg/liter"
]
},
{
"cell_type": "markdown",
"metadata": {
"nbpages": {
"level": 4,
"link": "[2.1.3.1.4 Step 3. Write the differential equation in standard form](https://jckantor.github.io/cbe30338-2021/02.01-One-Compartment-Pharmacokinetics.html#2.1.3.1.4-Step-3.-Write-the-differential-equation-in-standard-form)",
"section": "2.1.3.1.4 Step 3. Write the differential equation in standard form"
},
"slideshow": {
"slide_type": "-"
}
},
"source": [
"#### 2.1.3.1.4 Step 3. Write the differential equation in standard form\n",
"\n",
"The most commonly solvers for systems of differential equations require a function evaluating the right hand sides of the differential equations when written in a standard form\n",
"\n",
"$$\\frac{dC}{dt} = \\frac{1}{V}u(t) - \\frac{Q}{V}C$$\n",
"\n",
"Here we write two functions. One function returns values of the input $u(t)$ for a specified point in time, the second returns values of the right hand side as a function of time and state."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"nbpages": {
"level": 4,
"link": "[2.1.3.1.4 Step 3. Write the differential equation in standard form](https://jckantor.github.io/cbe30338-2021/02.01-One-Compartment-Pharmacokinetics.html#2.1.3.1.4-Step-3.-Write-the-differential-equation-in-standard-form)",
"section": "2.1.3.1.4 Step 3. Write the differential equation in standard form"
}
},
"outputs": [],
"source": [
"def u(t):\n",
" return 0\n",
"\n",
"def deriv(t, C):\n",
" return u(t)/V - (Q/V)*C"
]
},
{
"cell_type": "markdown",
"metadata": {
"nbpages": {
"level": 4,
"link": "[2.1.3.1.5 Step 4. Solution and Visualization](https://jckantor.github.io/cbe30338-2021/02.01-One-Compartment-Pharmacokinetics.html#2.1.3.1.5-Step-4.-Solution-and-Visualization)",
"section": "2.1.3.1.5 Step 4. Solution and Visualization"
},
"slideshow": {
"slide_type": "-"
}
},
"source": [
"#### 2.1.3.1.5 Step 4. Solution and Visualization"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"nbpages": {
"level": 4,
"link": "[2.1.3.1.5 Step 4. Solution and Visualization](https://jckantor.github.io/cbe30338-2021/02.01-One-Compartment-Pharmacokinetics.html#2.1.3.1.5-Step-4.-Solution-and-Visualization)",
"section": "2.1.3.1.5 Step 4. Solution and Visualization"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" message: 'A termination event occurred.'\n",
" nfev: 26\n",
" njev: 0\n",
" nlu: 0\n",
" sol: None\n",
" status: 1\n",
" success: True\n",
" t: array([0. , 0.48979592, 0.97959184, 1.46938776, 1.95918367,\n",
" 2.44897959, 2.93877551, 3.42857143, 3.91836735, 4.40816327,\n",
" 4.89795918, 5.3877551 , 5.87755102, 6.36734694, 6.85714286,\n",
" 7.34693878, 7.83673469, 8.32653061, 8.81632653, 9.30612245])\n",
" t_events: [array([5.53942584]), array([9.31072423])]\n",
" y: array([[16. , 15.049792 , 14.15601545, 13.31532006, 12.5243503 ,\n",
" 11.779541 , 11.07848539, 10.41894155, 9.79872358, 9.21570167,\n",
" 8.66780203, 8.15300696, 7.6693548 , 7.21493994, 6.78791284,\n",
" 6.38648 , 6.00890398, 5.65350342, 5.31865298, 5.00287861]])\n",
" y_events: [array([[8.]]), array([[5.]])]\n"
]
}
],
"source": [
"# specify time span and evaluation points\n",
"t_span = [0, 24]\n",
"t_eval = np.linspace(0, 24, 50)\n",
"\n",
"# initial conditions\n",
"IC = [C_initial]\n",
"\n",
"# add events\n",
"def cross_mbc(t, y):\n",
" return y[0] - MBC\n",
"cross_mbc.direction = -1.0\n",
"\n",
"def cross_mic(t, y):\n",
" return MIC-y[0]\n",
"cross_mic.terminal = True\n",
"\n",
"# compute solution\n",
"soln = solve_ivp(deriv, t_span, IC, t_eval=t_eval, events=[cross_mbc, cross_mic])\n",
"\n",
"# display solution\n",
"print(soln)"
]
},
{
"cell_type": "markdown",
"metadata": {
"nbpages": {
"level": 4,
"link": "[2.1.3.1.5 Step 4. Solution and Visualization](https://jckantor.github.io/cbe30338-2021/02.01-One-Compartment-Pharmacokinetics.html#2.1.3.1.5-Step-4.-Solution-and-Visualization)",
"section": "2.1.3.1.5 Step 4. Solution and Visualization"
}
},
"source": [
"The decision on how to display or visualize a solution is problem dependent. Here we create a simple function to visualize the solution and relevant problem specifications. "
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"nbpages": {
"level": 4,
"link": "[2.1.3.1.5 Step 4. Solution and Visualization](https://jckantor.github.io/cbe30338-2021/02.01-One-Compartment-Pharmacokinetics.html#2.1.3.1.5-Step-4.-Solution-and-Visualization)",
"section": "2.1.3.1.5 Step 4. Solution and Visualization"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.5"
}
},
"nbformat": 4,
"nbformat_minor": 4
}