XPP model
This model was converted from XPP ode format to SBML using sbmlutils-0.1.5a6.
# Code for article by N. Huebel and M. A. Dahlem:
# "Dynamics from seconds to hours in Hodgkin–Huxley model with
# time-dependent ion concentrations and buffer reservoirs"
# PLoS Comp Biol (2014)
# email: niklas.huebel@gmail.com
# Oct. 7, 2014
#
#
# README
#
# This code computes time series like in Fig. 5. SD is
# triggered either by current stimulation (dynamics of variable
# "stim") or by pump interruption (dynamics of pump coefficient
# "z"). Two regulation schemes for potassium are implemented:
# glial buffering and diffusive coupling to the vascular system
# (with a switch parameter "s", see below). For diffusive
# coupling with elevated "k_bath" values the time series of Fig. 7
# can be simulated.
#
##################################
# RATE EQUATIONS FOR 5D SD MODEL #
##################################
v' = 1000. * v_DOT
n' = 1000. * n_DOT
ki' = 1000. * ki_DOT
cli' = 1000. * cli_DOT
dk' = 1000. * dk_DOT
#########################################################
# STIMULATE MEMBRANE WITH A 0.5sec DEPOLARIZING CURRENT #
#########################################################
stim' = 0
global 1 1.000000000001*t - 20.0 {stim=Amp}
global 1 1.000000000001*t - (20.0 + 0.5) {stim=0}
par Amp=0.
#par Amp=100.
#####################################
# SWITCH PUMP OFF FOR delta SECONDS #
#####################################
z' = 0
global 1 1.000000000001*t - 20.0 {z=0.0}
global 1 1.000000000001*t - (20.0 + delta) {z=1.0}
#par delta=0.
par delta=9.5
######################
# INITIAL CONDITIONS #
######################
init v=-67.193253
init n=0.069410823
init ki=129.25764
init cli=9.900239
init dk=0
init stim=0
init z=1
#########################
# REGULATION PARAMETERS #
#########################
# s=0: glial buffering
# s=1: diffusive coupling
# k_bath is the bath concentration
par k_bath=4
par s=0
##########
# GATING #
##########
A_N = 0.01 * (v + 34.0) / (1.0 - exp(-0.1 * (v + 34.0)))
B_N = 0.125 * exp(-(v + 44.0) / 80.0)
A_M = 0.1 * (v + 30.0) / (1.0 - exp(-0.1 * (v + 30.0)))
B_M = 4.0 * exp(-(v + 55.0) / 18.0)
m = A_M / (A_M + B_M)
h = 1 - 1. / (1 + exp(-6.5*(n-0.35)))
######################
# ION CONCENTRATIONS #
######################
par vol_i=2.16
par vol_e=0.72
par ki0=129.25764
par nai0=25.231485
par cli0=9.900239
par ke0=4.
par nae0=125.30555
par cle0=123.2716
nai = nai0 + ki0 - ki - cli0 + cli
nae = (nai0 * Vol_i + nae0 * vol_e - nai * vol_i) / vol_e
cle = (cli0 * Vol_i + cle0 * vol_e - cli * vol_i) / vol_e
ke = (ki0 * Vol_i + ke0 * vol_e - ki * vol_i) / vol_e + dk
#####################
# NERNST POTENTIALS #
#####################
EK = 26.64 * log(ke /ki)
ENA = 26.64 * log(nae/nai)
ECL =-26.64 * log(cle/cli)
############
# CURRENTS #
############
par G_NA_L=0.0175
par G_NA_G=100.
par G_K_L=0.05
par G_K_G=40.
par G_CL_L=0.02
par NA_PUMP=25
par K_PUMP=5.5
par MAX_PUMP=6.8
I_NA_L = G_NA_L * (v - ENA)
I_NA_G = G_NA_G * m**3 * h * (v - ENA)
I_K_L = G_K_L * (v - EK)
I_K_G = G_K_G * n**4 * (v - EK)
I_CL_L = G_CL_L * (v - ECL)
IPUMP = MAX_PUMP / (1.0 + exp((NA_PUMP - NAI)/3.)) / (1. + exp(K_PUMP - ke)) * z
#################
# FULL CURRENTS #
#################
I_NA = I_NA_L + I_NA_G + 3. * IPUMP
I_K = I_K_L + I_K_G - 2. * IPUMP
########################
# POTASSIUM REGULATION #
########################
par lambda=3.0e-05
par b0=500
par K_cr=15.
par k1=5.e-8
J_DIFF = lambda * (k_bath - ke)
dk_DOT_1 = J_DIFF
k2 = k1 / (1 + exp((K_cr - ke) / 1.09))
dk_DOT_0 = -k1 * dk - k2 * ke * (B0 + dk)
#############################
# RATE FUNCTIONS FOR SOLVER #
#############################
par PHI=3
par C=1
par CONV=9.55589e-05
v_DOT = -1. / C * (I_CL_L + I_NA + I_K - stim)
n_DOT = PHI * (A_N * (1 - n) - B_N * n)
ki_DOT = -1. / Vol_i * CONV * I_K
cli_DOT = 1. / Vol_i * CONV * I_CL_L
dk_DOT = (1 - s) * dk_DOT_0 + s * dk_DOT_1
###############
# AUXILIARIES #
###############
aux _nai = nai
aux _nae = nae
aux _cle = cle
aux _ke = ke
aux _EK = EK
aux _ENA = ENA
aux _ECL = ECL
aux _I_NA_L = I_NA_L
aux _I_NA_G = I_NA_G
aux _I_K_L = I_K_L
aux _I_K_G = I_K_G
aux _I_CL_L = I_CL_L
aux _IPUMP = IPUMP
aux _I_NA = I_NA
aux _I_K = I_K
########################
# INTEGRATION NUMERICS #
########################
@ meth=stiff
@ dt=5e-2
@ maxstor=10000000, bounds=10000000
@ total=500
@ bell=0
################
# PLOT OPTIONS #
################
@ xhi=500
@ nplot=4, yp1=v, yp2=_EK, yp3=_ENA, yp4=_ECL, ylo=-150, yhi=160
done
This file has been produced by
sbmlutils.
Terms of use
Copyright © 2017 Matthias Koenig
Redistribution and use of any part of this model, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of this SBML file must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in a different form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Model :
|
|
| type | FunctionDefinitions [4] | name | math | sbo | cvterm |
|---|---|---|---|---|---|
| FunctionDefinition | max
|
minimum | |||
| FunctionDefinition | min
|
maximum | |||
| FunctionDefinition | heav
|
heavyside | |||
| FunctionDefinition | mod
|
modulo |
| type | Parameters [80] | name | constant | value | unit | derived unit | sbo | cvterm |
|---|---|---|---|---|---|---|---|---|
| Parameter | amp
|
amp = 0. | F | 0.0 | None | |||
| Parameter | delta
|
delta = 9.5 | F | 9.5 | None | |||
| Parameter | v
|
v = -67.193253 | F | -67.193253 | None | |||
| Parameter | n
|
n = 0.069410823 | F | 0.069410823 | None | |||
| Parameter | ki
|
ki = 129.25764 | F | 129.25764 | None | |||
| Parameter | cli
|
cli = 9.900239 | F | 9.900239 | None | |||
| Parameter | dk
|
dk = 0 | F | 0.0 | None | |||
| Parameter | stim
|
stim = 0 | F | 0.0 | None | |||
| Parameter | z
|
z = 1 | F | 1.0 | None | |||
| Parameter | k_bath
|
k_bath = 4 | F | 4.0 | None | |||
| Parameter | s
|
s = 0 | F | 0.0 | None | |||
| Parameter | vol_i
|
vol_i = 2.16 | F | 2.16 | None | |||
| Parameter | vol_e
|
vol_e = 0.72 | F | 0.72 | None | |||
| Parameter | ki0
|
ki0 = 129.25764 | F | 129.25764 | None | |||
| Parameter | nai0
|
nai0 = 25.231485 | F | 25.231485 | None | |||
| Parameter | cli0
|
cli0 = 9.900239 | F | 9.900239 | None | |||
| Parameter | ke0
|
ke0 = 4. | F | 4.0 | None | |||
| Parameter | nae0
|
nae0 = 125.30555 | F | 125.30555 | None | |||
| Parameter | cle0
|
cle0 = 123.2716 | F | 123.2716 | None | |||
| Parameter | g_na_l
|
g_na_l = 0.0175 | F | 0.0175 | None | |||
| Parameter | g_na_g
|
g_na_g = 100. | F | 100.0 | None | |||
| Parameter | g_k_l
|
g_k_l = 0.05 | F | 0.05 | None | |||
| Parameter | g_k_g
|
g_k_g = 40. | F | 40.0 | None | |||
| Parameter | g_cl_l
|
g_cl_l = 0.02 | F | 0.02 | None | |||
| Parameter | na_pump
|
na_pump = 25 | F | 25.0 | None | |||
| Parameter | k_pump
|
k_pump = 5.5 | F | 5.5 | None | |||
| Parameter | max_pump
|
max_pump = 6.8 | F | 6.8 | None | |||
| Parameter | lambda
|
lambda = 3.0e-05 | F | 3e-05 | None | |||
| Parameter | b0
|
b0 = 500 | F | 500.0 | None | |||
| Parameter | k_cr
|
k_cr = 15. | F | 15.0 | None | |||
| Parameter | k1
|
k1 = 5.e-8 | F | 5e-08 | None | |||
| Parameter | phi
|
phi = 3 | F | 3.0 | None | |||
| Parameter | c
|
c = 1 | F | 1.0 | None | |||
| Parameter | conv
|
conv = 9.55589e-05 | F | 9.55589e-05 | None | |||
| Parameter | a_n
|
F | 0.0 | dimensionless | None | |||
| Parameter | b_n
|
F | 0.0 | dimensionless | None | |||
| Parameter | a_m
|
F | 0.0 | dimensionless | None | |||
| Parameter | b_m
|
F | 0.0 | dimensionless | None | |||
| Parameter | m
|
F | 0.0 | dimensionless | None | |||
| Parameter | h
|
F | 0.0 | dimensionless | None | |||
| Parameter | nai
|
F | 0.0 | dimensionless | None | |||
| Parameter | nae
|
F | 0.0 | dimensionless | None | |||
| Parameter | cle
|
F | 0.0 | dimensionless | None | |||
| Parameter | ke
|
F | 0.0 | dimensionless | None | |||
| Parameter | ek
|
F | 0.0 | dimensionless | None | |||
| Parameter | ena
|
F | 0.0 | dimensionless | None | |||
| Parameter | ecl
|
F | 0.0 | dimensionless | None | |||
| Parameter | i_na_l
|
F | 0.0 | dimensionless | None | |||
| Parameter | i_na_g
|
F | 0.0 | dimensionless | None | |||
| Parameter | i_k_l
|
F | 0.0 | dimensionless | None | |||
| Parameter | i_k_g
|
F | 0.0 | dimensionless | None | |||
| Parameter | i_cl_l
|
F | 0.0 | dimensionless | None | |||
| Parameter | ipump
|
F | 0.0 | dimensionless | None | |||
| Parameter | i_na
|
F | 0.0 | dimensionless | None | |||
| Parameter | i_k
|
F | 0.0 | dimensionless | None | |||
| Parameter | j_diff
|
F | 0.0 | dimensionless | None | |||
| Parameter | dk_dot_1
|
F | 0.0 | dimensionless | None | |||
| Parameter | k2
|
F | 0.0 | dimensionless | None | |||
| Parameter | dk_dot_0
|
F | 0.0 | dimensionless | None | |||
| Parameter | v_dot
|
F | 0.0 | dimensionless | None | |||
| Parameter | n_dot
|
F | 0.0 | dimensionless | None | |||
| Parameter | ki_dot
|
F | 0.0 | dimensionless | None | |||
| Parameter | cli_dot
|
F | 0.0 | dimensionless | None | |||
| Parameter | dk_dot
|
F | 0.0 | dimensionless | None | |||
| Parameter | _nai
|
F | 0.0 | dimensionless | None | |||
| Parameter | _nae
|
F | 0.0 | dimensionless | None | |||
| Parameter | _cle
|
F | 0.0 | dimensionless | None | |||
| Parameter | _ke
|
F | 0.0 | dimensionless | None | |||
| Parameter | _ek
|
F | 0.0 | dimensionless | None | |||
| Parameter | _ena
|
F | 0.0 | dimensionless | None | |||
| Parameter | _ecl
|
F | 0.0 | dimensionless | None | |||
| Parameter | _i_na_l
|
F | 0.0 | dimensionless | None | |||
| Parameter | _i_na_g
|
F | 0.0 | dimensionless | None | |||
| Parameter | _i_k_l
|
F | 0.0 | dimensionless | None | |||
| Parameter | _i_k_g
|
F | 0.0 | dimensionless | None | |||
| Parameter | _i_cl_l
|
F | 0.0 | dimensionless | None | |||
| Parameter | _ipump
|
F | 0.0 | dimensionless | None | |||
| Parameter | _i_na
|
F | 0.0 | dimensionless | None | |||
| Parameter | _i_k
|
F | 0.0 | dimensionless | None | |||
| Parameter | t
|
model time | F | 0.0 | dimensionless | None |
| type | Rules [53] | assignment | name | derived units | sbo | cvterm | |
|---|---|---|---|---|---|---|---|
| Rule | d v/dt
|
= | None | ||||
| Rule | d n/dt
|
= | None | ||||
| Rule | d ki/dt
|
= | None | ||||
| Rule | d cli/dt
|
= | None | ||||
| Rule | d dk/dt
|
= | None | ||||
| Rule | d stim/dt
|
= | None | ||||
| Rule | d z/dt
|
= | None | ||||
| Rule | a_n
|
= | None | ||||
| Rule | b_n
|
= | None | ||||
| Rule | a_m
|
= | None | ||||
| Rule | b_m
|
= | None | ||||
| Rule | m
|
= | None | ||||
| Rule | h
|
= | None | ||||
| Rule | nai
|
= | None | ||||
| Rule | nae
|
= | None | ||||
| Rule | cle
|
= | None | ||||
| Rule | ke
|
= | None | ||||
| Rule | ek
|
= | None | ||||
| Rule | ena
|
= | None | ||||
| Rule | ecl
|
= | None | ||||
| Rule | i_na_l
|
= | None | ||||
| Rule | i_na_g
|
= | None | ||||
| Rule | i_k_l
|
= | None | ||||
| Rule | i_k_g
|
= | None | ||||
| Rule | i_cl_l
|
= | None | ||||
| Rule | ipump
|
= | None | ||||
| Rule | i_na
|
= | None | ||||
| Rule | i_k
|
= | None | ||||
| Rule | j_diff
|
= | None | ||||
| Rule | dk_dot_1
|
= | None | ||||
| Rule | k2
|
= | None | ||||
| Rule | dk_dot_0
|
= | None | ||||
| Rule | v_dot
|
= | None | ||||
| Rule | n_dot
|
= | None | ||||
| Rule | ki_dot
|
= | None | ||||
| Rule | cli_dot
|
= | None | ||||
| Rule | dk_dot
|
= | None | ||||
| Rule | _nai
|
= | None | ||||
| Rule | _nae
|
= | None | ||||
| Rule | _cle
|
= | None | ||||
| Rule | _ke
|
= | None | ||||
| Rule | _ek
|
= | None | ||||
| Rule | _ena
|
= | None | ||||
| Rule | _ecl
|
= | None | ||||
| Rule | _i_na_l
|
= | None | ||||
| Rule | _i_na_g
|
= | None | ||||
| Rule | _i_k_l
|
= | None | ||||
| Rule | _i_k_g
|
= | None | ||||
| Rule | _i_cl_l
|
= | None | ||||
| Rule | _ipump
|
= | None | ||||
| Rule | _i_na
|
= | None | ||||
| Rule | _i_k
|
= | None | ||||
| Rule | t
|
= | None |
| type | Events [4] | name | trigger | priority | delay | assignments | sbo | cvterm |
|---|---|---|---|---|---|---|---|---|
| Event | e0
|
initialValue = False persistent = True |
stim =
|
|||||
| Event | e1
|
initialValue = False persistent = True |
stim =
|
|||||
| Event | e2
|
initialValue = False persistent = True |
z =
|
|||||
| Event | e3
|
initialValue = False persistent = True |
z =
|