// genesis /* FILE INFORMATION ** Some Voltage Na and K channels ** Data from : ** J. A. Connor and C. F. Stevens, J. Physiol. (1971) 213, p. 31 ** data for Ansidoris gastropod neurons ** ** Implemented by David Beeman - January 1991 ** slightly modified for NEUROKIT format by Upinder S. Bhalla. ** Converted to tabchans by Upinder S. Bhalla - Feb 1991 ** This file depends on functions and constants defined in defaults.g */ // CONSTANTS // (I-current) float ENa = 0.045 float EK = -0.060 float EA = -0.063 // sq m float SOMA_A = 1e-9 /********************************************************************* ** I-Current (Na) *********************************************************************/ function make_Na_moll_cs// I-current (Na) if (({exists Na_moll_cs})) return end create tabchannel Na_moll_cs setfield Na_moll_cs Ek {ENa} Gbar {1200.0*SOMA_A} Ik 0 Gk 0 Xpower 3 \ Ypower 1 Zpower 0 call Na_moll_cs TABCREATE X 30 -0.100 0.050 // -0.1 // -0.09 // -0.08 // -0.07 // -0.06 // -0.05 // -0.04 // -0.030 // -0.020 // -0.010 // 0.00 // 0.010 // 0.020 // 0.030 // 0.040 // 0.050 setfield Na_moll_cs X_A->table[0] 0.0 X_B->table[0] 90.9 \ X_A->table[1] 0.0 X_B->table[1] 90.9 X_A->table[2] 0.0 \ X_B->table[2] 90.9 X_A->table[3] 0.0 X_B->table[3] 90.9 \ X_A->table[4] 0.0 X_B->table[4] 90.9 X_A->table[5] 0.0 \ X_B->table[5] 90.9 X_A->table[6] 0.0 X_B->table[6] 90.9 \ X_A->table[7] 0.0 X_B->table[7] 90.9 X_A->table[8] 0.0 \ X_B->table[8] 90.9 X_A->table[9] 0.0 X_B->table[9] 90.9 \ X_A->table[10] 0.0 X_B->table[10] 90.9 X_A->table[11] 0.0 \ X_B->table[11] 90.9 X_A->table[12] 0.0 X_B->table[12] 90.9 \ X_A->table[13] 0.0 X_B->table[13] 90.9 X_A->table[14] 21.3 \ X_B->table[14] 69.6 X_A->table[15] 34.5 X_B->table[15] 62.6 \ X_A->table[16] 60.2 X_B->table[16] 50.7 X_A->table[17] 124.0 \ X_B->table[17] 43.0 X_A->table[18] 284.0 \ X_B->table[18] 45.0 X_A->table[19] 513.0 X_B->table[19] 42.0 \ X_A->table[20] 788.0 X_B->table[20] 25.2 \ X_A->table[21] 928.0 X_B->table[21] 10.3 \ X_A->table[22] 1104.0 X_B->table[22] 4.4 \ X_A->table[23] 1352.0 X_B->table[23] 2.7 \ X_A->table[24] 2257.0 X_B->table[24] 0.0 \ X_A->table[25] 2257.0 X_B->table[25] 0.0 \ X_A->table[26] 2257.0 X_B->table[26] 0.0 \ X_A->table[27] 2257.0 X_B->table[27] 0.0 \ X_A->table[28] 2257.0 X_B->table[28] 0.0 \ X_A->table[29] 2257.0 X_B->table[29] 0.0 \ X_A->table[30] 2257.0 X_B->table[30] 0.0 /* Setting the calc_mode to NO_INTERP for speed */ setfield Na_moll_cs X_A->calc_mode 0 X_B->calc_mode 0 /* tweaking the tables for the tabchan calculation */ tweak_tabchan Na_moll_cs X /* Filling the tables using B-SPLINE interpolation */ call Na_moll_cs TABFILL X 3000 0 call Na_moll_cs TABCREATE Y 30 -0.100 0.050 // -0.1 // -0.09 // -0.08 // -0.07 // -0.06 // -0.05 // -0.04 // -0.030 // -0.020 // -0.010 // 0.00 // 0.010 // 0.020 // 0.030 // 0.040 // 0.050 setfield Na_moll_cs Y_A->table[0] 12.5 Y_B->table[0] 0.0 \ Y_A->table[1] 12.5 Y_B->table[1] 0.0 Y_A->table[2] 12.5 \ Y_B->table[2] 0.0 Y_A->table[3] 12.5 Y_B->table[3] 0.0 \ Y_A->table[4] 12.5 Y_B->table[4] 0.0 Y_A->table[5] 12.5 \ Y_B->table[5] 0.0 Y_A->table[6] 12.5 Y_B->table[6] 0.0 \ Y_A->table[7] 12.5 Y_B->table[7] 0.0 Y_A->table[8] 12.5 \ Y_B->table[8] 0.0 Y_A->table[9] 12.5 Y_B->table[9] 0.0 \ Y_A->table[10] 12.5 Y_B->table[10] 0.0 Y_A->table[11] 12.3 \ Y_B->table[11] 0.19 Y_A->table[12] 11.6 Y_B->table[12] 0.89 \ Y_A->table[13] 10.0 Y_B->table[13] 2.49 Y_A->table[14] 7.94 \ Y_B->table[14] 5.10 Y_A->table[15] 4.9 Y_B->table[15] 12.9 \ Y_A->table[16] 0.58 Y_B->table[16] 30.0 Y_A->table[17] 0.0 \ Y_B->table[17] 99.3 Y_A->table[18] 0.0 Y_B->table[18] 204.1 \ Y_A->table[19] 0.0 Y_B->table[19] 245.1 Y_A->table[20] 0.0 \ Y_B->table[20] 278.6 Y_A->table[21] 0.0 Y_B->table[21] 285.7 \ Y_A->table[22] 0.0 Y_B->table[22] 285.7 Y_A->table[23] 0.0 \ Y_B->table[23] 285.7 Y_A->table[24] 0.0 Y_B->table[24] 285.7 \ Y_A->table[25] 0.0 Y_B->table[25] 285.7 Y_A->table[26] 0.0 \ Y_B->table[26] 285.7 Y_A->table[27] 0.0 Y_B->table[27] 285.7 \ Y_A->table[28] 0.0 Y_B->table[28] 285.7 Y_A->table[29] 0.0 \ Y_B->table[29] 285.7 Y_A->table[30] 0.0 Y_B->table[30] 285.7 /* Setting the calc_mode to NO_INTERP for speed */ setfield Na_moll_cs Y_A->calc_mode 0 Y_B->calc_mode 0 /* tweaking the tables for the tabchan calculation */ tweak_tabchan Na_moll_cs Y /* Filling the tables using B-SPLINE interpolation */ call Na_moll_cs TABFILL Y 3000 0 end /********************************************************************** ** Late potassium K-Current **********************************************************************/ function make_K_moll_cs// K-current if ({exists K_moll_cs}) return end create tabchannel K_moll_cs setfield K_moll_cs Ek {EK} Gbar {1200*SOMA_A} Ik 0 Gk 0 Xpower 2 \ Ypower 1 Zpower 0 call K_moll_cs TABCREATE X 30 -0.100 0.050 settab2const K_moll_cs X_A 0 11 0.0 //-0.1 thru -0.045=>0.0 // -0.040 Volts // -0.030 // -0.020 // -0.010 // 0.0 // 0.010 // 0.020 // 0.030 // 0.040 // 0.050 setfield K_moll_cs X_A->table[12] 0.78 X_A->table[13] 1.23 \ X_A->table[14] 1.66 X_A->table[15] 2.33 X_A->table[16] 3.12 \ X_A->table[17] 4.12 X_A->table[18] 5.36 X_A->table[19] 7.24 \ X_A->table[20] 10.65 X_A->table[21] 16.1 X_A->table[22] 22.5 \ X_A->table[23] 30.0 X_A->table[24] 34.7 X_A->table[25] 40.8 \ X_A->table[26] 45.1 X_A->table[27] 47.3 X_A->table[28] 47.6 \ X_A->table[29] 47.6 X_A->table[30] 47.6 settab2const K_moll_cs X_B 0 11 3.33 //-0.1 thru -0.045=>33.3 // -0.040 Volts // -0.030 // -0.020 // -0.010 // 0.00 // 0.010 // 0.020 // 0.030 // 0.040 // 0.050 setfield K_moll_cs X_B->table[12] 2.55 X_B->table[13] 2.48 \ X_B->table[14] 2.44 X_B->table[15] 2.26 X_B->table[16] 2.19 \ X_B->table[17] 2.06 X_B->table[18] 1.88 X_B->table[19] 1.85 \ X_B->table[20] 1.85 X_B->table[21] 1.77 X_B->table[22] 1.33 \ X_B->table[23] 1.25 X_B->table[24] 1.00 X_B->table[25] 0.92 \ X_B->table[26] 0.36 X_B->table[27] 0.29 X_B->table[28] 0.00 \ X_B->table[29] 0.00 X_B->table[30] 0.00 /* Setting the calc_mode to NO_INTERP for speed */ setfield K_moll_cs X_A->calc_mode 0 X_B->calc_mode 0 /* tweaking the tables for the tabchan calculation */ tweak_tabchan K_moll_cs X /* Filling the tables using B-SPLINE interpolation */ call K_moll_cs TABFILL X 3000 0 // Note that the h gate is also activating call K_moll_cs TABCREATE Y 30 -0.100 0.050 settab2const K_moll_cs Y_A 0 13 0.0 //-0.1 thru -0.035 => 0.0 // -0.030 Volts // -0.020 // -0.010 // 0.00 // 0.010 // 0.020 // 0.030 // 0.040 // 0.050 setfield K_moll_cs Y_A->table[14] 1.11 Y_A->table[15] 2.96 \ Y_A->table[16] 4.87 Y_A->table[17] 6.96 Y_A->table[18] 10.24 \ Y_A->table[19] 21.2 Y_A->table[20] 36.4 Y_A->table[21] 58.1 \ Y_A->table[22] 74.3 Y_A->table[23] 76.8 Y_A->table[24] 94.5 \ Y_A->table[25] 106.2 Y_A->table[26] 109.3 Y_A->table[27] 110.6 \ Y_A->table[28] 111.1 Y_A->table[29] 111.1 Y_A->table[30] 111.1 settab2const K_moll_cs Y_B 0 13 22.2 //-0.1 thru -0.035 => 22.2 // -0.030 Volts // -0.020 // -0.010 // 0.00 // 0.010 // 0.020 // 0.030 // 0.040 // 0.050 setfield K_moll_cs Y_B->table[14] 21.1 Y_B->table[15] 19.3 \ Y_B->table[16] 17.4 Y_B->table[17] 15.3 Y_B->table[18] 12.0 \ Y_B->table[19] 14.9 Y_B->table[20] 13.7 Y_B->table[21] 13.4 \ Y_B->table[22] 9.08 Y_B->table[23] 6.50 Y_B->table[24] 5.50 \ Y_B->table[25] 4.89 Y_B->table[26] 1.78 Y_B->table[27] 0.56 \ Y_B->table[28] 0.00 Y_B->table[29] 0.00 Y_B->table[30] 0.00 /* Setting the calc_mode to NO_INTERP for speed */ setfield K_moll_cs Y_A->calc_mode 0 Y_B->calc_mode 0 /* tweaking the tables for the tabchan calculation */ tweak_tabchan K_moll_cs Y /* Filling the tables using B-SPLINE interpolation */ call K_moll_cs TABFILL Y 3000 0 end /********************************************************************** ** Transient potassium A-Current **********************************************************************/ function make_KA_moll_cs// A-current if ({exists KA_moll_cs}) return end create tabchannel KA_moll_cs setfield KA_moll_cs Ek {EA} Gbar {1200*SOMA_A} Ik 0 Gk 0 Xpower 4 \ Ypower 1 Zpower 0 call KA_moll_cs TABCREATE X 30 -0.100 0.050 settab2const KA_moll_cs X_A 0 7 0.0 //-0.1 thru -0.065 => 0.0 // -0.060 Volts // -0.050 // -0.040 // -0.030 // -0.020 // a guess! // -0.010 setfield KA_moll_cs X_A->table[8] 0.1 X_A->table[9] 20.8 \ X_A->table[10] 38.4 X_A->table[11] 47.2 X_A->table[12] 54.3 \ X_A->table[13] 60.8 X_A->table[14] 65.7 X_A->table[15] 71.0 \ X_A->table[16] 74.8 X_A->table[17] 78.0 X_A->table[18] 80.0 \ X_A->table[19] 83.0 settab2const KA_moll_cs X_A 20 30 83.3 //0 thru 50 => 83.3 settab2const KA_moll_cs X_B 0 7 83.3 //-0.1 thru -0.065 => 83.3 // -0.060 Volts // -0.050 // -0.040 // -0.030 // -0.020 // a guess! // -0.010 setfield KA_moll_cs X_B->table[8] 83.3 X_B->table[9] 62.6 \ X_B->table[10] 44.9 X_B->table[11] 36.2 X_B->table[12] 29.1 \ X_B->table[13] 22.6 X_B->table[14] 17.7 X_B->table[15] 12.3 \ X_B->table[16] 8.5 X_B->table[17] 5.0 X_B->table[18] 3.1 \ X_B->table[19] 1.2 settab2const KA_moll_cs X_B 20 30 0.0 //0 thru 0.050 => 0.0 /* Setting the calc_mode to NO_INTERP for speed */ setfield KA_moll_cs X_A->calc_mode 0 X_B->calc_mode 0 /* tweaking the tables for the tabchan calculation */ tweak_tabchan KA_moll_cs X /* Filling the tables using B-SPLINE interpolation */ call KA_moll_cs TABFILL X 3000 0 call KA_moll_cs TABCREATE Y 30 -0.100 0.050 // -0.100 Volts // -0.090 // -0.080 // -0.070 // -0.060 // -0.050 setfield KA_moll_cs Y_A->table[0] 4.26 Y_A->table[1] 4.12 \ Y_A->table[2] 3.95 Y_A->table[3] 3.69 Y_A->table[4] 3.34 \ Y_A->table[5] 2.94 Y_A->table[6] 2.32 Y_A->table[7] 1.54 \ Y_A->table[8] 0.66 Y_A->table[9] 0.306 Y_A->table[10] 0.123 \ Y_A->table[11] 0.053 settab2const KA_moll_cs Y_A 12 30 0.0 // -0.04 thru 0.05 => 0.0 // -0.1 Volts // -0.090 // -0.080 // -0.070 // -0.060 mV // -0.050 mV setfield KA_moll_cs Y_B->table[0] 0.00 Y_B->table[1] 0.13 \ Y_B->table[2] 0.31 Y_B->table[3] 0.57 Y_B->table[4] 0.92 \ Y_B->table[5] 1.32 Y_B->table[6] 1.93 Y_B->table[7] 2.72 \ Y_B->table[8] 3.60 Y_B->table[9] 3.95 Y_B->table[10] 4.13 \ Y_B->table[11] 4.20 settab2const KA_moll_cs Y_B 12 30 4.26 // -0.04 thru 0.05=> 4.26 /* Setting the calc_mode to NO_INTERP for speed */ setfield KA_moll_cs Y_A->calc_mode 0 Y_B->calc_mode 0 /* tweaking the tables for the tabchan calculation */ tweak_tabchan KA_moll_cs Y /* Filling the tables using B-SPLINE interpolation */ call KA_moll_cs TABFILL Y 3000 0 end