Networks of spiking neurons: a review of tools and strategies (Brette et al. 2007)

 Download zip file   Auto-launch 
Help downloading and running models
This package provides a series of codes that simulate networks of spiking neurons (excitatory and inhibitory, integrate-and-fire or Hodgkin-Huxley type, current-based or conductance-based synapses; some of them are event-based). The same networks are implemented in different simulators (NEURON, GENESIS, NEST, NCS, CSIM, XPP, SPLIT, MVAspike; there is also a couple of implementations in SciLab and C++). The codes included in this package are benchmark simulations; see the associated review paper (Brette et al. 2007). The main goal is to provide a series of benchmark simulations of networks of spiking neurons, and demonstrate how these are implemented in the different simulators overviewed in the paper. See also details in the enclosed file Appendix2.pdf, which describes these different benchmarks. Some of these benchmarks were based on the Vogels-Abbott model (Vogels TP and Abbott LF 2005).
1 . Vogels TP, Abbott LF (2005) Signal propagation and logic gating in networks of integrate-and-fire neurons. J Neurosci 25:10786-95 [PubMed]
2 . Brette R, Rudolph M, Carnevale T, Hines M, Beeman D, Bower JM, Diesmann M, Morrison A, Goodman PH, Harris FC, Zirpe M, Natschl├Ąger T, Pecevski D, Ermentrout B, Djurfeldt M, Lansner A, Rochel O, Vieville T, Muller E, Davison AP, El Boustani S, Destexhe A (2007) Simulation of networks of spiking neurons: a review of tools and strategies. J Comput Neurosci 23:349-98 [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:
Cell Type(s): Abstract integrate-and-fire leaky neuron;
Gap Junctions:
Simulation Environment: NEURON; GENESIS; NEST; C or C++ program; XPP; CSIM; NCS; SPLIT; MVASpike; SciLab; Brian; PyNN; Python;
Model Concept(s): Activity Patterns; Methods;
Implementer(s): Carnevale, Ted [Ted.Carnevale at]; Hines, Michael [Michael.Hines at]; Davison, Andrew [Andrew.Davison at]; Destexhe, Alain [Destexhe at]; Ermentrout, Bard []; Brette R; Bower, James; Beeman, Dave; Diesmann M; Morrison A ; Goodman PH; Harris Jr, FC; Zirpe M ; Natschlager T ; Pecevski D ; Djurfeldt M; Lansner, Anders [ala at]; Rochel O ; Vieville T ; Muller E ; El Boustani, Sami [elboustani at]; Rudolph M ;
/*     ###########     Exact simulation of integrate-and-fire models with synaptic conductances ######################

This code is associated with the paper :
"Brette Romain (2006) , Exact simulation of integrate-and-fire models with synaptic conductances" :
Cohen Benjamin
benjamin.cohen _AT_
Last updated : Jul 2006 

If you modify the source file, please don't delete this header

You can ( and must ) configure the network in the file conf.h


Syntax of output : "id of the neuron" "time of spike"

To study the phenomen, the spike are stored in n->backup in the right order, with time of spike in Taum unit ( only in the table, not in the file, not in the terminal )*/

#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <time.h>
#include "network.h"

int main(int argc, char *argch){

int h2,m2,s2,h3,m3,s3;
time_t timer1;

srand(localtime(&timer1)->tm_min + localtime(&timer1)->tm_hour+400*localtime(&timer1)->tm_sec);

//Load the network 
Network *n = new Network(NEURONS);

//Compute the beginning time
h2 = localtime(&timer1)->tm_hour;
m2 = localtime(&timer1)->tm_min;
s2 = localtime(&timer1)->tm_sec;

//Start the network

h3 = localtime(&timer1)->tm_hour;
m3 = localtime(&timer1)->tm_min;
s3 = localtime(&timer1)->tm_sec;

printf("# of Neurons : %d,# of Spikes : %d\n",NEURONS,n->backup.size());

printf("Length of the simulation : %d sec\n",(h3-h2)*3600+(m3-m2)*60+s3-s2);

//Write in the file if OUT is defined
#ifdef OUT
printf("Writing in %s...",FILE_OUT);		
FILE *file = fopen(FILE_OUT,"w");

int k = 0;
char buf[20];
while (!(n->backup.empty())){
	Spike s = n->backup.front();
	fputs(" ",file);
#endif //OUT

delete n;
return 0;