Simulated light response in rod photoreceptors (Liu and Kourennyi 2004)

 Download zip file 
Help downloading and running models
Accession:64228
We developed a complete computer model of the rod, which accurately reproduced the main features of the light response and allowed us to demonstrate that it was suppression of Kx channels that was essential for slowing SLR and increasing excitability of rods. The results reported in this work further establish the importance of Kx channels in rod photoreceptor function.
Reference:
1 . Liu XD, Kourennyi DE (2004) Effects of tetraethylammonium on Kx channels and simulated light response in rod photoreceptors. Ann Biomed Eng 32:1428-42 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell;
Brain Region(s)/Organism:
Cell Type(s): Retina photoreceptor cone GLU cell;
Channel(s): I Chloride; I L high threshold; I K; I h; I K,Ca; I Potassium;
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Action Potential Initiation; Oscillations; Action Potentials; Calcium dynamics;
Implementer(s): Kourennyi, Dmitri E [dek at case.edu]; Liu, Xiaodong [xliu22 at jhmi.edu];
Search NeuronDB for information about:  Retina photoreceptor cone GLU cell; I Chloride; I L high threshold; I K; I h; I K,Ca; I Potassium;
/
Liu-Kourennyi_2004
readme.txt
Ca.mod *
Cad.mod
Clca.mod
h.mod
IinjLT.mod *
IinjLTDim.mod *
IinjSin.mod
Kca.mod
Kv.mod
Kx.mod *
Leak.mod *
0222AP_BR.ses
0222AP_DIM.ses
0222Kx_BR.ses
0222Kx_DIM.ses
Fig5_IVCompare.ses
Fig9_AP_Patterns.ses
init.hoc
mosinit.hoc *
rod.hoc
                            
COMMENT
  IinjLT.mod
  Generates a train of photocurrent injections
  User specifies duration of each Iinj, interpulse interval (ton and toff),
  and number of pulses.
  6/30/2003 RARE LAB
           ___            ___            _ _
          /   \          /   \            |
 delay    |    \   toff  |    \           | amp
__________|     \________|     \_______  _|_
            ton
            
   num:      1              2          ...
ENDCOMMENT


NEURON {
	POINT_PROCESS IinjLTDim
	RANGE del, ton, toff, num, amp,ssI,i
	ELECTRODE_CURRENT i
}

UNITS {
	(pA) = (picoamp)
        (nA) = (nanoamp)
}

PARAMETER {
	del  = 1000 (ms)
	ton  = 8000 (ms) <0, 1e9>	: duration of ON phase
	toff = 1000 (ms) <0, 1e9>	: duration of OFF phase
	num  = 2			: how many to deliver
	amp  = 18.87043569 (pA) : absolute amplitude of the light induced current
        ssI  = 40 (pA)     : steady-state current (dark current)
        
}

ASSIGNED {
        Ncount     : counter of the number of the flashes/injections
	ival (nA)
	i (nA)
	on
	tally			: how many more to deliver
	tr (ms)   : the relative time in each flash 
        Part1
        Part2
        Part3
        ssInA (nA)
        ampnA (nA)
}

INITIAL {
	i = 0
        ssInA=0.001*ssI
        ampnA=amp*0.001
	ival = 0
	tally = num
        Ncount=0
	if (tally > 0) {
		net_send(del, 1)
		on = 0
		tally = tally - 1
	}
}

BREAKPOINT {
	LOCAL tau1,tau2,tau3,t1,t2,t3,tt,PhotoI
: printf("%g\n", t)
        tr=t-del-(ton+toff)*(Ncount-1)+dt
        if (on ==1) { 
tau1=0.140104647
tau2=0.596464897
tau3=0.590572966
t1=0.230595125
t2=0.691774291
t3=0.035251144

  
        tt=tr/1000
       	Part1=-exp(- (tt-t1 )/tau1 ) 
   	Part2= exp(- (tt-t2 )/tau2 )
   	Part3=-exp(- (tt-t3 )/tau3 )
   	PhotoI=( Part1+Part2+Part3)
       if (PhotoI>=0) {
       i=ssInA-ival*( Part1+Part2+Part3)
        } else {
       i=ssInA
	}
        
        } else {
        i = ssInA+ival
        }
         
}

NET_RECEIVE (w) {
	: ignore any but self-events with flag == 1
	if (flag == 1) {
		if (on == 0) {
			: turn it on
                        Ncount=Ncount+1
			ival = ampnA
			on = 1
			: prepare to turn it off
			net_send(ton, 1)
		} else {
			: turn it off
			ival = 0
			on = 0
			if (tally > 0) {
				: prepare to turn it on again
				net_send(toff, 1)
				tally = tally - 1
			}
		}
	}
}

Loading data, please wait...