XPP model

This model was converted from XPP ode format to SBML using sbmlutils-0.1.5a6.

# Modified Morris-Lecar model 
# based on model used in Prescott et al. Pyramidal neurons switch from integrators in vitro to resonators under in vivo-like conditions. J. Neurophysiol. 2008
# this version of the model does not include cumulative sodium channel inactivation controlled by h (see notes in code)

dV/dt = (i_dc+i_noise-gna*minf(V)*(V-Vna)-gk*w*(V-VK)-gshunt*(V-Vshunt)-gM*zM*(v-vk)-gAHP*zAHP*(v-vk))/c
# dv/dt = (i_dc+i_noise-gna*h*minf(V)*(V-Vna)-gk*w*(V-VK)-gshunt*(V-Vshunt)-gM*zM*(v-vk)-gAHP*zAHP*(v-vk))/c

dw/dt = phi_w*(winf(V)-w)/tauw(V)
dzAHP/dt = (zinfAHP(v)-zAHP)/tauzAHP
dzM/dt = (zinfM(v)-zM)/tauzM
param c=2

# HERE IS EVERYTHING YOU NEED TO KNOW ABOUT THE STIMULuS

# DC OFFSET 
# this is controlled by i_dc
param i_dc=0

# NOISE
# This is modeled as an Ornstein-Uhlenbeck process, gives new noise on each trial
# Here is the Wiener variable
wiener nz
# With scale=0 you get no noise 
# effects of changing dt are automatically controlled for in XPP
# However, variance of i_noise also depends on tau_inoise (variance = sigma^2*tau/2) 
# Therefore, if you want to keep the same variance, you must manually change sigma_inoise if you change tau_inoise 
di_noise/dt=-1/tau_inoise*(i_noise-i_avg)+sigma*nz
param sigma=0, tau_inoise=5, i_avg=0
# increase sigma to include noise; sigma=0.1 in paper

## frozen noise can be repeated on multiple trials by saving i_noise to a .tab file and playing it back
## see xpp documentation about tables

# HERE IS EVERYTHING YOU NEED TO KNOW ABOUT INTRINSIC CURRENTS
# Initial conditions
V(0)=-70
w(0)=0.000025
zAHP(0)=0
zM(0)=0
# if you want to make sure initial conditions are at steady state
# run trial with no stim, then select "initial conditions/last" from main menu... this will start you at the conditions at the end of your previous trial

# FAST INWARD CURRENT (INa or activation variable)
# This is assumed to activate instantaneously with changes in voltage
# voltage-dependent activation curve is described by m
minf(V)=.5*(1+tanh((V-beta_m)/gamma_m))
# maximal conductance and reversal potential
param beta_m=-1.2, gamma_m=18
param gna=20, vna=50
# to implement sodium channel inactivation at steady state, simply reduce gna
# to implement sodium channel inactivation dynamically, comment out line 3 and uncomment line 4, and uncomment the following four lines
# dh/dt = (hinf(v)-h)/tau_h
# hinf(v)=1-alpha_h/(1+exp((beta_h-v)/gamma_h))
# param tau_h=1000,alpha_h=0.67,beta_h=-40,gamma_h=8
# h(0)=1 
# Following parameters should also be changed (see Fig. 9 in paper): gna=24, gk=30, gamma_w=8, betazM=-29, gammazM=2, tauzM=400, gM=2

# DELAYED RECTIFIER CURRENT (IKdr or recovery variable)
# this current activates more slowly than INa, but is still faster than Isub or Iadapt (not included here)
# In this code, activation of IKdr is controlled by w (equivalent to y in 3D model)
winf(V)=.5*(1+tanh((V-beta_w)/gamma_w))
tauw(V)=1/cosh((V-beta_w)/(2*gamma_w))
# in the 2D model, varying beta_w shifts the w activation curve (w=y here) and can convert the neuron between class 1, 2, and 3 
param beta_w=-9, gamma_w=10
# maximal conductance and reversal potential
param gk=20, vk=-100, phi_w=0.25

# SHUNT CURRENT (Ishunt)
# just a passive leak conductance
# gshunt = 2 for low conductance.  Increase to 4 for high conductance, i.e. shunting
param gshunt=2, vshunt=-70

# ADAPTATION
# This actually comprises two current, voltage-activated M-type current and calcium-activated AHP current
# The latter is not modelled as calcium-dependent, but with betayAHP = 0, this current is only activated during spikes... roughtly the same conditions under which calcium influx occurs to activate this current
# Because IAHP does not activate at subthreshold voltages, it does not influence subthreshold voltage dynamics.
# Focus on inserting or removing M current by adjusting gM
param tauzM=200
# latter in the paper, tauzM was changed to 400 to get theta-frequency oscillations
zinfM(v)=1/(1+exp((betazM-V)/gammazM))
param betazM=-30,gammazM=5
param gM=2

param tauzAHP=200
zinfAHP(v)=1/(1+exp((betazAHP-V)/gammazAHP))
param betazAHP=0,gammazAHP=5
param gAHP=1



# following parameters control duration of simulation and axes of default plot
@ total=100000,dt=.1,xlo=-100,xhi=60,ylo=-.125,yhi=.6,xp=v,yp=w
@ meth=euler
@ MAXSTOR=1000000

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 [9] 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
minf v beta_m gamma_m 0.5 1 v beta_m gamma_m
winf v beta_w gamma_w 0.5 1 v beta_w gamma_w
tauw v beta_w gamma_w 1 v beta_w 2 gamma_w
zinfm v betazm gammazm 1 1 betazm v gammazm
zinfahp v betazahp gammazahp 1 1 betazahp v gammazahp

Parameters [31] name constant value unit derived unit sbo cvterm
c c = 2 2.0 None
i_dc i_dc = 0 0.0 None
nz 0.0 None
sigma sigma = 0 0.0 None
tau_inoise tau_inoise = 5 5.0 None
i_avg i_avg = 0 0.0 None
v v = -70 -70.0 None
w w = 0.000025 2.5e-05 None
zahp zahp = 0 0.0 None
zm zm = 0 0.0 None
beta_m beta_m = -1.2 -1.2 None
gamma_m gamma_m = 18 18.0 None
gna gna = 20 20.0 None
vna vna = 50 50.0 None
beta_w beta_w = -9 -9.0 None
gamma_w gamma_w = 10 10.0 None
gk gk = 20 20.0 None
vk vk = -100 -100.0 None
phi_w phi_w = 0.25 0.25 None
gshunt gshunt = 2 2.0 None
vshunt vshunt = -70 -70.0 None
tauzm tauzm = 200 200.0 None
betazm betazm = -30 -30.0 None
gammazm gammazm = 5 5.0 None
gm gm = 2 2.0 None
tauzahp tauzahp = 200 200.0 None
betazahp betazahp = 0 0.0 None
gammazahp gammazahp = 5 5.0 None
gahp gahp = 1 1.0 None
i_noise 0.0 dimensionless None
t model time 0.0 dimensionless None

Rules [6]   assignment name derived units sbo cvterm
d v/dt = i_dc i_noise gna minf v beta_m gamma_m v vna gk w v vk gshunt v vshunt gm zm v vk gahp zahp v vk c None
d w/dt = phi_w winf v beta_w gamma_w w tauw v beta_w gamma_w None
d zahp/dt = zinfahp v betazahp gammazahp zahp tauzahp None
d zm/dt = zinfm v betazm gammazm zm tauzm None
d i_noise/dt = 1 tau_inoise i_noise i_avg sigma nz None
t = time None