Biophysical model for field potentials of networks of I&F neurons (beim Graben & Serafim 2013)

 Download zip file 
Help downloading and running models
"... Starting from a reduced three-compartment model of a single pyramidal neuron, we derive an observation model for dendritic dipole currents in extracellular space and thereby for the dendritic field potential (DFP) that contributes to the local field potential (LFP) of a neural population. ... Our reduced three-compartment scheme allows to derive networks of leaky integrate-and-fire (LIF) models, which facilitates comparison with existing neural network and observation models. ..."
1 . beim Graben P, Rodrigues S (2013) A biophysical observation model for field potentials of networks of leaky integrate-and-fire neurons Frontiers in Computational Neuroscience 6:1-13 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network; Extracellular;
Brain Region(s)/Organism:
Cell Type(s): Abstract integrate-and-fire leaky neuron;
Gap Junctions:
Simulation Environment: Brian;
Model Concept(s): Extracellular Fields;
# -*- coding: utf-8 -*-

Paper:Peter beim Graben and Serafim rodrigues
A Biophysical observation model for field potentials of networks of leaky-integrate-and-fire neurons.
Front. Comput. Neurosci, 04 January 2013 | doi: 10.3389/fncom.2012.00100

This python code that runs under the Brian simulator.

Note for developers:
Note1 : As it stands, the code is not effiecient (fast) as it does not use the facilties vector processing and uses a lot of for-loops which is not efficient.
So it can be improved.
Note 2: Periodic thalamic input is not yet implemented.


1) This is a network of 5000 neurons, 80% of which excitatory, and 
   20% inhibitory.
2) The network is randomy connected (between pairs) with connection 
   probability = 0.2.
3) Both Excitatory and Inhibitory neurons are described via LIF model.
4) The currents are double exponetial, but the excitatory currents
   can recieve external noise.

from brian import *
from statlib import stats as st
import pylab
##import matplotlib.pyplot as plt
from math import *
from sys import *
#import numpy

#General parameters
setup_duration = 1750*ms # initial run to settle behaviour
duration = 250*ms  # Run time for recording
#duration = 2000*ms
defaultclock.dt = 0.01 * ms

#----------------------------- GLOBAL Parameters ----------------------------------------------------------
tau_mE = 20*ms    # membrane time constant for excitatory [pyramidal] neurons
tau_mI = 10*ms    # membrane time constant for inhibitory neurons
tau_rG_I = 0.25*ms  # rise time of GABA synaptic current (interneurons)
tau_dG_I = 5*ms     # decay time of GABA synaptic current (interneurons)
tau_rG_E = 0.25*ms  # rise time of GABA synaptic current (pyramidal cells)
tau_dG_E = 5*ms     # decay time of GABA synaptic current (pyramidal cells)
tau_rA_I = 0.2*ms # rise time of AMPA synpatic current (on interneurons)
tau_dA_I = 1*ms   # decay time of AMPA synpatic current (on interneurons)
tau_rA_E = 0.4*ms # rise time of AMPA synpatic current (pyramidal [pyr] cells)
tau_dA_E = 2*ms   # decay time of AMPA synpatic current (pyramiday[pyr] cells)
tau_rp_E = 2*ms   # refractory period for Pyramidal cells
tau_rp_I = 1*ms   # refractory period of Inhibitory cells
Vt = 18*mV        # spike threshold
Vreset = 11*mV    # Reset value
El = 0 * mV       # resting potential

# Latency of Post Synaptic Potential
tau_EL = 1*ms # For exctiatory neurons
tau_IL = 1*ms # For inhibitory neurons
tau_TL = 1*ms # For thalamic input

J_GABA_E = 1.7*mV  # Gaba synaptic efficacy on pyramidal cells
J_GABA_I = 2.7*mV  # Gaba synaptic efficacy on interneurons
J_AMPA_E = 0.42*mV # Ampa synaptic efficacy on pyramidal cells
J_AMPA_I = 0.7*mV  # Ampa synaptic efficacy om Interneurons
J_Ext_E = 0.55*mV  # External/Thalamic synpatic efficacy on pyramidal cells
J_Ext_I = 0.95*mV  # External/Thalamic synaptic efficacy on interneurons

