Local variable time step method (Lytton, Hines 2005)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:33975
The local variable time-step method utilizes separate variable step integrators for individual neurons in the network. It is most suitable for medium size networks in which average synaptic input intervals to a single cell are much greater than a fixed step dt.
Reference:
1 . Lytton WW, Hines ML (2005) Independent variable time-step integration of individual neurons for network simulations. Neural Comput 17:903-21 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type:
Brain Region(s)/Organism:
Cell Type(s):
Channel(s):
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Methods;
Implementer(s): Hines, Michael [Michael.Hines at Yale.edu];
: $Id: netcon.inc,v 1.1.1.1 2003/09/02 19:05:02 hines Exp $

COMMENT
USAGE: for most receptors
*****************************************************************************
    NEURON {
      POINT_PROCESS NAME
    }

    PARAMETER {
      Cdur	= 1.08	(ms)		: transmitter duration (rising phase)
      Alpha	= 1	(/ms mM)	: forward (binding) rate
      Beta	= 0.02	(/ms)		: backward (unbinding) rate
      Erev	= -80	(mV)		: reversal potential
    }
    
    INCLUDE "netsyn.inc"
*****************************************************************************

USAGE: for NMDA receptor
*****************************************************************************
    NEURON{ POINT_PROCESS NMDA
      RANGE B 
    }

    PARAMETER {
      mg        = 1.    (mM)     : external magnesium concentration
      Cdur	= 1.	(ms)	 : transmitter duration (rising phase)
      Alpha	= 4.	(/ms mM) : forward (binding) rate
      Beta	= 0.0067 (/ms)	 : backward (unbinding) rate 1/150
      Erev	= 0.	(mV)	 : reversal potential
    }

    ASSIGNED { B }

    INCLUDE "netcon.inc"
    : EXTRA BREAKPOINT MUST BE BELOW THE INCLUDE
    BREAKPOINT {
      rates(v)
      g = g * B : but don't really need to readjust conductance
      i = i * B : i = g*(v - Erev)
    }

    PROCEDURE rates(v(mV)) {
      TABLE B
      DEPEND mg
      FROM -100 TO 80 WITH 180
      B = 1 / (1 + Exp1(0.062 (/mV) * -v) * (mg / 3.57 (mM)))
    }
*****************************************************************************
ENDCOMMENT

INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)}

NEURON {
  RANGE g
  NONSPECIFIC_CURRENT i
  GLOBAL Cdur, Alpha, Beta, Erev, Rinf, Rtau
}

UNITS {
  (nA) = (nanoamp)
  (mV) = (millivolt)
  (umho) = (micromho)
  (mM) = (milli/liter)
}

ASSIGNED {
  v		(mV)		: postsynaptic voltage
  i 		(nA)		: current = g*(v - Erev)
  g 		(umho)		: conductance
  Rinf				: steady state channels open
  Rtau		(ms)		: time constant of channel binding
  R				: fraction of open channels
  synon
}

STATE {Ron Roff}

INITIAL {
  R = 0
  Rinf = Alpha / (Alpha + Beta)
  Rtau = 1 / (Alpha + Beta)
  synon = 0
}

BREAKPOINT {
  SOLVE release METHOD cnexp
  g = (Ron + Roff)*1(umho)
  i = g*(v - Erev)
}

DERIVATIVE release {
  Ron' = (synon*Rinf - Ron)/Rtau
  Roff' = -Beta*Roff
}

: following supports both saturation from single input and
: summation from multiple inputs
: if spike occurs during CDur then new off time is t + CDur
: ie. transmitter concatenates but does not summate
: Note: automatic initialization of all reference args to 0 except first

NET_RECEIVE(weight, on, nspike, r0, t0 (ms)) {
  : flag is an implicit argument of NET_RECEIVE and  normally 0
  if (t>0) { : bug fix so that init doesn't send a false event
    if (flag == 0) { : a spike, so turn on if not already in a Cdur pulse
      nspike = nspike + 1
      if (!on) {
        r0 = r0*Exp1(-Beta*(t - t0))
        t0 = t
        on = 1
        synon = synon + weight
        state_discontinuity(Ron, Ron + r0)
        state_discontinuity(Roff, Roff - r0)
      }
      : come again in Cdur with flag = current value of nspike
      net_send(Cdur, nspike)
    }
    if (flag == nspike) { : if this associated with last spike then turn off
      r0 = weight*Rinf + (r0 - weight*Rinf)*Exp1(-(t - t0)/Rtau)
      t0 = t
      synon = synon - weight
      state_discontinuity(Ron, Ron - r0)
      state_discontinuity(Roff, Roff + r0)
      on = 0
    }
  }
}

FUNCTION Exp1(x) {   
  if (x < -100) {
    Exp1  = 0
  } else if (x > 100) {
    Exp1 = exp(100)
  } else{
    Exp1 = exp(x)
  }
}

Lytton WW, Hines ML (2005) Independent variable time-step integration of individual neurons for network simulations. Neural Comput 17:903-21[PubMed]

References and models cited by this paper

References and models that cite this paper

Abeles M (1991) Corticonics: Neural Circuits of the Cerebral Cortex.

Aviel Y, Mehring C, Abeles M, Horn D (2003) On embedding synfire chains in a balanced network. Neural Comput 15:1321-40 [PubMed]

Bazhenov M, Timofeev I, Steriade M, Sejnowski TJ (1998) Computational models of thalamocortical augmenting responses. J Neurosci 18:6444-65 [Journal] [PubMed]

   Thalamocortical augmenting response (Bazhenov et al 1998) [Model]

Cohen S, Hindmarsh A (1994) Cvode user guide Tech Rep

