Perturbation sensitivity implies high noise and suggests rate coding in cortex (London et al. 2010)

 Download zip file 
Help downloading and running models
Accession:144027
"... The network simulations were also based on a previously published model(Latham et al. 2000), but with modifications to allow the addition and detection of extra spikes (see Supplementary Information, section 7)."
Reference:
1 . London M, Roth A, Beeren L, Häusser M, Latham PE (2010) Sensitivity to perturbations in vivo implies high noise and suggests rate coding in cortex. Nature 466:123-7 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network;
Brain Region(s)/Organism: Neocortex;
Cell Type(s):
Channel(s):
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: C or C++ program;
Model Concept(s): Activity Patterns;
Implementer(s):
/*
	cumulative probability for poisson distribution. returns
	a variable q[i] such that prob(q[i]=k) = p^k exp(-p)/k!.
	q[i] has n elements, ordered from smallest to largest.
*/

// headers
#include <math.h>
#include <stdlib.h>

double* dpoisson(float p, int n)
{
/*
	INPUT:
	p	- probability.
	n	- number of points in q: q runs from 0 to n-1.

	RETURNS:
	q[i]	- probability that q[i]=k is p^k exp(-p)/k!. q[i] is ordered
		  from smallest to largest.
*/
	// ---reserve space
	double* q = (double*) calloc(n, sizeof(double));

	// ---set everybody to zero if p=0.
	if (p <= 0)
	{
		for (int i=0; i < n; i++) q[i]=0.0;
		return q;
	}

	// ---constants
	double logp = log(p);

	// --- up
	int j1, j2=0;
	double  logfac=0, qacc=0;
	for (int i=0;; i++)
	{
		double q0 = exp(i*logp - p - logfac);

		j1=j2;
		j2=(int) (n*(qacc+q0));
		for (int j=j1; j < j2; j++) q[j]=i;

		qacc += q0;
		logfac += log(1+i);

		if (j2 == n-1) break;
	}
	q[n-1]=q[n-2]+1;

	return q;
}

Loading data, please wait...