Number_Of_CorticalNeurons = 5000 # Total number of Cortiucal Neurons
##P_Interneurons = 0.2              # 20% Percent of Interneurons
##P_Excitatory = 1 - P_Interneurons # Percentage of Excitatory neurons
##N_Interneurons = int(P_Interneurons*Number_Of_CorticalNeurons)
##N_Excitatory = int(P_Excitatory*Number_Of_CorticalNeurons)

N_Interneurons = 1000
N_Excitatory = 4000
Number_Of_ThalamicNeurons = 5000 # Thalamic/external Input (every neuron will recieve a different external realisation)

#-----------------------------Parameters  ------------------------------------------------------

r_i = 1.7e9 
Rho_Cytoplasm = 2
Rho_Extracellular = 3.33  
Rho_Membrane_Hillock  = 0.005 
Length_Dendrite = 2e-4 
Radius_Dendrite = 7e-6
Length_Axon_Hillock = 2e-5
Radius_Axon_Hillock = 5e-7
Area_Axon_Hillock = (2*pi*(Radius_Axon_Hillock)**2 + 2*pi*Radius_Axon_Hillock*Length_Axon_Hillock)
Area_Extracellular = ((12*sqrt(3) - 3*pi)*(Radius_Dendrite)**2)
R_A = Rho_Cytoplasm*(Length_Dendrite/2)/(pi*Radius_Dendrite**2) 
R_B = Rho_Cytoplasm*(Length_Dendrite/2)/(pi*Radius_Dendrite**2)
R_C = Rho_Extracellular*(Length_Dendrite/2)/Area_Extracellular
R_D = Rho_Extracellular*(Length_Dendrite/2)/Area_Extracellular
R_M = Rho_Membrane_Hillock/Area_Axon_Hillock
print "R_A", R_A
print "R_B", R_B
print "R_C", R_C
print "R_D", R_D
print "R_M", R_M

