[PhD in CS @ NYU] [Doctorat info @ NYU]
[Résumé (en)] [CV (fr)] [Projects] [Projets]
[Publications (en)] [Publications (fr)]
[Passions (en)] [Passions (fr)]
[Photos (en)] [Photos (fr)]

NeuroSimulator

A biological neural network simulator based on the Hodgkin-Huxley model

Piotr Mirowski, New York University, 2006

The following computing project was done for the course "Mathematical Aspects of Neurophysiology", taught by Prof. Charles Peskin at the Courant Institute of Mathematical Sciences.
It is a computer simulation of a network of conductance-based single-compartment neurophysiological model neurons. Neurons are stimulated either with deterministic or stochastic external current, or by EPSP and IPSP resulting from deterministic synaptic transmission. The Hodgkin-Huxley model [1] was used for the implementation of each neuron, using parameters provided in [2].

At any given neuron i, those equations are:


Synaptic transmission between any neurons i and j was modeled as a change in synaptic conductivity G_synapse[i,j](t), trigered by a decreasing change of voltage (at the peak and tail of an action potential). To do so, we input the derivative of the voltage of neuron i into a negative sigmoid function. However, because of the steep peak of the action potential followed by a fast return to rest voltage, the resulting synaptic conductance would have a steep peak as well, and we want that peak to be gentle enough (otherwise, an action potential could be trigerred at the following neuron). In order to smooth the G_synapse[i,j](t) function, we further control its evolution by a first-order differential equation, according to the following equations:



At a given time step t, and after trial and error, we propose to update the value of G_synapse[i,j](t) for each couple of neurons (i,j) according to the following empirical equations:

f(i,t+dt) = -(tanh(dV(i)/dt + 5) / 2 - 0.5)
G_syn(i,t+dt) = G_syn(i,t) + (1 - G_syn(i,t)) * (f(i,t+dt) - G_syn(i,t)) * dt / 6

We notice that all the synapses originating from the same neuron have the same conductance at a given time step t. Moreover, we define 2 possible values for the reversal potential E_[j,i](t): a value of -73mV for inhibitory synapses (the IPSP has an amplitude of -5mV) and a value of -60mV for excitatory synapses (the EPSP has an amplitude of 8mV).

References:
[1] A. L. Hodkin, A. F. Huxley, "A Quantitative Description of Membrane Current and its Application to Conduction and Excitation in Nerve", Journal of Physiology, vol. 117, pp.500-544, 1952.
[2] C. Peskin, "Lecture notes in Mathematical Aspects of Neurophysiology", Courant Institute of Mathematical Sciences, New York University, 2000.

Project code (in Matlab):

The entire code is contained in a zip file: NeuroSimulator.zip.
You can also download individual files:
NeuroSimulator.m
Apply_HodgkinHuxley.m
UpdateGE.m
Alpha_m.m
Alpha_h.m
Alpha_n.m
Beta_m.m
Beta_h.m
Beta_n.m
Plot_Neuron.m
Plot_Planes.m
Plot_Architecture.m
Plot_Spikes.m

Simulation results

2-neuron models

Explanation of the architecture: Experience01_Architecture.pdf.

Response of the stimulated neuron to a current clamp: time plot and (s,v) plane plot.

Response of the stimulated neuron to a current increase (by a factor 100): time plot and (s,v) plane plot.
Response of the stimulated neuron to a further current decrease (by a factor 100): time plot and (s,v) plane plot.
Response of the stimulated neuron to a further current decrease (by a factor 100): time plot and (s,v) plane plot.
Response of the stimulated neuron to an electric shock: time plot and (s,v) plane plot and response of the second neuron (connected to the first neuron by an excitatory synapse): time plot and (s,v) plane plot.

So far, those experiments show that the rate of firing increases with the intensity of the current stimulation, within an interval (below a certain intensity, the neuron does not fire, and above another intensity, the amplitude of the AP decreases until the neuron does not fire anymore and is clamped at a voltage higher than the rest potential).

