Local Field Potentials

Moderator: wwlytton

Post Reply
pranit
Posts: 7
Joined: Mon Nov 22, 2010 4:23 pm

Local Field Potentials

Post by pranit »

Hello,
I have a network model and was thinking how i could calculate the Local Field Potential for the model. One way is to sum all the synaptic currents in the region and multiply it with extracellular resistance. Is there any default object in neuron that does this because GENESIS had an object called efield which did this...

Thanks
Pranit
ted
Site Admin
Posts: 6287
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: Local Field Potentials

Post by ted »

pranit wrote:One way is to sum all the synaptic currents in the region and multiply it with extracellular resistance.
Assumes that cell shape, location of synaptic input, spatial distribution and orientation of cells, and location of the recording electrode don't matter. Also assumes that nonsynaptic currents don't matter. All of which are questionable, so be prepared to defend these assumptions against skeptical reviewers.
Is there any default object in neuron that does this because GENESIS had an object called efield which did this...
No, but it's easy to do the same thing with NEURON without inventing an object. Use a custom proc advance() to implement the calculation after each fadvance(). Presuming that all your synaptic mechanism insances have been appended to a List called synlist, and that each of them generates a NONSPECIFIC_CURRENT called i, here's what to do.

Near the end of your hoc code, after load_file("nrngui.hoc") (or load_file("stdrun.hoc")) has been called and model setup is complete, but before run() is called, insert the following:

Code: Select all

Rx=whatever // the transfer resistance between synaptic currents and your "field"
field = 0

objref fih
fih = new FInitializeHandler("field=0") // so field = 0 at start of simulation

func xfield() { local i, tmp
  tmp = 0
  for i=0, synlist.count()-1 tmp+=synlist.o(i).i
  return tmp*$1
}

proc advance() {
  fadvance()
  field = xfield(Rx)
}
RTomsett

Re: Local Field Potentials

Post by RTomsett »

You may want to look into the LFP modelling work of Alain Destexhe's lab: http://cns.iaf.cnrs-gif.fr/Main.html and Gaute Einevoll's lab: http://compneuro.umb.no/ . They have both been producing some very interesting work on the origin and features of local field potentials. If you are using simplified point neuron models, it may be worth looking at Alberto Mazzoni's recent papers on LFPs insimplified models: http://www.iit.it/en/component/profiles ... ile&id=385

It depends quite what you want to want to learn from your LFP simulation as to how you go about modelling it, I think.
JustasB
Posts: 28
Joined: Tue Dec 08, 2015 8:17 pm
Location: Tempe, AZ, USA
Contact:

Re: Local Field Potentials

Post by JustasB »

For those searching for a way to compute LFPs in their models, the LFPsimpy package allows inserting an "LFP electrode".

LFPsimpy is a Python re-implementation of LFPsim described in Parasuram et. al. (2016) .
pascal
Posts: 106
Joined: Thu Apr 26, 2012 11:51 am

Re: Local Field Potentials

Post by pascal »

Also, here is a previous thread with code for a minimal working model to calculate the LFP:
viewtopic.php?f=8&t=3656&p=15713#p15713
Post Reply