Destexhe A, Mainen Z, Sejnowski TJ (1994) An efficient method for computing synaptic conductances based on a kinetic model of receptor binding Neural Comput 6:14-18 [Journal]

   Efficient Method for Computing Synaptic Conductance (Destexhe et al 1994) [Model]
   Kinetic synaptic models applicable to building networks (Destexhe et al 1998) [Model]
   Application of a common kinetic formalism for synaptic models (Destexhe et al 1994) [Model]

Destexhe A, Mainen ZF, Sejnowski TJ (1994) Synthesis of models for excitable membranes, synaptic transmission and neuromodulation using a common kinetic formalism. J Comput Neurosci 1:195-230 [Journal] [PubMed]

   Application of a common kinetic formalism for synaptic models (Destexhe et al 1994) [Model]
   Kinetic synaptic models applicable to building networks (Destexhe et al 1998) [Model]

Hindmarsh A, Serban R (2002) User documentation for Cvodes, an ode solver with sensitivity analysis capabilities Tech Rep

Hines ML, Carnevale NT (2001) NEURON: a tool for neuroscientists. Neuroscientist 7:123-35 [Journal] [PubMed]

   Spatial gridding and temporal accuracy in NEURON (Hines and Carnevale 2001) [Model]

Hines ML, Morse T, Migliore M, Carnevale NT, Shepherd GM (2004) ModelDB: A Database to Support Computational Neuroscience. J Comput Neurosci 17:7-11 [Journal] [PubMed]

Jones D (1986) An empirical comparison of priority-queue and event-setimplementations Comm Acm 4:300-311

Lytton WW (1996) Optimizing synaptic conductance calculation for network simulations. Neural Comput 8:501-9 [PubMed]

Makino T (2003) A discrete-event neural network simulator for general neuron models Neural Comput App 11:210-223

Mattia M, Del Giudice P (2000) Efficient event-driven simulation of large networks of spiking neurons and dynamical synapses. Neural Comput 12:2305-29 [PubMed]

Sleator D, Tarjan R (1983) Self adjusting binary trees Proc ACM SIGACT Symposium on Theory of Computing :235-245

Traub RD, Jefferys GR, Whittington MA (1999) Fast Oscillations In Cortical Circuits

Victor JD, Purpura KP (1996) Nature and precision of temporal coding in visual cortex: a metric-space analysis. J Neurophysiol 76:1310-26 [Journal] [PubMed]

Wang XJ, Buzsaki G (1996) Gamma oscillation by synaptic inhibition in a hippocampal interneuronal network model. J Neurosci 16:6402-13 [Journal] [PubMed]

   Gamma oscillations in hippocampal interneuron networks (Wang, Buzsaki 1996) [Model]

Watts L (1994) Event-driven simulation of networks of spiking neurons Advances in Neural Information Processing Systems, Cowan J:Tesauro G:Alspector J, ed. pp.927

Brette R (2006) Exact simulation of integrate-and-fire models with synaptic conductances. Neural Comput 18:2004-27 [PubMed]

Brette R, Rudolph M, Carnevale T, Hines M, Beeman D, Bower JM, Diesmann M, Morrison A, et al. (2007) Simulation of networks of spiking neurons: A review of tools and strategies. J Comp Neurosci 23:349-98 [Journal] [PubMed]

   Networks of spiking neurons: a review of tools and strategies (Brette et al. 2007) [Model]

Hines ML, Markram H, Schuermann F (2008) Fully Implicit Parallel Simulation of Single Neurons J Comp Neurosci 25:439-448 [Journal] [PubMed]

   Fully Implicit Parallel Simulation of Single Neurons (Hines et al. 2008) [Model]

Huang S, Hong S, De Schutter E (2015) Non-linear leak currents affect mammalian neuron physiology. Front Cell Neurosci 9:432 [Journal] [PubMed]

   Concentration dependent nonlinear K+ and Cl- leak current (Huang et al. 2015) [Model]

Lytton WW, Seidenstein AH, Dura-Bernal S, McDougal RA, Schurmann F, Hines ML (2016) Simulation Neurotechnologies for Advancing Brain Research: Parallelizing Large Networks in NEURON. Neural Comput :1-28 [Journal] [PubMed]

   Parallelizing large networks in NEURON (Lytton et al. 2016) [Model]

McDougal RA, Hines ML, Lytton WW (2013) Reaction-diffusion in the NEURON simulator. Front Neuroinform 7:28 [Journal] [PubMed]

   Reaction-diffusion in the NEURON simulator (McDougal et al 2013) [Model]

Migliore M, Cannia C, Lytton WW, Markram H, Hines ML (2006) Parallel Network Simulations with NEURON. J Comp Neurosci 21:110-119 [Journal] [PubMed]

   Parallel network simulations with NEURON (Migliore et al 2006) [Model]

Morrison A, Straube S, Plesser HE, Diesmann M (2007) Exact subthreshold integration with continuous spike times in discrete-time neural network simulations. Neural Comput 19:47-79 [PubMed]

Rangan AV, Cai D (2007) Fast numerical methods for simulating large-scale integrate-and-fire neuronal networks. J Comput Neurosci 22:81-100 [Journal] [PubMed]

Ros E, Carrillo R, Ortigosa EM, Barbour B, Agis R (2006) Event-driven simulation scheme for spiking neural networks using lookup tables to characterize neuronal dynamics. Neural Comput 18:2959-93 [PubMed]

Rudolph M, Destexhe A (2006) Analytical Integrate-and-Fire Neuron Models with Conductance-Based Dynamics for Event-Driven Simulation Strategies. Neural Comput 18:2146-210 [PubMed]

(29 refs)