The NEURON simulation environment Networks and more. Michael Rudolph

Similar documents
DISCRETE EVENT SIMULATION IN THE NEURON ENVIRONMENT

November 28, 2004 The NEURON Book: Chapter 10

June 5, 2003 The NEURON Book: Chapter 10

Fast and exact simulation methods applied on a broad range of neuron models

Computational Explorations in Cognitive Neuroscience Chapter 2

In#uence of dendritic topologyon "ring patterns in model neurons

This script will produce a series of pulses of amplitude 40 na, duration 1ms, recurring every 50 ms.

Information Theory and Neuroscience II

Supervisor: Prof. Stefano Spaccapietra Dr. Fabio Porto Student: Yuanjian Wang Zufferey. EPFL - Computer Science - LBD 1

Circular symmetry of solutions of the neural field equation

Neural Modeling and Computational Neuroscience. Claudio Gallicchio

Biological Modeling of Neural Networks

Conductance-Based Integrate-and-Fire Models

The Axonal Plexus. A description of the behavior of a network of neurons connected by gap junctions. Erin Munro, 4/4/2007

Synchrony in Neural Systems: a very brief, biased, basic view

Introduction to Neural Networks U. Minn. Psy 5038 Spring, 1999 Daniel Kersten. Lecture 2a. The Neuron - overview of structure. From Anderson (1995)

Dendritic cable with active spines: a modelling study in the spike-diffuse-spike framework

CSE/NB 528 Final Lecture: All Good Things Must. CSE/NB 528: Final Lecture

Localized Excitations in Networks of Spiking Neurons

Coherence detection in a spiking neuron via Hebbian learning

Mathematical Models of Dynamic Behavior of Individual Neural Networks of Central Nervous System

Learning Spatio-Temporally Encoded Pattern Transformations in Structured Spiking Neural Networks 12

Compartmental Modelling

Neurophysiology. Danil Hammoudi.MD

Contents Why use NEURON ( 5-10 mins) Basics of NEURON (20-25 mins) Exercises (45 mins) Wrap Up (10 mins)

Phase Response. 1 of of 11. Synaptic input advances (excitatory) or delays (inhibitory) spiking

arxiv: v1 [q-bio.nc] 13 Feb 2018

Neuronal Dynamics: Computational Neuroscience of Single Neurons

High-conductance states in a mean-eld cortical network model

Neuron. Detector Model. Understanding Neural Components in Detector Model. Detector vs. Computer. Detector. Neuron. output. axon

Mathematical Models of Dynamic Behavior of Individual Neural Networks of Central Nervous System

System Identification for the Hodgkin-Huxley Model using Artificial Neural Networks

Patterns, Memory and Periodicity in Two-Neuron Delayed Recurrent Inhibitory Loops

Reinforcement Learning and Time Perception - a Model of Animal Experiments

Supporting Online Material for

Computing with Inter-spike Interval Codes in Networks of Integrate and Fire Neurons

CISC 3250 Systems Neuroscience

Biosciences in the 21st century

Consider the following spike trains from two different neurons N1 and N2:

Is the superposition of many random spike trains a Poisson process?

An Efficient Method for Computing Synaptic Conductances Based on a Kinetic Model of Receptor Binding

INTRODUCTION TO NEURAL NETWORKS

Computing with inter-spike interval codes in networks ofintegrate and fire neurons

Ranking Neurons for Mining Structure-Activity Relations in Biological Neural Networks: NeuronRank

Dynamical Constraints on Computing with Spike Timing in the Cortex

Introduction and the Hodgkin-Huxley Model

Fast neural network simulations with population density methods

Activity of any neuron with delayed feedback stimulated with Poisson stream is non-markov

Nerve Signal Conduction. Resting Potential Action Potential Conduction of Action Potentials

A gradient descent rule for spiking neurons emitting multiple spikes

Linearization of F-I Curves by Adaptation

Learning Beyond Finite Memory in Recurrent Networks Of Spiking Neurons

(Feed-Forward) Neural Networks Dr. Hajira Jabeen, Prof. Jens Lehmann

Fitting a Stochastic Neural Network Model to Real Data

Subthreshold cross-correlations between cortical neurons: Areference model with static synapses

Artificial neural networks

Model of a Biological Neuron as a Temporal Neural Network

Neuronal Dynamics: Computational Neuroscience of Single Neurons

Synaptic dynamics. John D. Murray. Synaptic currents. Simple model of the synaptic gating variable. First-order kinetics

Physiology Unit 2. MEMBRANE POTENTIALS and SYNAPSES

November 27, 2004 The NEURON Book: Chapter 5

Synchrony in Stochastic Pulse-coupled Neuronal Network Models

Simple neuron model Components of simple neuron

An analytical model for the large, fluctuating synaptic conductance state typical of neocortical neurons in vivo

3 Detector vs. Computer

Discrete and Indiscrete Models of Biological Networks

Probabilistic Models in Theoretical Neuroscience