Response of the stimulated neuron to a random (stochastic) current shocks of same intensity: time plot and (s,v) plane plot, and response of the second neuron (connected to the first neuron by an excitatory synapse): time plot and (s,v) plane plot.
Response of the stimulated neuron to a frequent and regular current shocks of same intensity: time plot and (s,v) plane plot, and response of the second neuron (connected to the first neuron by an excitatory synapse): time plot and (s,v) plane plot.
Response of the stimulated neuron to a frequent and current shocks of increasing intensity: time plot and (s,v) plane plot, and response of the second neuron (connected to the first neuron by an excitatory synapse): time plot and (s,v) plane plot. The rates of firing of both neurons increase gradually.

7-neuron model

Explanation of the architecture: Experience10_Architecture.pdf.

Response of the stimulated neuron to a current shock: time plot neuron 1, and propagation of the action potential in the subsequent neurons of the chain: time plot neuron 2, time plot neuron 3, time plot neuron 4, time plot neuron 5, time plot neuron 6, time plot neuron 7.

4-neuron model with 1 excitatory, 1 inhibitory neurons

Explanation of the architecture: Experience11_Architecture.pdf.

Neurons 1 (excitatory) and 2 (inhibitory) are stimulated by a shock, and their response, alongside those of neurons 3 and 4 is visualized:
time plot neuron 1
(s,v) plane plot neuron 1
time plot neuron 2
(s,v) plane plot neuron 2
time plot neuron 3
(s,v) plane plot neuron 3
time plot neuron 4
(s,v) plane plot neuron 4

4-neuron model with 2 excitatory, 1 inhibitory neurons

Explanation of the architecture: Experience12_Architecture.pdf.

Neurons 1 and 3 (excitatory) and 2 (inhibitory) are stimulated by a shock, and their response, alongside those of neurons 4 is visualized:
time plot neuron 1
time plot neuron 2
time plot neuron 3
time plot neuron 4

9-neuron model with 7 excitatory, 2 inhibitory neurons

Explanation of the "chessboard" architecture: Experience13_Architecture.pdf.

Neuron 1 (excitatory) is stimulated by a shock, and the propagation of its action potential to the excitatory or inhibitory neurons of the 3x3 network is visualized:
time plot neuron 1
time plot neuron 2
time plot neuron 3
time plot neuron 4
time plot neuron 1
time plot neuron 2
time plot neuron 3
time plot neuron 4
time plot neuron 4

49-neuron model with 44 excitatory, 5 inhibitory neurons

Explanation of the "chessboard" architecture: Experience14_Architecture.pdf.

Neuron 1 (excitatory) is stimulated by a shock, and the propagation of its action potential to the excitatory or inhibitory neurons of the 9x9 network is visualized. As we can see on this map showing the number of times each neuron has fired, the action potential of neuron 1 (lowermost leftmost) manages to propagate until neuron 49 (uppermost rightmost) on the grid Experience14_Firings.pdf:
time plot neuron 1
time plot neuron 2
time plot neuron 3
time plot neuron 4
time plot neuron 5
time plot neuron 6
time plot neuron 7
time plot neuron 8
time plot neuron 9
time plot neuron 10
time plot neuron 11
time plot neuron 12
time plot neuron 13
time plot neuron 14
time plot neuron 15
time plot neuron 16
time plot neuron 17
time plot neuron 18
time plot neuron 19
time plot neuron 20
time plot neuron 21
time plot neuron 22
time plot neuron 23
time plot neuron 24
time plot neuron 25
time plot neuron 26
time plot neuron 27
time plot neuron 28
time plot neuron 29
time plot neuron 30
time plot neuron 31
time plot neuron 32
time plot neuron 33
time plot neuron 34
time plot neuron 35
time plot neuron 36
time plot neuron 37
time plot neuron 38
time plot neuron 39
time plot neuron 40
time plot neuron 41
time plot neuron 42
time plot neuron 43
time plot neuron 44
time plot neuron 45
time plot neuron 46
time plot neuron 47
time plot neuron 48
time plot neuron 49