/GLMCC

Python Implementation of GLMCC (generalized linear model for spike cross-correlations)

Primary LanguagePythonMIT LicenseMIT

Python implementation of GLMCC

Overview

Python3 implementation of GLMCC (generalized linear model for spike cross-correlogram).
Note that this code is not reviewed by original authors. This code is a refactored version and can be used in a sklearn-like style.

Credit

Setup

  • clone this repository to your local environment.
  • At the root of this repository, run pip install ..
  • After successfully installing GLMCC, you can use the module by ordinary import.

Usage

from glmcc import GLMCC  # model
from glmcc import spiketime_relative

spiketrains = {
  1: [],
  2: [],
  # ... #
}  # prepare your spiketrain data [ms]

# relative spiketime (target - reference)
t_sp = spiketime_relative(spiketime_tar=spiketrains[TARGET_NEURON_ID], 
                          spiketime_ref=spiketrains[REFERENCE_NEURON_ID], window_size=50.0)

glm = GLMCC(delay=1.0)  # tune synaptic delay [ms]
glm.fit(t_sp)
glm.summary()  # print fitting summary

print(glm.theta[-2], glm.theta[-1])  # estimated synaptic weights

For details, please take a look at the notebook in examples directory with sample data.