A cortical sheet mesoscopic model for investigating focal seizure onset dynamics (Wang et al. 2014)

 Download zip file 
Help downloading and running models
Accession:155565
The model uses realistically coupled, discretised, Wilson-Cowan units to describe the spatio-temporal activity of a cortical sheet. This model has been used the investigate the dynamic onset mechanisms of focal seizures.
Reference:
1 . Wang Y, Goodfellow M, Taylor PN, Baier G (2014) Dynamic mechanisms of neocortical focal seizure onset PLoS Computational Biology 10(8):e1003787 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Neural mass;
Brain Region(s)/Organism:
Cell Type(s):
Channel(s):
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: MATLAB;
Model Concept(s): Oscillations; Spatio-temporal Activity Patterns; Epilepsy; Delay; Brain Rhythms; Bifurcation;
Implementer(s): Wang, Yujiang [yujiang.wang at newcastle.ac.uk];
/
WebPublication
lib
ConnLocGaussian.m *
ConnPatchyRemOverlap.m *
Conns_n150.mat
convolve2.m *
distSheet.m *
distTorus.m *
exindex.m *
FilterEEG.m
Gaussian.m *
GaussianLocConnFunc.m
generatePatchesOverlap.m *
getDelayMatrix.m
getNoise.m
getParam.m *
getParamDelay.m
makeCellCluster.m *
makeCellClusterToroidal.m *
MayColourMap.mat *
meanMacroCol.m *
runSheet.m *
runSheetDelay.m *
runSheetPRamp.m *
Sigm.m *
                            
function Y=runSheetDelay(y0,parameters)

%this is an fixed step solver with a noise term as subcortical input and
%delay


nsq=parameters.n^2;
h=parameters.h;
ds=parameters.delaysteps;

SigThresh=parameters.SigThresh;
SigSteepness=parameters.SigSteepness;
tauPy=parameters.tauPy;
tauInh=parameters.tauInh;


neq = 2*parameters.n^2;
Nl = size(parameters.NValue,2);
Y = zeros(neq,Nl+ds);

Y(:,1:ds) = y0;
for i = ds:ds+Nl-1 
    
    Py=Y(1:nsq,i-ds+1:i);
    Inh=Y(nsq+1:2*nsq,i);
    
    PyPyInp=zeros(size(Py,1),1);
    PyInhInp=zeros(size(Inh,1),1);
    for k=1:ds
        dsk=ds-k+1;
        PyPyInp=PyPyInp+parameters.Py2Py{k}*Py(:,dsk);
        if k<=length(parameters.Py2Inh)
            PyInhInp=PyInhInp+parameters.Py2Inh{k}*Py(:,dsk);
        end
    end
    
    
    
    dPydt     =(-Py(:,end)     + Sigm(PyPyInp      - parameters.Inh2Py*Inh + parameters.PyInput + parameters.NValue(:,i-ds+1),  SigThresh,SigSteepness))./tauPy;
    dInhdt    =(-Inh    + Sigm(PyInhInp                  + parameters.InhInput,                SigThresh,SigSteepness))./tauInh;

    Y(:,i+1) = Y(:,i) + h*[dPydt;dInhdt];
  
  
end
Y = single(Y)';

end

Loading data, please wait...