Lecture 11 : Simple Neuron Models. Dr Eileen Nugent

NON-MARKOVIAN SPIKING STATISTICS OF A NEURON WITH DELAYED FEEDBACK IN PRESENCE OF REFRACTORINESS. Kseniia Kravchuk and Alexander Vidybida

Hopfield Neural Network and Associative Memory. Typical Myelinated Vertebrate Motoneuron (Wikipedia) Topic 3 Polymers and Neurons Lecture 5

COMP9444 Neural Networks and Deep Learning 2. Perceptrons. COMP9444 c Alan Blair, 2017

MEMBRANE POTENTIALS AND ACTION POTENTIALS:

NE 204 mini-syllabus (weeks 4 8)

Deconstructing Actual Neurons

Modeling of Retinal Ganglion Cell Responses to Electrical Stimulation with Multiple Electrodes L.A. Hruby Salk Institute for Biological Studies

arxiv:cs/ v2 [cs.ne] 21 Mar 2006

BioE 332 Assignment 1: Persistent activity in a spatial working memory model

Balance of Electric and Diffusion Forces

A Three-dimensional Physiologically Realistic Model of the Retina


Topological target patterns and population oscillations in a network with random gap junctional coupling

Behavioural Simulation of Biological Neuron Systems using VHDL and VHDL-AMS

Simple models of neurons!! Lecture 4!

How do biological neurons learn? Insights from computational modelling of

Modelling stochastic neural learning

COGNITIVE SCIENCE 107A

Neural Nets in PR. Pattern Recognition XII. Michal Haindl. Outline. Neural Nets in PR 2

On the Dynamics of Delayed Neural Feedback Loops. Sebastian Brandt Department of Physics, Washington University in St. Louis

Neuronal Dynamics. From Single Neurons to Networks and Models of Cognition

Memories Associated with Single Neurons and Proximity Matrices

Neural networks. Chapter 19, Sections 1 5 1

Comparing integrate-and-fire models estimated using intracellular and extracellular data 1

Nervous Systems: Neuron Structure and Function

Effects of Interactive Function Forms in a Self-Organized Critical Model Based on Neural Networks

Examples of Excitable Media. Excitable Media. Characteristics of Excitable Media. Behavior of Excitable Media. Part 2: Cellular Automata 9/7/04

Analyzing Neuroscience Signals using Information Theory and Complexity

Two dimensional synaptically generated traveling waves in a theta-neuron neuralnetwork

Time-Skew Hebb Rule in a Nonisopotential Neuron

Lecture IV: LTI models of physical systems

Mathematical Methods for Neurosciences. ENS - Master MVA Paris 6 - Master Maths-Bio ( )

Transcription:

The NEURON simulation environment Networks and more Michael Rudolph Advanced Course in Computational Neuroscience Obidos, Portugal, 2004

References web: http://www.neuron.yale.edu/ http://neuron.duke.edu/ papers: Hines, M.L. and Carnevale, N.T. Discrete event simulation in the NEURON environment. Neurocomputing 58-60 (2004), 1117-1122. Carnevale, N.T. and Hines, M.L. Efficient discrete event simulation of spiking neurons using NEURON. Abstract (2003).

Outline A very (very!) simple example (introducing NetCon, NetStim and templates)

A very (very!) simple example Goal: ANeural network@ with one (and more) IAF neuron receiving random synaptic input single compartment with IAF point process IntFire1 provided in NEURON Anetwork input@: single pulsed input using the NetStim point process provided in NEURON

A very (very!) simple example Creating cell objref IAF create soma soma { IAF = new IntFire1(0.5) IAF.tau = 20 IAF.refrac = 5 create point process create compartment create IAF cell

A very (very!) simple example The IntFire1() object c = new IntFire1(x) c.tau c.refrac c.m c.m

A very (very!) simple example Adding network input objref StimTrigger, NetInput create Presynapse Presynapse { StimTrigger = new NetStim(0.5) StimTrigger.start = 10 StimTrigger.interval = 5 StimTrigger.number = 50 StimTrigger.noise = 0 create stimulation object create input compartment create stimulation trigger NetInput = new NetCon(StimTrigger, IAF, 0.5, 0, 0.3) connect stimulation trigger to network cell

A very (very!) simple example The NetCon() object section netcon = new NetCon(&v(x), target, threshold, delay, weight) netcon = new NetCon(source, target, threshold, delay, weight) section netcon = new NetCon(&v(x), target) netcon = new NetCon(source, target)

A very (very!) simple example The NetStim() object s = new NetStim(x) s.interval s.number s.start s.noise

A very (very!) simple example Simulation state variable of IAF neuron presynaptic activity

A very (very!) simple example Incorporation of network topology objref IAF create soma soma { pt3dclear() pt3dadd(0, 0, 0, 10) pt3dadd(10, 0, 0, 10) set position of cell IAF = new IntFire1(0.5) IAF.tau = 20 IAF.refrac = 5

A very (very!) simple example Using templates begintemplate <NAME> public <VARIABLE NAME> <BODY> proc init() { <INITIALIZATION> proc <PROCEDURE NAME> { <PROCEDURE> definition endtemplate <NAME> objref neuron[numbercells] l = 0 for l=0, NumberCells { neuron[l] = new <NAME>() neuron[l].<variable NAME> = <VALUE> usage

A very (very!) simple example Definition of cell template begintemplate simpleiafneuron public soma public IAF public x, y, z public addconnection objref IAF create soma proc init() { x = $1 y = $2 z = $3 soma { pt3dclear() pt3dadd(x, y, z, 10) pt3dadd(x+10, y, z, 10) IAF = new IntFire1(0.5) IAF.tau = 10 IAF.refrac = 5 proc addconnection() { soma { pt3dadd(x+5, y, z, 1) pt3dadd($1+5, $2, $3, 1) endtemplate simpleiafneuron

A very (very!) simple example Usage of cell template objref neuron[numbercells] define objects for cells l = 0 for i=0, NETDIM_X-1 { for j=0, NETDIM_Y-1 { for k=0, NETDIM_Z-1 { neuron[l] = new simpleiafneuron(x+i*dx, y+j*dy, z+k*dz) neuron[l].iaf.tau = IAF_TAU neuron[l].iaf.refrac = IAF_REFRAC l = l + 1 create objects for cells

A very (very!) simple example Connect cell objects NumberConnections = 0 NumberPossibleConnections = 0 objref prob prob = new Random() objref CellConnection[MAXNUMBER_CONNECTION] for i = 0, NumberCells-1 { for j = 0, NumberCells-1 { NumberPossibleConnections = NumberPossibleConnections + 1 aprob = prob.uniform(0, 1) if ((aprob <= CONNECTION_PROB) && (i!= j)) { adist = <EUCLIDIC DISTANCE> CellConnection[NumberConnections] = new NetCon(neuron[i].IAF, neuron[j].iaf, CONNECTION_THRESHOLD, CONNECTION_DELAY*adist, CONNECTION_WEIGHT) NumberConnections = NumberConnections + 1

A very (very!) simple example Feed synaptic input into network objref StimTrigger, NetInput create Presynapse Presynapse { pt3dclear() pt3dadd(netin_sp_x, NETIN_SP_Y, NETIN_SP_Z, 10) pt3dadd(netin_sp_x+10, NETIN_SP_Y, NETIN_SP_Z, 10) StimTrigger = new NetStim(0.5) StimTrigger.start = NETIN_SP_START StimTrigger.interval = NETIN_SP_INTERVAL StimTrigger.number = NETIN_SP_NUMBER StimTrigger.noise = NETIN_SP_NOISE NetInput = new NetCon(StimTrigger, neuron[netin_sp_target].iaf, 0.5, 0, NETIN_SP_WEIGHT)

A very (very!) simple example Extension: Neural network of many (?) IAF neurons state of all IAF neurons Apresynapse@ IAF #0 shape plot IAF #100 state of IAF neuron #1 state of IAF neuron #100

Outline A very (very!) simple example (introducing NetCon, NetStim and templates)

Example: IntFire1 point process NEURON { POINT_PROCESS IntFire1 RANGE tau, m NET_RECEIVE (w) { m = m*exp( -(t -t0)/tau) m = m + w t0 = t PARAMETER { tau = 10 (ms) ASSIGNED { m t0 (ms) INITIAL { m = 0 t0 = 0 if (m >= 1) { net_event(t) m = 0

Example: IntFire1 point process NET_RECEIVE (w) { m = m*exp( -(t -t0)/tau) m = m + w t0 = t if (m >= 1) { net_event(t) m = 0 executed only when NetCon delivers a new event; no BREAKPOINT or SOLVE block to be executed at every dt calculate present state variable m analytically increment m by weight of event check for threshold crossing reset m to 0 Notify all NetCon objects for which this point process is a source that it fired a spike at time t

Example: IntFire1 point process NET_RECEIVE (w) { if (refractory == 0) { m = m*exp( -(t -t0)/tau) m = m + w t0 = t if (m >= 1) { net_event(t) refractory = 1 net_send(refrac, refractory) m = 2 else if (flag == 1) { refractory = 0 m = 0 t0 = t accept external events issue a self-event that will arrive after refrac ms, tagged with flag == 1 ignore external event; accept Ainternal@ event (self-event) detect and respond to self-event

Example: MyOwnIAF point process NEURON { ARTIFICIAL_CELL MyOwnIAF RANGE tau, m PARAMETER { tau = 10 (ms) define new point process analytic cell model ASSIGNED { m t0 (ms) INITIAL { m = 0 t0 = 0 usage on hoc level: objref IAF IAF = new MyOwnIAF(0.5) NET_RECEIVE (w) { m = f[t-t0, tau] m = m + g[m,w] t0 = t if (m >= 1) { net_event(t) m = 0