Retinal ganglion cells responses and activity (Tsai et al 2012, Guo et al 2016)

 Download zip file 
Help downloading and running models
From the abstracts: "Retinal ganglion cells (RGCs), which survive in large numbers following neurodegenerative diseases, could be stimulated with extracellular electric pulses to elicit artificial percepts. How do the RGCs respond to electrical stimulation at the sub-cellular level under different stimulus configurations, and how does this influence the whole-cell response? At the population level, why have experiments yielded conflicting evidence regarding the extent of passing axon activation? We addressed these questions through simulations of morphologically and biophysically detailed computational RGC models on high performance computing clusters. We conducted the analyses on both large-field RGCs and small-field midget RGCs. ...", "... In this study, an existing RGC ionic model was extended by including a hyperpolarization activated non-selective cationic current as well as a T-type calcium current identified in recent experimental findings. Biophysically-defined model parameters were simultaneously optimized against multiple experimental recordings from ON and OFF RGCs. ...
1 . Guo T, Tsai D, Morley JW, Suaning GJ, Kameneva T, Lovell NH, Dokos S (2016) Electrical activity of ON and OFF retinal ganglion cells: a modelling study. J Neural Eng 13:025005 [PubMed]
2 . Tsai D, Chen S, Protti DA, Morley JW, Suaning GJ, Lovell NH (2012) Responses of retinal ganglion cells to extracellular electrical stimulation, from single cell to population: model-based analysis. PLoS One 7:e53357 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Synapse; Extracellular;
Brain Region(s)/Organism: Retina;
Cell Type(s): Retina ganglion GLU cell;
Gap Junctions:
Simulation Environment: NEURON;
Model Concept(s): Oscillations; Activity Patterns; Development;
Implementer(s): Tsai, David [d.tsai at];
Search NeuronDB for information about:  Retina ganglion GLU cell;
// Check for zero diameter segment in 3D specifications
proc uCheckZero3DDiam() { local i
    forall for i = 0, n3d()-1 {
        if (diam3d(i) == 0) { print secname(), " " , i }

// Display properties of each segment: name, nseg and length per segment
proc uSegProperties() { local count
    count = 0
    print "Name     nseg     L/nseg"
    print "------------------------"
    forall {
        print secname(), "  ", nseg, "  ", L/nseg
        count += nseg
    print "------------------------\n", "total nseg = ", count

// Record data for the specified variable
objref uDv
proc uRecord() {
    uDv = new Vector()

// Checks for spike in recorded data during stim delay ~ 45 ms range
func uHasSpike() { local i, hyp
    //index of 1st threshold crossing
    for i = (del+dur*2+0.5)/dt,(del+35)/dt {
        if (uDv.x[i] >= 0) {
            return i
    //excessive stim causes transient hyp after stimulus
    hyp = 1
    for i = (del+dur*2+1.0)/dt,(del+dur*2+4.0)/dt {
        if (uDv.x[i] >= uDv.x[0]) {
            hyp = 0
    if (hyp) { return -1 }
    return 0

Loading data, please wait...