TITLE Inwardly rectifying potassium current COMMENT neuromodulation is added as functions: modulation = 1 + damod*(maxMod-1)*level where: damod [0]: is a switch for turning modulation on or off {1/0} maxMod [1]: is the maximum modulation for this specific channel (read from the param file) e.g. 10% increase would correspond to a factor of 1.1 (100% +10%) {0-inf} level [0]: is an additional parameter for scaling modulation. Can be used simulate non static modulation by gradually changing the value from 0 to 1 {0-1} [] == default values {} == ranges ENDCOMMENT NEURON { THREADSAFE SUFFIX kir USEION k READ ek WRITE ik RANGE gbar, gk, ik RANGE damod, maxMod, level, max2, lev2 } UNITS { (S) = (siemens) (mV) = (millivolt) (mA) = (milliamp) } PARAMETER { gbar = 0.0 (S/cm2) q = 3 damod = 0 maxMod = 1 level = 0 max2 = 1 lev2 = 0 } ASSIGNED { v (mV) ek (mV) ik (mA/cm2) gk (S/cm2) minf mtau (ms) } STATE { m } BREAKPOINT { SOLVE states METHOD cnexp gk = gbar*m*modulation() ik = gk*(v-ek) } DERIVATIVE states { rates() m' = (minf-m)/mtau*q } INITIAL { rates() m = minf } PROCEDURE rates() { LOCAL alpha, beta, sum UNITSOFF minf = 1/(1+exp((v-(-102))/13)) alpha = 0.1*exp((v-(-60))/(-14)) beta = 0.27/(1+exp((v-(-31))/(-23))) sum = alpha+beta mtau = 1/sum UNITSON } FUNCTION modulation() { : returns modulation factor modulation = 1 + damod * ( (maxMod-1)*level + (max2-1)*lev2 ) if (modulation < 0) { modulation = 0 } } COMMENT Original data by Steephen (2009), rat, room temp. Genesis implementation by Kai Du , MScell v9.5. NEURON implementation by Alexander Kozlov , smooth fit of mtau. ENDCOMMENT