Skip to content

DepartmentofNeurophysiology/Dynamic-clamp-information-protocol

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Dynamic-clamp-information-protocol

About


Uses an artificial neural network (ANN) to generate an excitatory and inhibitory conductance based on the absence or presence of a hidden state. This input can be utilized to estimate the mutual information.

The dynamic clamp input (conductance) generation method is described in:
Schutte, M. and Zeldenrust, F. (2021) Increased neural information transfer for a conductance input: a dynamic clamp approach to study information flow. Msc. University of Amsterdam. Available at: https://scripties.uba.uva.nl

The mutual information estimation protocol is described in:
Zeldenrust, F., de Knecht, S., Wadman, W. J., Denève, S., Gutkin, B., Knecht, S. De, Denève, S. (2017). Estimating the Information Extracted by a Single Spiking Neuron from a Continuous Input Time Series. Frontiers in Computational Neuroscience, 11(June), 49. doi:10.3389/FNCOM.2017.00049

Please cite these references when using this method.

Setup


The code depends on the following packages (version):

A more detailed installation instruction is provided at the link.

Usage


To run a mutual information simulation the code has to go through 4 steps:

  1. Input generation
    make_dynamic_experiments generates a binary stimulus and the respons (input theory) of the artificial neural network to this stimulus. The input theory can both be in the form of a flutuating current or a fluctuating conductance (dynamic clamp).
  2. Input scaling
    scale_input_theory scales the input (current or conductance) with a given scaling factor. This will result in a Brian2.TimedArray with the correct unit to be injected into a (model) neuron.
  3. Model initiation & Input injection
    Barrel_PC & Barrel_IN will initialize a model neuron using the Brian2 package. Barrel_PC.run(input) simulates the response of the model neuron to the injected input. Model fitting is described in Sterl & Zeldenrust (2020)
  4. Mutual information estimation analyze_exp calculates the mutual information between the binary stimulus, injected input and output spike train as described in Zeldenrust et al (2017)

A run through steps 1-3 are provided in the big_sim.py file. Schutte & Zeldenrust (2021) gives a theoretical walk-through of the protocol.

License


This repository has licensed under the MIT licence. Read LICENCE.txt for the full terms and conditions.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%