TITLE Cav2.1 (P-type) calcium channel COMMENT NEURON implementation of a Cav2.1 calcium channel Kinetical scheme: Hodgkin-Huxley (m), no inactivation Model includes a calculation of the gating current Modified from Khaliq et al., J. Neurosci. 23(2003)4899 Reference: Akemann et al. (2009) 96:3959-3976 Laboratory for Neuronal Circuit Dynamics RIKEN Brain Science Institute, Wako City, Japan http://www.neurodynamics.brain.riken.jp Date of Implementation: April 2007 Contact: akemann@brain.riken.jp ENDCOMMENT NEURON { SUFFIX Cav2 USEION ca READ cai, cao WRITE ica NONSPECIFIC_CURRENT i RANGE pbar, ica, i, igate, nc GLOBAL minf, taum GLOBAL gateCurrent, punit } UNITS { (mV) = (millivolt) (mA) = (milliamp) (nA) = (nanoamp) (pA) = (picoamp) (S) = (siemens) (nS) = (nanosiemens) (pS) = (picosiemens) (um) = (micron) (molar) = (1/liter) (mM) = (millimolar) } CONSTANT { e0 = 1.60217646e-19 (coulombs) q10 = 2.7 F = 9.6485e4 (coulombs) R = 8.3145 (joule/kelvin) cv = 19 (mV) ck = 5.5 (mV) zm = 4.6244 (1) : gating charge } PARAMETER { gateCurrent = 0 (1) : gating currents ON = 1 OFF = 0 pbar = 3e-5 (cm/s) punit = 3.290e-13 (cm3/s) : unitary calcium permeability monovalConc = 140 (mM) monovalPerm = 0 (1) } ASSIGNED { celsius (degC) v (mV) cai (mM) cao (mM) ica (mA/cm2) i (mA/cm2) igate (mA/cm2) nc (1/cm2) : membrane density of channel minf (1) taum (ms) T (kelvin) E (volt) zeta (1) qt (1) } STATE { m } INITIAL { nc = pbar / punit qt = q10^((celsius-22 (degC))/10 (degC)) T = kelvinfkt( celsius ) rates(v) m = minf } BREAKPOINT { SOLVE states METHOD cnexp ica = (1e3) * pbar * m * ghk(v, cai, cao, 2) igate = nc * (1e6) * e0 * zm * mgateFlip() if (gateCurrent != 0) { i = igate } } DERIVATIVE states { rates(v) m' = (minf-m)/taum } FUNCTION ghk( v (mV), ci (mM), co (mM), z ) (coulombs/cm3) { E = (1e-3) * v zeta = (z*F*E)/(R*T) : ci = ci + (monovalPerm) * (monovalConc) :Monovalent permeability if ( fabs(1-exp(-zeta)) < 1e-6 ) { ghk = (1e-6) * (z*F) * (ci - co*exp(-zeta)) * (1 + zeta/2) } else { ghk = (1e-6) * (z*zeta*F) * (ci - co*exp(-zeta)) / (1-exp(-zeta)) } } PROCEDURE rates( v (mV) ) { minf = 1 / ( 1 + exp(-(v+cv)/ck) ) taum = (1e3) * taumfkt(v)/qt } FUNCTION taumfkt( v (mV) ) (s) { UNITSOFF if ( v > -50 ) { taumfkt = 0.000191 + 0.00376 * exp(-((v+41.9)/27.8)^2) } else { taumfkt = 0.00026367 + 0.1278 * exp(0.10327*v) } UNITSON } FUNCTION kelvinfkt( t (degC) ) (kelvin) { UNITSOFF kelvinfkt = 273.19 + t UNITSON } FUNCTION mgateFlip() (1/ms) { mgateFlip = (minf-m)/taum }