Ads by Google
Christian Borgelt's Web Pages

CoCoNAD - Continuous-time Closed Neuron Assembly Detection

Download (353 kb) GNU/Linux executable (133 kb) Windows console executable (313 kb) C sources, version 2.33 (2016.11.21)
coconad.tar.gz (293 kb) (75 kb) Python source of an alternative version (78 kb) Python scripts for Pattern Spectrum Filtering
psf+psr.tar.gz (70 kb) and Pattern Set Reduction


CoCoNAD (Continuous-time Closed Neuron Assembly Detection) is a program to find frequent imprecisely synchronous joint events in parallel point processes, which has applications in the analysis of parallel spike trains. The idea is to provide a method to test the temporal coincidence coding hypothesis, that is, that stimuli are encoded by temporally coincident spiking of groups of neurons, sometimes called cell assemblies.

The Python implementation is much slower (by about a factor of 40), but supports a graded notion of synchrony. This is (currently) not supported by the C implementation, which is restricted to a binary notion of synchrony (that is, a set of events is either synchronous or not). However, if a binary notion of synchrony is acceptable and the algorithm is to be used in Python for actual mining tasks, it is recommended to employ the PyCoCo extension module, which provides a Python interface to the C implementation.

The scripts in the archives ccn+psf+psr implement the full analysis process of parallel (spike) trains/point processes as it is described (although for standard frequent item set mining) in [Picado-Muiño et al. 2013] and [Torre et al. 2013]. A documentation of these scripts can be found here. Call the main script without any arguments to obtain a help message that shows the invocation and the available options.

If you have trouble executing the programs on Microsoft Windows, check whether you have the Microsoft Visual C++ Redistributable for Visual Studio 2022 (see under "Other Tools and Frameworks") installed, as the program was compiled with Microsoft Visual Studio 2022.

Papers that describe the underlying idea, the algorithm, its application in neurobiology and some implementation aspects of the C version:

The use of pattern spectra to evaluate the statistical significance of found frequent item sets is explained in these papers (although for standard frequent item set mining, but the idea can be transferred, with a few adaptations, to CoCoNAD):

An overview of the related task of frequent item set mining (which works on discrete sets of transactions instead of continuous time), can be found in this paper:

More information about frequent item set mining, implementations of other algorithms as well as test data sets can be found at the Frequent Itemset Mining Implementations Repository.