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

 Download zip file 
Help downloading and running models
"... 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)."
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]
Citations  Citation Browser
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):
Gap Junctions:
Simulation Environment: C or C++ program;
Model Concept(s): Activity Patterns;
#ifndef NETWORK_H
#define NETWORK_H

#include <math.h>
#include "rgauss.h"
#include "params.h"
#include "lib.h"

// ---structures
struct print
	int cur, f, in, out, s, weights;


class network
	int	*display, j_extra, neurons, newzap, no_display, no_mem, num[2],
		*nwmem, rezap, *type, **wmem, *who_zap, **wn, *wntot;

	float	deltav, *deps, dnu, dzap, dt, dtzap,
		**eta, enorm[2], f, *mu, *nu_in, p_zap[2],
		*tau, tau_s[2], tmax, tmin, t_average, t_dzap_off,
		t_dzap_on, t_zap_off, t_zap_on, t_extra,
		vbar, **w, wbar[2][2], zap; 

	char	*suffix;

	// ---constructor
	network(int argc, char** argv, print pr);

	// ---destructor

		for (int i=0; i < neurons; i++)
			delete [] w[i];
			delete [] wn[i];
		delete [] display;
		delete [] w;
		delete [] wn;
		delete [] wntot;

		if (no_mem)
			cfree(no_mem, eta);
			cfree(num[0], wmem);

	// ---set applied current, ia
	void set_current(rgauss& g, params& raw);

	// ---set distribution
	float* set_distribution(rgauss& g, int n, float* p,
		float* mean, float* sd, float* min, float* max, float dx);

	// ---set weights, w
	float** set_weights(rgauss& g, params& raw, float& wmin, float& wmax);

	// ---set memories
	void set_mem(params& raw, float wmin, float wmax);

	// ---create memory vector, eta.
	void set_eta(int m, float f);

	// ---get statistics on memory:  mean and variance
	float* get_stats(float** w_to_v);

	// ---diagnostic: print weights
	void write_weights(int nbins, float* maxw, float** w_to_v);

	// ---set paraemters to one of two values.
	int* set2(int n1, int n2, int p1, int p2);
	float* set2(int n1, int n2, float p1, float p2);

	// ---write parameters
	void write_params(params& raw);