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:

  1. Redistributions of this SBML file must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. 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.
This model is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Model :

id
name
time
substance
extent
volume
area
length
Access SBML model  L3V1

FunctionDefinitions [4] name math sbo cvterm
max minimum x y x x y y
min maximum x y x x y y
heav heavyside x 0 x 0 0.5 x 0 1 x 0 0
mod modulo x y x y x y x 0 y 0 x y x y

Parameters [80] name constant value unit derived unit sbo cvterm
amp amp = 0. 0.0 None
delta delta = 9.5 9.5 None
v v = -67.193253 -67.193253 None
n n = 0.069410823 0.069410823 None
ki ki = 129.25764 129.25764 None
cli cli = 9.900239 9.900239 None
dk dk = 0 0.0 None
stim stim = 0 0.0 None
z z = 1 1.0 None
k_bath k_bath = 4 4.0 None
s s = 0 0.0 None
vol_i vol_i = 2.16 2.16 None
vol_e vol_e = 0.72 0.72 None
ki0 ki0 = 129.25764 129.25764 None
nai0 nai0 = 25.231485 25.231485 None
cli0 cli0 = 9.900239 9.900239 None
ke0 ke0 = 4. 4.0 None
nae0 nae0 = 125.30555 125.30555 None
cle0 cle0 = 123.2716 123.2716 None
g_na_l g_na_l = 0.0175 0.0175 None
g_na_g g_na_g = 100. 100.0 None
g_k_l g_k_l = 0.05 0.05 None
g_k_g g_k_g = 40. 40.0 None
g_cl_l g_cl_l = 0.02 0.02 None
na_pump na_pump = 25 25.0 None
k_pump k_pump = 5.5 5.5 None
max_pump max_pump = 6.8 6.8 None
lambda lambda = 3.0e-05 3e-05 None
b0 b0 = 500 500.0 None
k_cr k_cr = 15. 15.0 None
k1 k1 = 5.e-8 5e-08 None
phi phi = 3 3.0 None
c c = 1 1.0 None
conv conv = 9.55589e-05 9.55589e-05 None
a_n 0.0 dimensionless None
b_n 0.0 dimensionless None
a_m 0.0 dimensionless None
b_m 0.0 dimensionless None
m 0.0 dimensionless None
h 0.0 dimensionless None
nai 0.0 dimensionless None
nae 0.0 dimensionless None
cle 0.0 dimensionless None
ke 0.0 dimensionless None
ek 0.0 dimensionless None
ena 0.0 dimensionless None
ecl 0.0 dimensionless None
i_na_l 0.0 dimensionless None
i_na_g 0.0 dimensionless None
i_k_l 0.0 dimensionless None
i_k_g 0.0 dimensionless None
i_cl_l 0.0 dimensionless None
ipump 0.0 dimensionless None
i_na 0.0 dimensionless None
i_k 0.0 dimensionless None
j_diff 0.0 dimensionless None
dk_dot_1 0.0 dimensionless None
k2 0.0 dimensionless None
dk_dot_0 0.0 dimensionless None
v_dot 0.0 dimensionless None
n_dot 0.0 dimensionless None
ki_dot 0.0 dimensionless None
cli_dot 0.0 dimensionless None
dk_dot 0.0 dimensionless None
_nai 0.0 dimensionless None
_nae 0.0 dimensionless None
_cle 0.0 dimensionless None
_ke 0.0 dimensionless None
_ek 0.0 dimensionless None
_ena 0.0 dimensionless None
_ecl 0.0 dimensionless None
_i_na_l 0.0 dimensionless None
_i_na_g 0.0 dimensionless None
_i_k_l 0.0 dimensionless None
_i_k_g 0.0 dimensionless None
_i_cl_l 0.0 dimensionless None
_ipump 0.0 dimensionless None
_i_na 0.0 dimensionless None
_i_k 0.0 dimensionless None
t model time 0.0 dimensionless None

Rules [53]   assignment name derived units sbo cvterm
d v/dt = 1000 v_dot None
d n/dt = 1000 n_dot None
d ki/dt = 1000 ki_dot None
d cli/dt = 1000 cli_dot None
d dk/dt = 1000 dk_dot None
d stim/dt = 0 None
d z/dt = 0 None
a_n = 0.01 v 34 1 0.1 v 34 None
b_n = 0.125 v 44 80 None
a_m = 0.1 v 30 1 0.1 v 30 None
b_m = 4 v 55 18 None
m = a_m a_m b_m None
h = 1 1 1 6.5 n 0.35 None
nai = nai0 ki0 ki cli0 cli None
nae = nai0 vol_i nae0 vol_e nai vol_i vol_e None
cle = cli0 vol_i cle0 vol_e cli vol_i vol_e None
ke = ki0 vol_i ke0 vol_e ki vol_i vol_e dk None
ek = 26.64 10 ke ki None
ena = 26.64 10 nae nai None
ecl = 26.64 10 cle cli None
i_na_l = g_na_l v ena None
i_na_g = g_na_g m 3 h v ena None
i_k_l = g_k_l v ek None
i_k_g = g_k_g n 4 v ek None
i_cl_l = g_cl_l v ecl None
ipump = max_pump 1 na_pump nai 3 1 k_pump ke z None
i_na = i_na_l i_na_g 3 ipump None
i_k = i_k_l i_k_g 2 ipump None
j_diff = lambda k_bath ke None
dk_dot_1 = j_diff None
k2 = k1 1 k_cr ke 1.09 None
dk_dot_0 = k1 dk k2 ke b0 dk None
v_dot = 1 c i_cl_l i_na i_k stim None
n_dot = phi a_n 1 n b_n n None
ki_dot = 1 vol_i conv i_k None
cli_dot = 1 vol_i conv i_cl_l None
dk_dot = 1 s dk_dot_0 s dk_dot_1 None
_nai = nai None
_nae = nae None
_cle = cle None
_ke = ke None
_ek = ek None
_ena = ena None
_ecl = ecl None
_i_na_l = i_na_l None
_i_na_g = i_na_g None
_i_k_l = i_k_l None
_i_k_g = i_k_g None
_i_cl_l = i_cl_l None
_ipump = ipump None
_i_na = i_na None
_i_k = i_k None
t = time None

Events [4] name trigger priority delay assignments sbo cvterm
e0 1.000000000001 t 20 0
initialValue = False
persistent = True
stim = amp
e1 1.000000000001 t 20 0.5 0
initialValue = False
persistent = True
stim = 0
e2 1.000000000001 t 20 0
initialValue = False
persistent = True
z = 0
e3 1.000000000001 t 20 delta 0
initialValue = False
persistent = True
z = 1