SenseLab Home ModelDB Home

Maximum entropy model to predict spatiotemporal spike patterns (Marre et al. 2009)
Accession: 125290
This MATLAB code implements a model-based analysis of spike trains. The analysis predicts the occurrence of spatio-temporal patterns of spikes in the data, and is based on a maximum entropy principle by including both spatial and temporal correlations. The approach is applicable to unit recordings from any region of the brain. The code is based on Marre, et al., 2009. The paper was also published in the arXiv preprint archive: http://arxiv.org/abs/0903.0127 The MATLAB code was written by Sami El Boustani and Olivier Marre.
Reference: Marre O, El Boustani S, Fregnac Y, Destexhe A (2009) Prediction of spatiotemporal patterns of neural activity from pairwise correlations. Phys Rev Lett 102:138101 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type:  Network;
Brain Region(s)/Organism:  Neocortex;
Cell Type(s):   
Channel(s):   
Gap Junctions:  
Receptor(s):  
Gene(s):  
Transmitter(s):  
Simulation Environment:  MATLAB;
Model Concept(s):  Maximum entropy models;
Implementer(s):  El Boustani, Sami [elboustani at unic.cnrs-gif.fr]; Marre, Olivier [marre at unic.cnrs-gif.fr];
\
i2m-matlab
Common
FigurePlot
Figures
Glauber
InfoTools
LoadRaster
Surrogate
Workspace
readme.html
BatchOctestGlauber.m
ComputeCorrBin.m
ExpFitPopn.m
i2mPath.m
BatchOctestData.m
                            
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Package for analyzing multi-electrode data with a Markov-Ising model.  %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

This package corresponds to the paper: 

Prediction of spatio-temporal patterns of neural activity from
pairwise correlations.

Olivier Marre, Sami El Boustani, Yves Frégnac and Alain Destexhe

Physical Review Letters, 2009.  

http://arxiv.org/abs/0903.0127


The code here allows to reproduce easily the fig 1, analyze your own
multi-electrode data, and generate surrogate data with the same
statistics than the ones captured by the Markov model. The approach is
the following:

-load or generate a raster
-compute the mean activity of each neuron (m), the instantaneous
 pairwise correlations (C), and the pairwise correlations between time
 t and time t+1.
-estimate the h, J and J1 parameters of the model corresponding to the
 m, C and C1: by an analytical approximation followed by a gradient
 descent. This might not be enough for a large number of neurons.
-Estimating the performance of the fit by comparing the prediction,
 and the empirical estimation, of the ocurrence rate of different
 spatio-temporal spiking patterns. This is done for different temporal
 sizes of these patterns.

The program "BatchOctestGlauber" is performing all these steps. 

1)How to use this program:

-The best is probably to first have a look on the code which
 reproduces the figure 1. First launch "i2mPath" to set all the
 sub-directories. Then "BatchOctestGlauber" will do all the analysis
 (it takes several minutes), and stores the results in the WorkSpace
 directory. Then launch "Fig1" to draw the figure.
-To analyze your data, construct a file "spikes.txt" which contain the
 spike times, with the format explained in /LoadRaster/LoadRaster.m
-the directory InfoTools contains some simple methods to measure the
 Kullback-Leibler (KL) and the Jensen Shannon (Djs) divergences.
-/Surrogate/Surrogate.m will generate some surrogate data having the
 same statistics than the ones captured by the model.


2) The code is organized in different directories:

-Common: The core of the program. Contains all the functions needed to
 fit the model to mean and correlations measured from the data.
-FigurePlot: routines to plot the Figure 1 of the paper
-Figures: directory where automatically generated figures will be
 stored.
-Glauber: to simulate the Glauber model
-InfoTools: contains some simple methods to measure the
 Kullback-Leibler (KL) and the Jensen Shannon (Djs) divergences.
-LoadRaster: to load and bin a raster
-surrogate: Surrogate.m will generate some surrogate data having the
 same statistics than the ones captured by the model.
-Workspace: where the workspace is stored after running one of the
 batchs.

ModelDB Home  SenseLab Home   Help
Questions, comments, problems? Email the ModelDB Administrator
How to cite ModelDB
This site is Copyright 2012 Shepherd Lab, Yale University