COMMENT Decay of internal calcium concentration Internal calcium concentration due to calcium currents and pump. Differential equations. Simple model of ATPase pump with 3 kinetic constants (Destexhe 92) Cai + P <-> CaP -> Cao + P (k1,k2,k3) A Michaelis-Menten approximation is assumed, which reduces the complexity of the system to 2 parameters: kt = * k3 -> TIME CONSTANT OF THE PUMP kd = k2/k1 (dissociation constant) -> EQUILIBRIUM CALCIUM VALUE The values of these parameters are chosen assuming a high affinity of the pump to calcium and a low transport capacity (cfr. Blaustein, TINS, 11: 438, 1988, and references therein). Units checked using "modlunit" -> factor 10000 needed in ca entry VERSION OF PUMP + DECAY (decay can be viewed as simplified buffering) All variables are range variables This mechanism was published in: Destexhe, A. Babloyantz, A. and Sejnowski, TJ. Ionic mechanisms for intrinsic slow oscillations in thalamic relay neurons. Biophys. J. 65: 1538-1552, 1993) Written by Alain Destexhe, Salk Institute, Nov 12, 1992 26 Ago 2002 Modification of original channel to allow variable time step and to correct an initialization error. Done by Michael Hines(michael.hines@yale.e) and Ruggero Scorcioni(rscorcio@gmu.edu) at EU Advance Course in Computational Neuroscience. Obidos, Portugal 20110202 replaced METHOD euler with METHOD cnexp and made threadsafe by Ted Carnevale's suggestions 20120105 replaced cnexp with derivimplicit - TMM ENDCOMMENT INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)} NEURON { THREADSAFE SUFFIX cad USEION ca READ ica, cai WRITE cai RANGE ca GLOBAL depth,cainf,taur } UNITS { (molar) = (1/liter) : moles do not appear in units (mM) = (millimolar) (um) = (micron) (mA) = (milliamp) (msM) = (ms mM) FARADAY = (faraday) (coulomb) } PARAMETER { depth = .1 (um) : depth of shell taur = 200 (ms) : rate of calcium removal cainf = 100e-6(mM) cai (mM) } STATE { ca (mM) <1e-5> } INITIAL { ca = cainf cai = ca } ASSIGNED { ica (mA/cm2) drive_channel (mM/ms) } BREAKPOINT { : SOLVE state METHOD euler SOLVE state METHOD derivimplicit } DERIVATIVE state { drive_channel = - (10000) * ica / (2 * FARADAY * depth) if (drive_channel <= 0.) { drive_channel = 0. } : cannot pump inward ca' = drive_channel + (cainf-ca)/taur cai = ca }