#----------- Setup Cortical Model ----------------------------
ENeuronModel = Equations('''
        dV/dt  = (-(V-El) + IA - IG)/tau_mE : volt
        dIA/dt = (-IA + XA)/tau_dA_E         : volt
        dXA/dt = -XA/tau_rA_E                : volt
        dIG/dt = (-IG + XG)/tau_dG_E         : volt
        dXG/dt = -XG/tau_rG_E                : volt
        dIA2/dt = (-IA2 + XA2)/tau_dA_E      : volt
        dXA2/dt = -XA2/tau_rA_E              : volt
        dIG2/dt = (-IG2 + XG2)/tau_dG_E      : volt
        dXG2/dt = -XG2/tau_rG_E              : volt
        LFP = abs(IA) + abs(IG)              : volt
        DFP = IA2 + IG2 + PSI*V              : volt
        PSI                                  : 1

INeuronModel = Equations('''
        dV/dt  = (-(V-El) + IA - IG)/tau_mI : volt
        dIA/dt = (-IA + XA)/tau_dA_I         : volt
        dXA/dt = -XA/tau_rA_I                : volt
        dIG/dt = (-IG + XG)/tau_dG_I         : volt
        dXG/dt = -XG/tau_rG_I                : volt
        LFP = abs(IA) + abs(IG)              : volt
Ge = NeuronGroup(N_Excitatory, model=ENeuronModel, reset=Vreset, threshold=Vt, refractory=tau_rp_E) # Excitatory neurons
Gi = NeuronGroup(N_Interneurons, model=INeuronModel, reset=Vreset, threshold=Vt, refractory=tau_rp_I) # Inhibitory neurons

And in order to start the network off in a somewhat
more realistic state, we initialise the membrane
potentials uniformly randomly between the reset and
the threshold.
Ge.V = Vreset + (Vt - Vreset) * rand(len(Ge))
Gi.V = Vreset + (Vt - Vreset) * rand(len(Gi))
Ge.IA = zeros(len(Ge))
Gi.IA = zeros(len(Gi))
Ge.XA = zeros(len(Ge))
Gi.XA = zeros(len(Gi))
Ge.IG = zeros(len(Ge))
Gi.IG = zeros(len(Gi))
Ge.XG = zeros(len(Ge))
Gi.XG = zeros(len(Gi))
Ge.LFP = zeros(len(Ge))
Gi.LFP = zeros(len(Gi))
Ge.DFP = zeros(len(Ge))

#------------------------- Setup Thalamic Input ----------------------------
The Thalamic input is essential noise. The idea is to account for both cortical Heterogeneity and Spontaneous actvity.
For this reason we have two levels of noise. The first one is a an Ornstein-Uhlenbeck Process + (either constant or periodic signal)
with rate(t). The second level is time varying Inhomogenous Poisson process,with rate(t)
# Ornstein-Uhlenbeck Process Parameters
tau_n = 16 * ms # Auto-Correlation time constant of the noise
st_dev = 400*Hz # Standard deviation [spikes/ms]

# Periodic signal parameters
##v_0 = 2400*Hz    # Base line of the periodic signal
##a = 400*Hz      # Amplitude of the periodic signal
##omega = 4 *Hz   # Angualr Frequency

v_0 = 1600*Hz
a = 400*Hz
omega = 10 *Hz   # Angualr Frequency

# Thalamic model
# This version is constant signal + noise
##OU_Constant = Equations(''' 
##dn/dt = -n/tau_n + st_dev*(2./tau_n)**.5*xi :Hz 
##rate = v_0 + n :Hz''')

# This version is periodic signal + noise
OU_Periodic = Equations(''' 
dn/dt = -n/tau_n + st_dev*(2./tau_n)**.5*xi :Hz 
signal = v_0 + a*sin(2*pi*omega*t) :Hz
rate = signal + n : Hz

# This group does not produce spikes, and when negative rate, it will be considred as 0
# by the Poisson threshold on the seocond noise level 
#OU = NeuronGroup(1, model=OU_Constant)

OU = NeuronGroup(1, model=OU_Periodic)

# Second level noise
# Run N_Neurons realisations of inhomogenous Poisson process with rate, rate(t) given
# by the Ornstein_Uhlenbeck process.
Thalamic_IP = NeuronGroup(Number_Of_ThalamicNeurons, model='P : Hz', threshold=PoissonThreshold(state='P')) # inhomogenous Poisson
#  IP.P = rand(N_Neurons) no need for this...
Thalamic_IP.P = linked_var(OU, 'rate')

#------------------ Define Network Connections and Weights -----------------
# Cortical Connections
# Note we make conversion from mazzoni to Peters model according to:
# J_{i,j}= w_{i,j}*v, where v=1mV and w_{i,j} is the true weight
# Example: J_GABA_I = w_{i,j}*v

#------ Inhibitory neurons recieving inputs ---------

Wii = (tau_mI*J_GABA_I)/tau_rG_I # Synaptic Weight
Cii = Connection(Gi, Gi, 'XG', sparseness=0.2, weight=Wii, delay=tau_IL) # Inhibiotry-Inhibitory

Wei = (tau_mI*J_AMPA_I)/tau_rA_I # Synaptic weight
Cei = Connection(Ge, Gi, 'XA', sparseness=0.2, weight=Wei, delay=tau_EL) # Excitatory-Inhibitory

#------ Excitatory neurons recieving inputs --------
Wie = (tau_mE*J_GABA_E)/tau_rG_E # Synaptic Weight
Cie = Connection(Gi, Ge, 'XG', sparseness=0.2, weight=Wie, delay=tau_IL) # Inhibitory-Excitatory

Wee = (tau_mE*J_AMPA_E)/tau_rA_E # synaptic Weight
Cee = Connection(Ge, Ge, 'XA', sparseness=0.2, weight=Wee, delay=tau_EL) # Excitatory-Excitatory

#------------------ Define External Thalamic Input -----------------
# External Thalamic Input
Wti = (tau_mI*J_Ext_I)/tau_rA_I # synaptic Weight
Cti = Connection(Thalamic_IP, Gi, 'XA', delay=tau_TL) # Thalamic-Inhibitory
Cti.connect_one_to_one(Thalamic_IP[N_Excitatory:Number_Of_ThalamicNeurons], Gi, weight=Wti)

Wte = (tau_mE*J_Ext_E)/tau_rA_E # synaptic Weight
Cte = Connection(Thalamic_IP, Ge, 'XA',delay=tau_TL) # Thalamic-Exictatory
Cte.connect_one_to_one(Thalamic_IP[0:N_Excitatory], Ge, weight=Wte) 


gI_list = [0]*len(Ge)
gE_list = [0]*len(Ge)
for i in range(len(Ge)):
  for j in range(len(Ge)):
    if Cee[j,i] != 0 :
       alpha_list[i] = alpha_list[i] + 0.25*1e-9 # 0.25*nS + 0.32*nS (cortical + thalamic)
#    print "Cee[j, i]", Cee[j, i]
  for k in range(len(Gi)):
     if Cie[k,i] !=0:
       gI_list[i] = gI_list[i] + 1*1e-9 # gaba = 1nS

# Evaluate other parameters
for i in range(len(Ge)):
   gE_list[i] = alpha_list[i]/(1 - (R_A +  R_D)*alpha_list[i])

We_tilda = [0]*len(Ge)
Wi_tilda = [0]*len(Ge)
for i in range(len(Ge)):
    Beta_tau_i = gE_list[i]*(R_B + R_C)/(r_i*(1 + gE_list[i]*(R_A+R_D) + (R_B+R_C)*(gE_list[i] - gI_list[i]*(1 + gE_list[i]*(R_A+R_D)))))
    gamma_i =  (gE_list[i]*(R_M + R_B + R_C))/(R_M*(1 + gE_list[i]*(R_A + R_D)))
##    We_tilda[i] = R_D*(J_AMPA_E/mV)*(1/r_i - Beta_tau_i)
##    Wi_tilda[i] = R_D*(J_GABA_E/mV)*Beta_tau_i
    We_tilda[i] = R_D*(J_AMPA_E)*(1/r_i - Beta_tau_i)
    Wi_tilda[i] = R_D*(J_GABA_E)*Beta_tau_i
    Ge[i].PSI = R_D*(Beta_tau_i - gamma_i)
    if i==1:
      print "Beta over tau 0:", Beta_tau_i
      print "gamma_0:", gamma_i
      print "We_tilda[0]:", We_tilda[0] 
      print "Wi_tilda[0]:", Wi_tilda[0]
      print "PSI", Ge[0].PSI

#------ Now establish connections with \tilda{w}------
# Inhibitory-Excitatory
Cie2 = Connection(Gi, Ge, 'XG2', delay=tau_IL) 

for i in range(len(Ge)):
   for j in range(len(Gi)):
     if Cie[j, i] != 0:
        Cie2[j, i] =  (tau_mE*Wi_tilda[j])/tau_rG_E

print "Wie:", (tau_mE*J_GABA_E)/tau_rG_E
print "Cie2[0, i]", (tau_mE*Wi_tilda[0])/tau_rG_E

# Excitatory-Excitatory
Cee2 = Connection(Ge, Ge, 'XA2', delay=tau_EL) 

for i in range(len(Ge)):
   for j in range(len(Ge)):
     if Cee[j, i] != 0:
        Cee2[j, i] = (tau_mE*We_tilda[j])/tau_rA_E

print "Wee:", (tau_mE*J_AMPA_E)/tau_rA_E 
print "Cee2[0, i]", (tau_mE*We_tilda[0])/tau_rA_E

# Thalamic-Exictatory
Cte2 = Connection(Thalamic_IP, Ge, 'XA2',delay=tau_TL)
Cte2.connect_one_to_one(Thalamic_IP[0:N_Excitatory], Ge, weight=Wte)
for i in range(len(Ge)):
   for j in range(len(Thalamic_IP[0:N_Excitatory])):
        Cte2[j, i] = (tau_mE*We_tilda[j])/tau_rA_E


#--------------------------------Running and Printing ----------------------------------------------------------
# We do an initial run to settle behaviour before recording

#------------------ Setup the main Observables --------------------------
Set up some monitors as usual. The line ``record=0`` in the :class:`StateMonitor`
declarations indicates that we only want to record the activity of
neuron 0. This saves time and memory.
ThalamicRate = StateMonitor(Thalamic_IP, 'P', record=0, timestep=10)
TS = SpikeMonitor(Thalamic_IP) # Thalamic Spikes

# Record Spikes
Ge_S = SpikeMonitor(Ge[0:200])
Gi_S = SpikeMonitor(Gi[0:200])

# Record every neurons LFPs and DFPs

##LFP_e = StateMonitor(Ge, 'LFP', record=True)
##DFP_e = StateMonitor(Ge, 'DFP', record=True)
##IA2_e = StateMonitor(Ge,'IA2', record=True)
##IG2_e = StateMonitor(Ge,'IG2', record=True)
##IA_e = StateMonitor(Ge,'IA', record=True)
##IG_e = StateMonitor(Ge,'IG', record=True)
##Membrane = StateMonitor(Ge,'V', record=True)

LFP_e = StateMonitor(Ge, 'LFP', timestep=10)
DFP_e = StateMonitor(Ge, 'DFP', timestep=10)
IA2_e = StateMonitor(Ge,'IA2', timestep=10)
IG2_e = StateMonitor(Ge,'IG2', timestep=10)
IA_e = StateMonitor(Ge,'IA', timestep=10)
IG_e = StateMonitor(Ge,'IG', timestep=10)
Membrane = StateMonitor(Ge,'V', timestep=10)

# Record the population rate/so we can compare with LFP
rate_i = PopulationRateMonitor(Gi, bin=1*ms)
rate_e = PopulationRateMonitor(Ge, bin=1*ms)

Now we run.

And finally we plot the results. Just for fun, we do a rather more
complicated plot than we've been doing so far, with three subplots.
The upper one is the raster plot of the whole network, and the
lower two are the values of ``V`` (on the left) and ``ge`` and ``gi`` (on the
right) for the neuron we recorded from. See the PyLab documentation
for an explanation of the plotting functions, but note that the
:func:`raster_plot` keyword ``newfigure=False`` instructs the (Brian) function
:func:`raster_plot` not to create a new figure (so that it can be placed
as a subplot of a larger figure). 

# Constant input signal rate
signal = ones(len(ThalamicRate[0])) * v_0

total_LFP = []
mean_LFP = []
for lfp in xrange(len(LFP_e.times)):
    mean_LFP.append(float(sum(LFP_e[:,lfp]))/ N_Excitatory)

total_DFP = []
mean_DFP = []
# mean2_DFP = []
for dfp in xrange(len(DFP_e.times)):
#     mean2_DFP.append(st.mean(DFP_e[:,dfp]))

# Mean membrane
mean_membrane = []
for i_v in xrange(len(Membrane.times)):

# Convert volt to mili-volt
mean_membrane[:] = [x*1e3 for x in mean_membrane]
#total_LFP[:] = [x*1e3 for x in total_LFP]
mean_LFP[:] = [x*1e3 for x in mean_LFP]
#total_DFP[:] = [x*1e3 for x in total_DFP]
mean_DFP[:] = [x*1e3 for x in mean_DFP]

#------------------- Various Plots --------------------- 
#pylab.yticks((0,0.5, 1))
plot(ThalamicRate.times/ms, ThalamicRate[0]/1000, 'k')
pylab.plot(ThalamicRate.times/ms, signal/1000, 'g')
filename="ThalamicRate_" + `v_0` + ".eps"
pylab.savefig(filename, format='eps')

#pylab.yticks((0,0.5, 1))
filename="Excitatory_RasterPlot_" + `v_0` + ".eps"
pylab.savefig(filename, format='eps')

#pylab.yticks((0,0.5, 1))
pylab.plot(rate_e.times / ms, rate_e.rate, 'b')
filename="Excitatory_rate_" + `v_0` + ".eps"
pylab.savefig(filename, format='eps')

#pylab.yticks((0,0.5, 1))
pylab.plot(rate_i.times / ms, rate_i.rate, 'r')
filename="Inhibitory_rate_" + `v_0` + ".eps"             
pylab.savefig(filename, format='eps')

#pylab.yticks((0,0.5, 1))
pylab.plot(Membrane.times / ms, mean_membrane, 'g')
filename="mean_membrane_" + `v_0` + ".eps"     
pylab.savefig(filename, format='eps')

#pylab.yticks((0,0.5, 1))
pylab.plot(LFP_e.times / ms, total_LFP, 'm')
filename="total_LFP_" + `v_0` + ".eps" 
pylab.savefig(filename, format='eps')

#pylab.yticks((0,0.5, 1))
pylab.plot(LFP_e.times / ms, mean_LFP, 'm')
filename="mean_LFP_" + `v_0` + ".eps"
pylab.savefig(filename, format='eps')

#pylab.yticks((0,0.5, 1))
plot(DFP_e.times / ms, total_DFP, 'c')
filename="total_DFP_" + `v_0` + ".eps"
pylab.savefig(filename, format='eps')

#pylab.yticks((0,0.5, 1))
pylab.plot(DFP_e.times / ms, mean_DFP, 'c')
filename="mean_DFP_" + `v_0` + ".eps"
pylab.savefig(filename, format='eps')

#f=open("data", "w")
#numpy.savetxt(f, numpy.array([DFP_e.times, mean_DFP]).T)

#------------------- Ploting Power spectra --------------------- 

dt=0.0001 # 0.1ms = 0.0001 sec
#nextpow2=32768 # here 2000ms of length
nextpow2=4096 # only 250ms of length 

psd(total_LFP, nextpow2, 1/dt) 
filename="PowerSpectra_total_LFP_" + `v_0` + ".eps"
pylab.savefig(filename, format='eps')

psd(mean_LFP, nextpow2, 1/dt) 
filename="PowerSpectra_mean_LFP_" + `v_0` + ".eps"
pylab.savefig(filename, format='eps')

psd(total_DFP, nextpow2, 1/dt)
filename="PowerSpectra_total_DFP_" + `v_0` + ".eps"
pylab.savefig(filename, format='eps')

psd(mean_DFP, nextpow2, 1/dt)
filename="PowerSpectra_mean_DFP_" + `v_0` + ".eps"
pylab.savefig(filename, format='eps')

psd(mean_membrane, nextpow2, 1/dt)
filename="PowerSpectra_mean_membrane_" + `v_0` + ".eps"
pylab.savefig(filename, format='eps')

##### --------------------------END --------------------------------

beim Graben P, Rodrigues S (2013) A biophysical observation model for field potentials of networks of leaky integrate-and-fire neurons Frontiers in Computational Neuroscience 6:1-13[PubMed]

References and models cited by this paper

References and models that cite this paper

Amari S (1977) Dynamics of pattern formation in lateral-inhibition type neural fields. Biol Cybern 27:77-87 [PubMed]

Bedard C, Destexhe A (2009) Macroscopic models of local field potentials and the apparent 1-f noise in brain activity. Biophys J 96:2589-603 [PubMed]

Bedard C, Destexhe A (2012) Modeling local field potentials and their interaction with the extracellular medium Handbook of Neural Activity Measurement, Brette R:Destexhe A, ed. pp.136

Bedard C, Kroger H, Destexhe A (2004) Modeling extracellular field potentials and the frequency-filtering properties of extracellular space. Biophys J 86:1829-42 [Journal] [PubMed]

   Modeling local field potentials (Bedard et al. 2004) [Model]

Beim_graben P (2008) Foundations of neurophysics Lectures in Supercomputational Neuroscience: Dynamics in Complex Brain Networks, Springer Complexity Series, Graben PB:Zhou C:Thiel M:Kurths J, ed. pp.3

Beim_graben P, Kurths J (2008) Simulating global properties of electroencephalograms with minimal random neural networks Neurocomputing 71:999-1007

Berger H (1929) Über das Elektroenkephalogramm des Menschen Archiv Fur Psychiatrie 87:527-570

Brunel N, Wang XJ (2003) What determines the frequency of fast network oscillations with irregular neural discharges? I. Synaptic dynamics and excitation-inhibition balance. J Neurophysiol 90:415-30 [Journal] [PubMed]

Chizhov AV, Rodriguesb S, Terryb JR (2007) A comparative analysis of a firing-rate model and conductance-based neural population model Phys Lett A 369:31-36

Creutzfeldt OD, Watanabe S, Lux HD (1966) Relations between EEG phenomena and potentials of single cortical cells. II. Spontaneous and convulsoid activity. Electroencephalogr Clin Neurophysiol 20:19-37 [PubMed]

Creutzfeldt OD, Watanabe S, Lux HD (1966) Relations between EEG phenomena and potentials of single cortical cells. I. Evoked responses after thalamic and erpicortical stimulation. Electroencephalogr Clin Neurophysiol 20:1-18 [PubMed]

de Haan W, Stam CJ, Jones BF, Zuiderwijk IM, van Dijk BW, Scheltens P (2008) Resting-state oscillatory brain dynamics in Alzheimer disease. J Clin Neurophysiol 25:187-93 [PubMed]

Destexhe A (1998) Kinetic models of synaptic transmission Http://www Cnl Salk Edu/~alain/alain_demos Html

Destexhe A (2001) Simplified models of neocortical pyramidal cells preserving somatodendritic voltage attenuation Neurocomputing 38-40:167-173

Gold C, Henze DA, Koch C (2007) Using Extracellular Action Potential Recordings to Tune Compartmental Models. Journal of Computational Neuroscience 23:39-58 [Journal] [PubMed]

   Extracellular Action Potential Simulations (Gold et al 2007) [Model]

Goodman DF, Brette R (2009) The brian simulator. Front Neurosci 3:192-7 [PubMed]

Hodgkin AL, Huxley AF (1952) A quantitative description of membrane current and its application to conduction and excitation in nerve. J Physiol 117:500-44 [Journal] [PubMed]

   Squid axon (Hodgkin, Huxley 1952) (LabAXON) [Model]
   Squid axon (Hodgkin, Huxley 1952) (NEURON) [Model]
   Squid axon (Hodgkin, Huxley 1952) (SNNAP) [Model]
   Squid axon (Hodgkin, Huxley 1952) used in (Chen et al 2010) (R language) [Model]
   Squid axon (Hodgkin, Huxley 1952) (SBML, XPP, other) [Model]

Holt GR, Koch C (1999) Electrical interactions via the extracellular potential near cell bodies. J Comput Neurosci 6:169-84 [Journal] [PubMed]

   Extracellular Action Potential Simulations (Gold et al 2007) [Model]

Jansen BH, Rit VG (1995) Electroencephalogram and visual evoked potential generation in a mathematical model of coupled cortical columns. Biol Cybern 73:357-66 [PubMed]

Jirsa VK, Haken H (1996) Field Theory of Electromagnetic Brain Activity. Phys Rev Lett 77:960-963 [PubMed]

Johnston D, Wu S (1997) Cellular Neurophysiology

Koch C, Segev I (1998) Methods In Neuronal Modeling

Kole MH, Stuart GJ (2012) Signal processing in the axon initial segment. Neuron 73:235-47 [PubMed]

Lakatos P, Shah AS, Knuth KH, Ulbert I, Karmos G, Schroeder CE (2005) An oscillatory hierarchy controlling neuronal excitability and stimulus processing in the auditory cortex. J Neurophysiol 94:1904-11 [PubMed]

Linden H, Pettersen KH, Einevoll GT (2010) Intrinsic dendritic filtering gives low-pass power spectra of local field potentials. J Comput Neurosci 29:423-44 [PubMed]

Linden H, Tetzlaff T, Potjans TC, Pettersen KH, Grun S, Diesmann M, Einevoll GT (2011) Modeling the spatial reach of the LFP. Neuron 72:859-72 [PubMed]

Mainen ZF, Joerges J, Huguenard JR, Sejnowski TJ (1995) A model of spike initiation in neocortical pyramidal neurons. Neuron 15:1427-39 [PubMed]

   Spike Initiation in Neocortical Pyramidal Neurons (Mainen et al 1995) [Model]

Mauro A, Conti F, Dodge F, Schor R (1970) Subthreshold behavior and phenomenological impedance of the squid giant axon. J Gen Physiol 55:497-523 [PubMed]

Mazzoni A, Brunel N, Cavallari S, Logothetis NK, Panzeri S (2011) A comparative analysis of a firing-rate model and conductance-based neural population model J Physiol 105:2-15

Mazzoni A, Panzeri S, Logothetis NK, Brunel N (2008) Encoding of naturalistic stimuli by local field potential spectra in networks of excitatory and inhibitory neurons. PLoS Comput Biol 4:e1000239-72 [PubMed]

Mazzoni A, Whittingstall K, Brunel N, Logothetis NK, Panzeri S (2010) Understanding the relationships between spike rate and delta-gamma frequency bands of LFPs and EEGs using a local cortical network model. Neuroimage 52:956-72 [PubMed]

Niedermeyer E (2005) The normal EEG of the waking adult Electroencephalography: Basic Principles, Clinical Applications, and Related Fields, 5th Edn., Niedermeyer E:Silva FLD, ed. pp.167

Nunez PL, Srinivasan R (2006) Electric fields of the brain: the neurophysics of EEG 2nd ed.

Omurtag A, Knight BW, Sirovich L (2000) On the simulation of large populations of neurons. J Comput Neurosci 8:51-63 [Journal] [PubMed]

Poulet JF, Fernandez LM, Crochet S, Petersen CC (2012) Thalamic control of cortical states. Nat Neurosci 15:370-2 [PubMed]

Protopapas AD, Vanier M, Bower JM (1998) Simulating large networks of neurons. Methods in Neuronal Modeling (2nd ed)., Koch C:Segev I, ed. pp.461

Rall W (1977) Core conductor theory and cable properties of neurons Handbook of Physiology. The Nervous System. Cellular Biology of Neurons, Kandel ER, ed. pp.39

Rodrigues S, Chizhov AV, Marten F, Terry JR (2010) Mappings between a macroscopic neural-mass model and a reduced conductance-based model. Biol Cybern 102:361-71 [PubMed]

Rudolph-lilith M, Dubois M, Destexhe A (2012) Analytical integrate-and-fire neuron models with conductance-based dynamics and realistic postsynaptic potential time course for event-driven simulation strategies Neural Comput 34:1426-1461

Sargsyan AR, Papatheodoropoulos C, Kostopoulos GK (2001) Modeling of evoked field potentials in hippocampal CA1 area describes their dependence on NMDA and GABA receptors. J Neurosci Methods 104:143-53 [PubMed]

Schomer DL, Lopes_da_Silva FH (2011) Niedermayer's Electroencephalography. Basic Principles, Clinical Applications, and Related Fields, 6th Edn., Schomer DL:Lopes_da_Silva FH, ed.

Spruston N (2008) Pyramidal neurons: dendritic structure and synaptic integration. Nat Rev Neurosci 9:206-21 [PubMed]

Wang XJ, Tegner J, Constantinidis C, Goldman-Rakic PS (2004) Division of labor among distinct subtypes of inhibitory neurons in a cortical microcircuit of working memory. Proc Natl Acad Sci U S A 101:1368-73 [PubMed]

Wendling F, Bellanger JJ, Bartolomei F, Chauvel P (2000) Relevance of nonlinear lumped-parameter models in the analysis of depth-EEG epileptic signals. Biol Cybern 83:367-78 [PubMed]

Wilson HR, Cowan JD (1972) Excitatory and inhibitory interactions in localized populations of model neurons. Biophys J 12:1-24 [Journal] [PubMed]

   Excitatory and inhibitory interactions in populations of model neurons (Wilson and Cowan 1972) [Model]

(45 refs)