Effect of ionic diffusion on extracellular potentials (Halnes et al 2016)

 Download zip file   Auto-launch 
Help downloading and running models
"Recorded potentials in the extracellular space (ECS) of the brain is a standard measure of population activity in neural tissue. Computational models that simulate the relationship between the ECS potential and its underlying neurophysiological processes are commonly used in the interpretation of such measurements. Standard methods, such as volume-conductor theory and current-source density theory, assume that diffusion has a negligible effect on the ECS potential, at least in the range of frequencies picked up by most recording systems. This assumption remains to be verified. We here present a hybrid simulation framework that accounts for diffusive effects on the ECS potential. ..."
1 . Halnes G, Mäki-Marttunen T, Keller D, Pettersen KH, Andreassen OA, Einevoll GT (2016) Effect of Ionic Diffusion on Extracellular Potentials in Neural Tissue PLoS Comput Biol 12:e1005193 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Extracellular; Neuron or other electrically excitable cell;
Brain Region(s)/Organism:
Cell Type(s): Neocortex U1 L6 pyramidal corticalthalamic cell;
Gap Junctions:
Simulation Environment: MATLAB; NEURON;
Model Concept(s): Extracellular Fields;
Implementer(s): Halnes, Geir [geir.halnes at nmbu.no]; Maki-Marttunen, Tuomo [tuomo.maki-marttunen at tut.fi];
Search NeuronDB for information about:  Neocortex U1 L6 pyramidal corticalthalamic cell;
function mosinit_n_rev
% Simulates extracellular dynamics for given neuronal output, and plots results.
% Data files: 
%   mosinit_n_rev requires that the file 'revdata.mat' is located in the 
%   current folder. 'revdata.mat' contains neuronal transmembrane data
%   and is used as input time series to the extracellular space.
%   mosinit_n_rev generates three data files, representing tree independent 
%   simulations:
%       Sim_diffon_rev.mat: Extracellular diffusion included.
%       Sim_diffoff_rev.mat: Extracellular diffusion set to zero.
%       Sim_dead_rev.mat: Extracellular diffusion included, but neurons
%       'turned off' midways in the simulation.
%   These three files are saved to the current folder. 
%   The user is given two options, dosimulations and doplot (see below).
%   dosimulations = 1 must be chosen the first time this file is run. 
%   Later, dosimulation = 0 can be chosen to plot already saved data-files. 

% Options
dosimulations = 1; % To run extracellular simulations (results saved to file).
doplot = 1; % To plot data

% Some simulation choices
constsigma = 0; % keep conductance constant

% Geometrical parameters
deltax = 100e-6; % Length of cylinder section
ECSfrac = 0.2; % Fraction of tissue being extracellular space
Nnrns = 10; % We simulate 10 neurons
Anrn = 300e-12; % Area per nrn. Linden et al. 2011: 1 nrn per 300 mum^2 of column.
Avox = Anrn*ECSfrac*Nnrns; % Compartment surface area of extracellular space (m^2)
VECS = Avox*deltax; % Compartment volume (m^3)

% Simulate Extracellular Dynamics (3 scenarios) and save to files.
if dosimulations
    % NEURON output data
    Datafile = 'revdata.mat'; % This data files was produced elswhere (folder nrndata) and must be availabe.

    disp('Running simulation: Diffusion on:')
    diffon = 1;
    nrnon = 1;
    Sims1 = 'Sim_diffon.mat';
    runit(ts, jna, jk, jca, jx, icap, imemb, deltax, Avox, VECS, N, Nnrns, constsigma, diffon, nrnon, Datafile, Sims1);
    disp('took seconds:')
    timetook = toc

    disp('Running simulation: Diffusion off')
    diffon = 0;
    nrnon = 1;
    Sims2 = 'Sim_diffoff.mat';
    runit(ts, jna, jk, jca, jx, icap, imemb, deltax, Avox, VECS, N, Nnrns, constsigma, diffon, nrnon, Datafile, Sims2);
    disp('took seconds:')
    timetook = toc

    disp('Running simulation: Neuron turned off midways.')
    diffon = 1;
    nrnon = 0;
    Sims3 = 'Sim_dead.mat';
    runit(ts, jna, jk, jca, jx, icap, imemb, deltax, Avox, VECS, N, Nnrns, constsigma, diffon, nrnon, Datafile, Sims3);
    disp('took seconds:')
    timetook = toc    
    disp('No simulations run. Using saved simulation data.')
    Sims1 = 'Sim_diffon_def.mat';
    Sims2 = 'Sim_diffoff_def.mat';
    Sims3 = 'Sim_dead_def.mat';

if doplot
    close all;
    S1 = load(Sims1); S1 = S1.S;
    S2 = load(Sims2); S2 = S2.S;
    S3 = load(Sims3); S3 = S3.S;
    PLoSfreqplot(3, S1, S2);

Loading data, please wait...