Skip to content

Instantly share code, notes, and snippets.

@icook
Last active March 23, 2022 23:27
Show Gist options
  • Save icook/899fcc7187d2d0ae5f57 to your computer and use it in GitHub Desktop.
Save icook/899fcc7187d2d0ae5f57 to your computer and use it in GitHub Desktop.
A little class (and python notebook) to calculate and plot the concentration and buildup of Vyvanse in your body over time.
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "",
"signature": "sha256:a8479d783e88842463a06e1fe1acb5cc5a18a8865ef91132c3adf074c491ed4e"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Demo of little class to calculate and plot the concentration and buildup of Vyvanse in your body over time.\n",
"\n",
"Requirements:\n",
"\n",
"* ipython[notebook]\n",
"* scipy\n",
"* numpy\n",
"* matplotlib\n",
"\n",
"First we import the class. Source can be found at https://gist.github.com/icook/899fcc7187d2d0ae5f57"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%matplotlib inline\n",
"from simulation import Simulation"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Using 3600 seconds as halflife for metabolization of inactive component\n",
"Using 41400.0 seconds as halflife for dextroamphetamine\n"
]
}
],
"prompt_number": 1
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now we create a simulation object with the following options:\n",
"\n",
"duration: total number of hours to run the simulation\n",
"ingestion_interval: number of hours between taking drug\n",
"ingestion_start: first ingestion time\n",
"dosage: mg of drug per ingestion"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"s = Simulation(duration=168, ingestion_interval=24, ingestion_start=8, dosage=70)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Configuration Details\n",
"Dosage: 70mg\n",
"Simulation Duration: 7 days\n",
"Taken every: 24 hours\n",
"First taken at: 08:00 AM\n",
"\n"
]
}
],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"s.plot() # plot the drugs active and inactive concentrations over time (in hours)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 3,
"text": [
"(<matplotlib.legend.Legend at 0x71daf10>,)"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\niIhIzP8PY3yLy+k19akAAAAASUVORK5CYII=\n",
"text": [
"<matplotlib.figure.Figure at 0x3992050>"
]
}
],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"s.min_max()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<h3>Time of day for minimum and maximum drug concentrations</h3><table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Min/Max</th>\n",
" <th>Metabolized</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Time</th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Day 0, 11:51 AM</th>\n",
" <td> Max</td>\n",
" <td> 55.5mg</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Day 1, 07:59 AM</th>\n",
" <td> Min</td>\n",
" <td> 18.0mg</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Day 1, 11:31 AM</th>\n",
" <td> Max</td>\n",
" <td> 69.9mg</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Day 2, 07:59 AM</th>\n",
" <td> Min</td>\n",
" <td> 22.3mg</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Day 2, 11:27 AM</th>\n",
" <td> Max</td>\n",
" <td> 73.4mg</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Day 3, 07:59 AM</th>\n",
" <td> Min</td>\n",
" <td> 23.3mg</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Day 3, 11:26 AM</th>\n",
" <td> Max</td>\n",
" <td> 74.2mg</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Day 4, 07:59 AM</th>\n",
" <td> Min</td>\n",
" <td> 23.5mg</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Day 4, 11:26 AM</th>\n",
" <td> Max</td>\n",
" <td> 74.4mg</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Day 5, 07:59 AM</th>\n",
" <td> Min</td>\n",
" <td> 23.6mg</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Day 5, 11:26 AM</th>\n",
" <td> Max</td>\n",
" <td> 74.4mg</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Day 6, 07:59 AM</th>\n",
" <td> Min</td>\n",
" <td> 23.6mg</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Day 6, 11:26 AM</th>\n",
" <td> Max</td>\n",
" <td> 74.4mg</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 4,
"text": [
"<IPython.core.display.HTML at 0x71ed490>"
]
}
],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"s.concentration_at(12)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<h3>Concentration at 12:00 PM</h3><table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Metabolized</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Time</th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Day 0, 12:00 PM</th>\n",
" <td> 55.5mg</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Day 1, 12:00 PM</th>\n",
" <td> 69.6mg</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Day 2, 12:00 PM</th>\n",
" <td> 73.0mg</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Day 3, 12:00 PM</th>\n",
" <td> 73.8mg</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Day 4, 12:00 PM</th>\n",
" <td> 73.9mg</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Day 5, 12:00 PM</th>\n",
" <td> 74.0mg</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Day 6, 12:00 PM</th>\n",
" <td> 74.0mg</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 5,
"text": [
"<IPython.core.display.HTML at 0x71edd90>"
]
}
],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"s.concentration_at(0)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<h3>Concentration at 12:00 AM</h3><table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Metabolized</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Time</th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Day 0, 12:00 AM</th>\n",
" <td> 0.0mg</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Day 1, 12:00 AM</th>\n",
" <td> 29.2mg</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Day 2, 12:00 AM</th>\n",
" <td> 36.1mg</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Day 3, 12:00 AM</th>\n",
" <td> 37.7mg</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Day 4, 12:00 AM</th>\n",
" <td> 38.1mg</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Day 5, 12:00 AM</th>\n",
" <td> 38.2mg</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Day 6, 12:00 AM</th>\n",
" <td> 38.2mg</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 6,
"text": [
"<IPython.core.display.HTML at 0x71edbd0>"
]
}
],
"prompt_number": 6
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Lets try taking it every other day\n",
"s = Simulation(duration=168, ingestion_interval=48, ingestion_start=8, dosage=70)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Configuration Details\n",
"Dosage: 70mg\n",
"Simulation Duration: 7 days\n",
"Taken every: 48 hours\n",
"First taken at: 08:00 AM\n",
"\n"
]
}
],
"prompt_number": 7
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"s.concentration_at(0)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<h3>Concentration at 12:00 AM</h3><table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Metabolized</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Time</th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Day 0, 12:00 AM</th>\n",
" <td> 0.0mg</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Day 1, 12:00 AM</th>\n",
" <td> 29.2mg</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Day 2, 12:00 AM</th>\n",
" <td> 6.9mg</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Day 3, 12:00 AM</th>\n",
" <td> 30.8mg</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Day 4, 12:00 AM</th>\n",
" <td> 7.3mg</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Day 5, 12:00 AM</th>\n",
" <td> 30.9mg</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Day 6, 12:00 AM</th>\n",
" <td> 7.3mg</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 8,
"text": [
"<IPython.core.display.HTML at 0x71eddd0>"
]
}
],
"prompt_number": 8
}
],
"metadata": {}
}
]
}
import time
import datetime
import matplotlib.pyplot as plt
import numpy as np
import pandas
import pylab
from IPython.display import HTML
from scipy.signal import argrelextrema
pylab.rcParams['figure.figsize'] = 16, 8
PRODRUG_HALFLIFE = 3600
DEXTROAMPHETAMINE_HALFLIFE = 3600 * 11.5
print "Using {} seconds as halflife for metabolization of inactive component".format(PRODRUG_HALFLIFE)
print "Using {} seconds as halflife for dextroamphetamine".format(DEXTROAMPHETAMINE_HALFLIFE)
class Simulation(object):
def __init__(self, **kwargs):
self.__dict__.update(dict(dosage=70, interval=2, sample_interval=3600, duration=168, ingestion_interval=24, ingestion_start=8))
self.__dict__.update(kwargs)
self.interval = float(self.interval)
now = datetime.datetime.now().replace(minute=0, hour=0, second=0, microsecond=0)
self.start = now
hours = 0
prodrug_conc = 0.0
dextroamphetamine_conc = 0.0
ingestions = 0
print "Configuration Details"
print "Dosage: {}mg".format(self.dosage)
print "Simulation Duration: {} days".format(self.duration/24)
print "Taken every: {} hours".format(self.ingestion_interval)
print "First taken at: {}\n".format(self.start.replace(hour=self.ingestion_start).strftime("%I:%M %p"))
self.times = []
self.unmet_conc = []
self.met_conc = []
self.ingestion_times = []
self.ingestion_y = []
for i in xrange(int(self.duration * 3600 / self.interval)):
# At 8 am exactly
ingestion = False
if now == (self.start + datetime.timedelta(hours=self.ingestion_start + (self.ingestion_interval * ingestions))):
ingestion = True
ingestions += 1
prodrug_conc += self.dosage
#print "Took {}mg of Unmetabolized drug".format(dosage)
# Reduce the active drug concentration by calculating half life decay
dextroamphetamine_conc *= (0.5 ** (self.interval / DEXTROAMPHETAMINE_HALFLIFE))
# Calculate the new concentration of prodrug in your system after the interval time
new_prodrug_conc = prodrug_conc * (0.5 ** (self.interval / PRODRUG_HALFLIFE))
# Increase the concentration of the active drug by the amount of prodrug lost
dextroamphetamine_conc += prodrug_conc - new_prodrug_conc
# Update the prodrug concentration
prodrug_conc = new_prodrug_conc
# If we took 70mg, flag it for the graph
if ingestion:
self.ingestion_times.append(hours)
self.ingestion_y.append(prodrug_conc)
# Print and record the current concentrations
if time.mktime(now.timetuple()) % self.interval == 0:
#print "At {} active drug concentration {:,.7f}. Unmetabolized concentration {:,.7f}.".format(now, dextroamphetamine_conc, prodrug_conc)
self.times.append(hours)
self.unmet_conc.append(prodrug_conc)
self.met_conc.append(dextroamphetamine_conc)
# increment the time
now = now + datetime.timedelta(seconds=self.interval)
hours = (now - self.start).total_seconds() / 3600
def plot(self):
ax = plt.subplot(111)
ax.plot(self.times, self.unmet_conc, 'b', linewidth=2, label='Unmetabolized Concentration')
ax.plot(self.times, self.met_conc, 'g', linewidth=2, label='Metabolized Concentration')
ax.plot(self.ingestion_times, self.ingestion_y, 'ro', markersize=15, label='Ingestion Times')
plt.title('Vyvanse dosage concentrations over {} days for {}mg taken '
'every {} hours starting at {}'
.format(int(self.duration / 24), self.dosage, self.ingestion_interval, self.ingestion_start))
# Shrink the box to fit the legend
box = ax.get_position()
ax.set_position([box.x0, box.y0, box.width * 0.8, box.height])
return (ax.legend(loc='center left', bbox_to_anchor=(1, 0.5)),
)
def concentration_at(self, target_hour):
data = []
for idx, hour in enumerate(self.times):
if hour % 24 == target_hour:
td = datetime.timedelta(hours=hour)
date = self.start + td
data.append(["{:,.1f}mg".format(self.met_conc[idx]),
"Day {}, {}".format(td.days, date.strftime("%I:%M %p"))])
return HTML("<h3>Concentration at {}</h3>".format((self.start + datetime.timedelta(hours=target_hour)).strftime("%I:%M %p"))
+ pandas.DataFrame.from_records(data, index=["Time"], columns=["Metabolized", "Time"]).to_html(escape=False))
def min_max(self):
data = []
for idx in argrelextrema(np.array(self.met_conc), np.less)[0]:
td = datetime.timedelta(hours=self.times[idx])
date = self.start + td
data.append(["Min", "{:,.1f}mg".format(self.met_conc[idx]),
"Day {}, {}".format(td.days, date.strftime("%I:%M %p")),
idx])
for idx in argrelextrema(np.array(self.met_conc), np.greater)[0]:
td = datetime.timedelta(hours=self.times[idx])
date = self.start + td
data.append(["Max", "{:,.1f}mg".format(self.met_conc[idx]),
"Day {}, {}".format(td.days, date.strftime("%I:%M %p")),
idx])
data.sort(key=lambda s: s[3])
data = [d[:3] for d in data]
return HTML("<h3>Time of day for minimum and maximum drug concentrations</h3>"
+ pandas.DataFrame.from_records(data, index=["Time"], columns=["Min/Max", "Metabolized", "Time"]).to_html(escape=False))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment