The NEURON Simulation Environmentcans/neuron_summary.pdf · The NEURON Simulation Environment A...
-
Upload
duongxuyen -
Category
Documents
-
view
223 -
download
4
Transcript of The NEURON Simulation Environmentcans/neuron_summary.pdf · The NEURON Simulation Environment A...
The NEURON Simulation Environment
A tool for empirically-based models of neurons and neural circuits
Active development and user support
Used by experimentalists, theoreticians, and educators for neuroscience research and teaching
As of March 2010� more than 900 publications� more than 1300 subscribers to Forum
and mailing list
The NEURON Simulation Environment
Open source project directed by Michael Hines
Active development and user support
Documentation, tutorials, and forum at www.neuron.yale.edu
CoursesSFN meetingssummer course at UCSDother courses
Source code for > 260 published models at www.modeldb.yale.edu
Hierarchies of Complexity
Structure
Single compartment
Stylized
Network
Anatomically detailed
v
Hierarchies of Complexity
Passive and Active currentsHH-stylekinetic scheme
Synaptic transmissioncontinuousspike-triggered
Gap junctions
Extracellular fields, Linear circuits
Diffusion, buffers, transport & exchange
Artificial spiking cells ("integrate & fire")
Mechanism
From Physical Systemto Computational Model
Conceptual model
a simplified representation of the physical system
Computational model
an accurate representation of the conceptual model
ComputationalModel
ConceptualModel
PhysicalSystem
From Physical Systemto Computational Model
dendrite
soma
Conceptualmodel
ballandstick
Physicalsystem
Ca1pyramidal
cell
Computationalmodel
hoccode
create soma, dendriteconnect dendrite(0), soma(1)v
Fundamental Concepts in NEURON
Signals
Electrical
Chemical
Whatmoves
chargecarriers
solute
Drivingforce
voltagegradient
concentrationgradient
What isconserved
charge
mass
Conservation of Charge
Cm
d Vm
d t� i
ion=� i
a
im
imim
im
ia
ia
ia
ia
The Model Equations
cj
dvj
d t� i
ionj
=�k
vk� v
j
r j k
vj
membrane potential in compartment j
iion
j
net transmembrane ionic current in compartment j
cj
membrane capacitance of compartment j
rjk
axial resistance between the centers ofcompartment j
andadjacent compartment k
Separating Anatomy and Biophysicsfrom Purely Numerical Issues
section
a continuous length of unbranched cable
Anatomical data from A.I. Gulyás
create soma, dendconnect dend(0), soma(1)
soma { L = 50 // [um] length diam = 50 // [um] diameter insert hh // Hodgkin-Huxley mechanism nseg = 1}
dend { L = 200 diam = 2 insert pas // passive channels nseg = 3}
Range Variables
Name Meaning Units
diam diameter [µm]
cm specific membrane [µf/cm2]
capacitance
g_pas specific conductance [siemens/cm2]
of the pas mechanism
v membrane potential [mV]
range
normalized position along the length of a section
0 � range � 1
any variable name can be used for range, e.g. x
0 1distance
normalized
0distancephysical
lengthphysical
nseg
the number of points in a section where
membrane current and potential are computed
nseg=1
nseg=2
nseg=3
Example: axon nseg = 3
To test spatial resolutionforall nseg = nseg*3
and repeat the simulation
Interpreters: hoc, Python
GUI (works via hoc)Import3DCellBuilder, Network Builder, Linear Circuit Builder
NMODL (compiled)ODEs, kinetic schemes, algebraic equations
accumulation, diffusion, transportreactionsion channels
events and state machines, artificial spiking cells
Model specification in NEURONModel specification in NEURON
// topology
create soma, dendconnect dend(0), soma(1)
// geometry and biophysics
soma { L = 50 // um length diam = 50 nseg = 1 insert hh // HH mechanism}
dend { . . .
from neuron import hSection = h.Section
soma = Section()dend = Section()dend.connect(soma, 1, 0)
soma.L = 50soma.diam = 50soma.nseg = 1soma.insert('hh')
dend { . . .
0 1 2 3 0.00
0.20
0.40
0.60
0.80
1.00
t
Backward Euler
y(t + dt) = y(t) + dt *f(y(t + dt))
dt = .75
y’ = f(y)
=y(t+dt) − y(t)
dtf(y(t+dt))
0 0.2 0.4 0.6 0.8 10
0.5
1
1.5
2
0 0.2 0.4 0.6 0.8 10
0.5
1
1.5
2
Cvode.atol(1e−3)
Cvode.atol(1e−1)
Parallel simulations with NEURON
1. Embarrassingly parallel problems--many runs, each of which takes at least 1 second� optimization, parameter space exploration
� communication overhead < single run time
� "bulletin-board" ("master/worker") approach
� little programming effort required
2. Multithreaded execution� shared memory architecture
(e.g. multicore PC/Mac)
� often no programming effort required
Parallel simulations with NEURON
3. Simulation of a large model that is distributed over multiple processors� spike source and target may be on different
processors
� a large cell may be distributed over multiple processors
� significant programming effort is often required to recast serial model implementation into form suitable for parallel simulation
� effort is repaid only if you have to execute many runs, each of which takes a long time (hours)
Parallel simulations with NEURON
Speedup is nearly proportional to number of processors as long as each processor has at least ~200 ODEs to integrate.
Migliore, M, Cannia, C., Lytton, W.W., Markram, H. and Hines, M.L. Parallel network simulations with NEURON. Journal of Computational Neuroscience 21:119-129, 2006.
Hines, M.L., Markram, H. and Schuermann, F. Fully implicit parallel simulation of single neurons. Journal of Computational Neuroscience 25:439-448, 2008.
Kumar, S., Heidelberger, P., Chen, D. and Hines, M. Optimization of applications with non-blocking neighborhood collectives via Multisends on the Blue Gene/P supercomputer. 24th IEEE International Parallel and Distributed Processing Symposium, in press, 2010.
Preprints available at http://www.neuron.yale.edu/neuron/nrnpubs