Spiny neuron model with dopamine-induced bistability (Gruber et al 2003)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:39949
These files implement a model of dopaminergic modulation of voltage-gated currents (called kir2 and caL in the original paper). See spinycell.html for details of usage and implementation. For questions about this implementation, contact Ted Carnevale (ted.carnevale@yale.edu)
Reference:
1 . Gruber AJ, Solla SA, Surmeier DJ, Houk JC (2003) Modulation of striatal single units by expected reward: a spiny neuron model displaying dopamine-induced bistability. J Neurophysiol 90:1095-114 [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): Neostriatum medium spiny direct pathway GABA cell;
Channel(s): I K,leak; I h; I A, slow;
Gap Junctions:
Receptor(s): D1; Dopaminergic Receptor;
Gene(s): Cav1.3 CACNA1D; D1 DRD1A;
Transmitter(s): Dopamine;
Simulation Environment: NEURON;
Model Concept(s): Intrinsic plasticity;
Implementer(s): Carnevale, Ted [Ted.Carnevale at Yale.edu];
Search NeuronDB for information about:  Neostriatum medium spiny direct pathway GABA cell; D1; Dopaminergic Receptor; I K,leak; I h; I A, slow; Dopamine;
//Network cell templates
//   C_Cell

begintemplate C_Cell
public is_art
public init, topol, basic_shape, subsets, geom, biophys
public synlist, x, y, z, position, connect2target

public soma
public all

objref synlist

proc init() {
  topol()
  subsets()
  geom()
  biophys()
  geom_nseg()
  synlist = new List()
  synapses()
  x = y = z = 0 // only change via position
}

create soma

proc topol() { local i
  basic_shape()
}
proc basic_shape() {
  soma {pt3dclear() pt3dadd(0, 0, 0, 1) pt3dadd(15, 0, 0, 1)}
}

objref all
proc subsets() { local i
  objref all
  all = new SectionList()
    soma all.append()

}
proc geom() {
  soma {  /*area = 100 */ L = diam = 5.6419  }
}
external lambda_f
proc geom_nseg() {
  soma area(.5) // make sure diam reflects 3d points
   soma { nseg = 1  }
}
proc biophys() {
  soma {
    Ra = 80
    cm = 1
    insert caL
      Pbar_caL = 42
    insert kir2
      gbar_kir2 = 1.2
    insert ksi
      gbar_ksi = 0.45
    insert leak
      g_leak = 0.008
      e_leak = -90
  }
}
proc position() { local i
  soma for i = 0, n3d()-1 {
    pt3dchange(i, $1-x+x3d(i), $2-y+y3d(i), $3-z+z3d(i), diam3d(i))
  }
  x = $1  y = $2  z = $3
}
proc connect2target() { //$o1 target point process, $o2 returned NetCon
  soma $o2 = new NetCon(&v(1), $o1)
}
objref syn_
proc synapses() {
  /* ExpSyn0 */   soma syn_ = new ExpSyn(0.5)  synlist.append(syn_)
    syn_.tau = 3
  /* DAsyn1 */   soma syn_ = new DAsyn(0.5)  synlist.append(syn_)
  // attach all POINTERs to DAsyn.msg
  forsec all {
    if (issection("caL")) {
      for (x,0) { // skip the nodes at 0 and 1
	setpointer mu_caL(x), synlist.object(1).msg
      }
    }
    if (issection("kir2")) {
      for (x,0) { // skip the nodes at 0 and 1
	setpointer mu_kir2(x), synlist.object(1).msg
      }
    }
  }
}
func is_art() { return 0 }

endtemplate C_Cell

Loading data, please wait...