// genesis /* FILE INFORMATION ** Several Voltage dependent channels ** Developed by : Maurice Lee for Inferior Olive simulations ** Implemented in NEUROKIT format by : Upinder S. Bhalla ** ** This file depends on functions and constants defined in defaults.g */ // CONSTANTS float EREST_ACT = -0.07 // V float ENA = 0.045 // V float EK = -0.085 // V float ECA = 0.070 // V float SOMA_A = 1e-9 // m^2 // ---------------------------------------------- // HH CHANNELS // ---------------------------------------------- /*************************************************************** \ ** ** Na channel *****************************************************************/ function make_Na_io_vdep if (({exists Na_io_vdep})) return end create vdep_channel Na_io_vdep setfield Na_io_vdep Ek {ENA} gbar {1200.0*SOMA_A} Ik 0 Gk 0 create vdep_gate Na_io_vdep/m // 1/sec // 1/V*sec // no unit // V // V // 1/sec // 1/V*sec // no unit // V // V setfield ^ alpha_A {5000.0 - (-200000.0*EREST_ACT)} \ alpha_B -200000.0 alpha_C -1.0 \ alpha_D {(25/-1000) - EREST_ACT} alpha_F {10.0/-1000.0} \ beta_A 8000.0 beta_B 0 beta_C 0 beta_D {-EREST_ACT} \ beta_F {18.0/1000.0} create vdep_gate Na_io_vdep/h // 1/sec // 1/V*sec // no unit // V // V // 1/sec // 1/V*sec // no unit // V // V setfield ^ alpha_A 70.0 alpha_B 0 alpha_C 0 alpha_D {-EREST_ACT} \ alpha_F {20.0/1000.0} beta_A 1000.0 beta_B 0 beta_C 1.0 \ beta_D {30.0/-1000.0 - EREST_ACT} beta_F {10.0/-1000.0} addmsg Na_io_vdep/m Na_io_vdep MULTGATE m 3 addmsg Na_io_vdep/h Na_io_vdep MULTGATE m 1 addfield Na_io_vdep addmsg1 addfield Na_io_vdep addmsg2 setfield Na_io_vdep addmsg1 ".. m VOLTAGE Vm" \ addmsg2 ".. h VOLTAGE Vm" end /***************************************************************** ** Ca channel *****************************************************************/ function make_Ca_io_vdep if (({exists Ca_io_vdep})) return end create vdep_channel Ca_io_vdep setfield Ca_io_vdep Ek {ECA} gbar {750.0*SOMA_A} Ik 0 Gk 0 create vdep_gate Ca_io_vdep/d // 1/sec // 1/V*sec // no unit // V // V // 1/sec // 1/V*sec // no unit // V // V setfield ^ alpha_A 28.55 alpha_B 0 alpha_C 0 \ alpha_D {(-0.24/10.0) - EREST_ACT} alpha_F {-1.0/10.0} \ beta_A 28.55 beta_B 0 beta_C 0 \ beta_D {1.728/-72.0 - EREST_ACT} beta_F {-1.0/-72.0} create vdep_gate Ca_io_vdep/f // 1/sec // 1/V*sec // no unit // V // V // 1/sec // 1/V*sec // no unit // V // V setfield ^ alpha_A 9.5 alpha_B 0 alpha_C 0 \ alpha_D {-2.26/-112.75 - EREST_ACT} alpha_F {-1.0/-112.75} \ beta_A 9.5 beta_B 0 beta_C 0 beta_D {2.1/96.25 - EREST_ACT} \ beta_F {-1/96.25} addmsg Ca_io_vdep/d Ca_io_vdep MULTGATE m 2 addmsg Ca_io_vdep/f Ca_io_vdep MULTGATE m 1 addfield Ca_io_vdep addmsg1 addfield Ca_io_vdep addmsg2 setfield Ca_io_vdep addmsg1 ".. d VOLTAGE Vm" \ addmsg2 ".. f VOLTAGE Vm" end /***************************************************************** ** K0 channel *****************************************************************/ function make_K0_io_tchan if (({exists K0_io_tchan})) return end create tabchannel K0_io_tchan // Volts // Seimens setfield ^ Ek {EK} Gbar {1.2e3*SOMA_A} Ik 0 Gk 0 \ Xpower 4 Ypower 0 Zpower 0 setupalpha K0_io_tchan X {100.0 + 1e4*EREST_ACT} -1e4 -1.0 \ {-0.01 - EREST_ACT} -0.01 125.0 0.0 0.0 {-EREST_ACT} 0.08 end /***************************************************************** ** K1 channel *****************************************************************/ function make_K1_io_tchan if (({exists K1_io_tchan})) return end create tabchannel K1_io_tchan setfield ^ Ek {EK} Gbar {1.2e3*SOMA_A} Ik 0 Gk 0 \ Xpower 1 Ypower 0 Zpower 0 setupalpha K1_io_tchan X 17.5 0.0 0.0 0.0 100.0 250.0 0.0 1.0 \ {-8e-4 - EREST_ACT} 2e-5 // FIXED // constant to return setfield K1_io_tchan X_A->calc_mode 2 X_A->oy 17.5 end