Transforming XML file: NeuroMLFiles/Examples/ChannelML/CaHVA_Chan.xml using XSL file: NeuroMLFiles/Schemata/v1.8.0/Level2/ChannelML_v1.8.0_NEURONmod.xsl
View original file before transform
|
Converting the file: CaHVA_Chan.xml? This is a NEURON mod file generated from a ChannelML file ? Unit system of original ChannelML file: SI Units COMMENT A channel from Maex, R and De Schutter, E. Synchronization of Golgi and Granule Cell Firing in a Detailed Network Model of the Cerebellar Granule Cell Layer ENDCOMMENT TITLE Channel: Gran_CaHVA_98 COMMENT A High Voltage Activated Ca2+ channel ENDCOMMENT UNITS { (mA) = (milliamp) (mV) = (millivolt) (S) = (siemens) (um) = (micrometer) (molar) = (1/liter) (mM) = (millimolar) (l) = (liter) } NEURON { SUFFIX Gran_CaHVA_98 USEION ca WRITE ica VALENCE 2 ? outgoing current is written RANGE gmax, gion RANGE minf, mtau RANGE hinf, htau } PARAMETER { gmax = 0.0009084216 (S/cm2) ? default value, should be overwritten when conductance placed on cell } ASSIGNED { v (mV) celsius (degC) ? Reversal potential of ca eca (mV) ? The outward flow of ion: ca calculated by rate equations... ica (mA/cm2) gion (S/cm2) minf mtau (ms) hinf htau (ms) } BREAKPOINT { SOLVE states METHOD cnexp gion = gmax*((m)^2)*((h)^1) ica = gion*(v - eca) } INITIAL { eca = 80 rates(v) m = minf h = hinf } STATE { m h } DERIVATIVE states { rates(v) m' = (minf - m)/mtau h' = (hinf - h)/htau } PROCEDURE rates(v(mV)) { ? Note: not all of these may be used, depending on the form of rate equations LOCAL alpha, beta, tau, inf, gamma, zeta, temp_adj_m, A_alpha_m, B_alpha_m, Vhalf_alpha_m, A_beta_m, B_beta_m, Vhalf_beta_m, temp_adj_h, A_alpha_h, B_alpha_h, Vhalf_alpha_h, A_beta_h, B_beta_h, Vhalf_beta_h TABLE minf, mtau,hinf, htau DEPEND celsius FROM -100 TO 100 WITH 400 UNITSOFF ? There is a Q10 factor which will alter the tau of the gates temp_adj_m = 3^((celsius - 17.350264793)/10) temp_adj_h = 3^((celsius - 17.350264793)/10) ? There is a voltage offset of 0.010. This will shift the dependency of the rate equations v = v - (10) ? *** Adding rate equations for gate: m *** ? Found a parameterised form of rate equation for alpha, using expression: A / (1 + exp((v-Vhalf)/B)) A_alpha_m = 1600 B_alpha_m = -0.01388888889 Vhalf_alpha_m = 0.005 ? Unit system in ChannelML file is SI units, therefore need to convert these to NEURON quanities... A_alpha_m = A_alpha_m * 0.001 ? 1/ms B_alpha_m = B_alpha_m * 1000 ? mV Vhalf_alpha_m = Vhalf_alpha_m * 1000 ? mV alpha = A_alpha_m / (exp((v - Vhalf_alpha_m) / B_alpha_m) + 1) ? Found a parameterised form of rate equation for beta, using expression: A*((v-Vhalf)/B) / (1 - exp(-((v-Vhalf)/B))) A_beta_m = 100 B_beta_m = -0.005 Vhalf_beta_m = -0.0089 ? Unit system in ChannelML file is SI units, therefore need to convert these to NEURON quanities... A_beta_m = A_beta_m * 0.001 ? 1/ms B_beta_m = B_beta_m * 1000 ? mV Vhalf_beta_m = Vhalf_beta_m * 1000 ? mV beta = A_beta_m * vtrap((v - Vhalf_beta_m), B_beta_m) mtau = 1/(temp_adj_m*(alpha + beta)) minf = alpha/(alpha + beta) ? *** Finished rate equations for gate: m *** ? *** Adding rate equations for gate: h *** ? Found a generic form of the rate equation for alpha, using expression: v < -0.060 ? 5.0 : 5 * (exp (-50 * (v - (-0.060)))) ? Note: Equation (and all ChannelML file values) in SI Units so need to convert v first... v = v * 0.001 ? temporarily set v to units of equation... if (v < -0.060 ) { alpha = 5.0 } else { alpha = 5 * (exp (-50 * (v - (-0.060)))) } ? Set correct units of alpha for NEURON alpha = alpha * 0.001 v = v * 1000 ? reset v ? Found a generic form of the rate equation for beta, using expression: v < -0.060 ? 0 : 5 - (5 * (exp (-50 * (v - (-0.060))))) ? Note: Equation (and all ChannelML file values) in SI Units so need to convert v first... v = v * 0.001 ? temporarily set v to units of equation... if (v < -0.060 ) { beta = 0 } else { beta = 5 - (5 * (exp (-50 * (v - (-0.060))))) } ? Set correct units of beta for NEURON beta = beta * 0.001 v = v * 1000 ? reset v htau = 1/(temp_adj_h*(alpha + beta)) hinf = alpha/(alpha + beta) ? *** Finished rate equations for gate: h *** } ? Function to assist with parameterised expressions of type linoid/exp_linear FUNCTION vtrap(VminV0, B) { if (fabs(VminV0/B) < 1e-6) { vtrap = (1 + VminV0/B/2) }else{ vtrap = (VminV0 / B) /(1 - exp((-1 *VminV0)/B)) } } UNITSON |
Time to transform file: 0.172 secs