Skip to content

Neuron support library for: "A biophysical modelling platform of the cochlear nucleus and other auditory circuits: from channels to networks"

License

lhg0550/cnmodel

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About CNModel

CNModel is a Python-based interface to NEURON models of cochlear nucleus neurons, synapses, network connectivity. To drive the model with sound stimuli, the Zilaney et al (2010, 2014) auditory periphery model is used to generate auditory nerve spike trains (either via the "cochlea" Python package or by the original MATLAB model; see below). The overall goal is to provide a platform for modeling networks of cochlear nucleus neurons with different levels of biological realism in the context of an accurate simulation of auditory nerve input.

At the lowest level are NEURON-based implementations of ion channels and synapses. Ion channel models for potassium channels are derived largely from the measurements and models of Rothman and Manis (2003abc), and Kanold and Manis (1999, 2001); other channels are derived or modified from the literature. Cell models are in turn based on the insertion of ion channels in densities based on measurements in guinea pig and mouse. The "point" somatic cell models, which form the base set of models in CNModel, replicate the data reported in the original papers.

The postsynaptic receptor/conductance models are based on kinetic models of glutamate (Raman and Trussell, 1992) and glycinergic receptors, as adjusted to match measurements of synaptic conductances from the mouse cochlear nucleus collected in Xie and Manis, 2013. The glutamate receptor models include desensitization and the effects of internal polyamine receptor block, based on the kinetic scheme of Woodhull (1982).

The presynaptic release model includes a multisite, probabilistic synapse that includes time-dependent changes in release probability based on the Dittman, Kreitzer and Regehr (J Neurosci. 2000 Feb 15;20(4):1374-85) kinetic scheme. Although detailed, this model is computationally expensive and likely not suitable for large scale network simulations. Other simpler models of synapses are also included.

Network connectivity may be defined programmatically, or based on a table of connectivity patterns. A table with estimates derived from the literature is included in the source.

Included in this package is a set of test suites for different components. An overriding set of unit tests is available to confirm performance of the base models against a set of reference runs, several of which are in turn directly traceable to the original manuscripts. The test suites are useful in verifying performance of the model after modifications of the code or changes in the installation (upgrades of Python or Matlab, for example).

Installation requirements

This package depends on the following:

  1. Python 2.7.10 with numpy (1.11), scipy (0.19.0), lmfit (0.9.6), pyqt4 (4.11.4), matplotlib (2.0 or 1.5) and pyqtgraph (0.9.10). An Anaconda install with the appropriate scientific packages works well. lmfit is best obtained via pip to install the latest versions. This package is not yet compatible with Python 3.x.
  2. A Python-linked version of NEURON (www.neuron.yale.edu). The code has been tested with NEURON 7.3 and 7.4.
  3. A C compiler (gcc). Needed for compilation of mechanisms for NEURON.
  4. The Zilany et al (JASA 2014) auditory periphery model. This can be provided one of two ways:
    • The original MATLAB-based Zilany model; requires MATLAB 2011 or later. A C compiler will also be needed to build this model.The model should be placed in the directory "cnmodel/cnmodel/an_model/model", with the following components: ANmodel.m, complex.c, complex.h, complex.hpp, ffGn.m, fituaudiogram2.m, mexANmodel.m, model_IHC.c, model_Synapse.c, and the THRESHOLD_ALL_* files.
    • The Python-based cochlea model by Rudnicki and Hemmert (https://github.com/mrkrd/cochlea; can be installed via pip).
  5. neuronvis (optional; available at https://github.com/campagnola/neuronvis or https://github.com/pbmanis/neuronvis). This provides 3D visualization for morphology.

Testing

After the code is installed, enter the cnmodel directory and compile the NEURON mod files:

$ nrnivmodl cnmodel/mechanisms

This will create a directory ("x86_64" or "special") in the top cnmodel directory with the compiled mechanisms.

At that point

$ python examples/toy_model.py

should generate a plot with several sets of traces showing responses of individual neuron models to depolarizing and hyperpolarizing current steps.

The test suite should be run as:

$ python test.py

This will test each of the models against reference data, the synapse mechanisms, a number of internal routines, and the auditory nerve model. The tests should pass for each component. Failures may indicate incorrect installation or incorrect function within individual components. These should be corrected before proceeding with simulations.

Figures

The data for the figures in the manuscript (Manis and Campagnola, Hearing Research, submitted) can be generated using the bash script "figures.sh" in the examples subdirectory. From the main cnmodel directory: $ ./examples figures.sh fignum

where fignum is one of 2a, 2b, 2c, 3, 4, 5, 6a, 6b, or 7.

Note that Figure 7 may take several hours to generate.

Example code and tests

A number of additional tests are included in the examples directory.

  • test_an_model.py verifies that the auditory nerve model can be run. If necessary, it will compile (using MEX) the mechanisms for matlab.

  • test_ccstim.py tests the generation of different stimulus waveforms by the pulse generator module.

  • test_cells.py runs different cell models in current or voltage clamp.

    • usage: test_cells.py celltype species[-h] [--type TYPE] [--temp TEMP] [-m MORPHOLOGY] [--nav NAV] [--ttx] [-p PULSETYPE] [--vc | --cc | --rmp] For example: python test_cells.py bushy mouse --cc --temp 34
  • test_cells.py can run protocols on selected cell models. -usage: test_cells.py [-h] [--type TYPE] [--temp TEMP] [-m MORPHOLOGY] [--nav NAV] [--ttx] [-p PULSETYPE] [--vc | --cc | --rmp] celltype species

  • test_circuit.py tests the generation of circuits with populations of cells. No simulations are run.

  • test_decorator.py generates an IV curve for the reconstructed cell LC_bushy.hoc (Figure 5B,C)

  • test_mechanisms.py runs a voltage clamp I/V protocol on a selected mechanism and displays the result.

    • Usage: python test_mechanisms.py

      Available channel mechanisms:

    Channel Channel Channel Channel Channel
    CaPCalyx KIR bkpkj hcno hcnobo
    hh hpkj ihpyr ihsgcApical ihsgcBasalMiddle
    ihvcn jsrna k_ion ka kcnq
    kdpyr kht kif kis klt
    kpkj kpkj2 kpkjslow kpksk leak
    lkpkj na naRsg na_ion nacn
    nacncoop nap napyr nav11
  • test_mso_inputs.py runs a circuit that creates a point MSO neuron, innervated by bushy cells from independent "ears". This demonstrates how to construct a binaural circuit using CNModel.

  • test_physiology.py runs a large VCN circuit that converges onto a single bushy cell. This run can take a long time. The output was used to create Figure 7 of the manuscript.

  • test_populations.py tests synaptic connections between two cell types. Usage: python test_populations.py <pre_celltype> <post_celltype>

  • test_sgc_input_phaselocking.py tests phase locking with SGC inputs to a bushy cell.

  • test_sgc_input_PSTH.py shows SGC inputs and postsynaptic bushy cell PSTHs.

  • test_sgc_input.py demonstrates SGC input to a VCN bushy cell.

  • test_simple_synapses.py tests simple Exp2Syn inputs to different cell types.

    • Usage: python test_synapses.py <pre_celltype> <post_celltype> Supported cell types: sgc, bushy, tstellate, dstellate, tuberculoventral, pyramidal
  • test_sound_stim.py generates spike trains from the selected model (cochlea, matlab) and plots rate-intensity functions for the 3 different SR groups.

  • test_sounds.py generates waveforms for different kinds of sounds included in the sounds class.

  • test_synapses.py evokes spikes in a presynaptic cell while recording the postsynaptic potential.

    • Usage: python test_synapses.py <pre_celltype> <post_celltype> Supported cell types: sgc, bushy, tstellate, dstellate
  • toy_model.py generates IV plots for each of the principal point cell types included in CNModel. This is the data for Figure 3 of the manuscript.

References:

  1. Cao XJ, Oertel D. The magnitudes of hyperpolarization-activated and low-voltage-activated potassium currents co-vary in neurons of the ventral cochlear nucleus. J Neurophysiol. 2011 Aug;106(2):630-40. doi: 10.1152/jn.00015.2010. Epub 2011 May 11. PubMed PMID: 21562186; PubMed Central PMCID: PMC3154804.

  2. Cao XJ, Oertel D. Auditory nerve fibers excite targets through synapses that vary in convergence, strength, and short-term plasticity. J Neurophysiol. 2010 Nov;104(5):2308-20. doi: 10.1152/jn.00451.2010. Epub 2010 Aug 25. PubMed PMID: 20739600; PubMed Central PMCID: PMC3350034.

  3. Dittman JS, Kreitzer AC, Regehr WG. Interplay between facilitation, depression, and residual calcium at three presynaptic terminals. J Neurosci. 2000 Feb 15;20(4):1374-85. PubMed PMID: 10662828.

  4. Isaacson JS, Walmsley B. Counting quanta: direct measurements of transmitter release at a central synapse. Neuron. 1995 Oct;15(4):875-84.

  5. Kanold PO, Manis PB. A physiologically based model of discharge pattern regulation by transient K+ currents in cochlear nucleus pyramidal cells. J Neurophysiol. 2001 Feb;85(2):523-38. PubMed PMID: 11160490.

  6. Kanold PO, Manis PB. Transient potassium currents regulate the discharge patterns of dorsal cochlear nucleus pyramidal cells. J Neurosci. 1999 Mar 15;19(6):2195-208. PubMed PMID: 10066273.

  7. Liu Q, Manis PB, Davis RL. Ih and HCN channels in murine spiral ganglion neurons: tonotopic variation, local heterogeneity, and kinetic model. J Assoc Res Otolaryngol. 2014 Aug;15(4):585-99. doi: 10.1007/s10162-014-0446-z. Epub 2014 Feb

  8. Erratum in: J Assoc Res Otolaryngol. 2014 Aug;15(4):601. PubMed PMID: 24558054; PubMed Central PMCID: PMC4141436.

  9. Raman IM, Trussell LO. The kinetics of the response to glutamate and kainate in neurons of the avian cochlear nucleus. Neuron. 1992 Jul;9(1):173-86. PubMed PMID: 1352983.

  10. Rothman JS, Manis PB. The roles potassium currents play in regulating the electrical activity of ventral cochlear nucleus neurons. J Neurophysiol. 2003 Jun;89(6):3097-113. PubMed PMID: 12783953.

  11. Rothman JS, Manis PB. Kinetic analyses of three distinct potassium conductances in ventral cochlear nucleus neurons. J Neurophysiol. 2003 Jun;89(6):3083-96. PubMed PMID: 12783952.

  12. Rothman JS, Manis PB. Differential expression of three distinct potassium currents in the ventral cochlear nucleus. J Neurophysiol. 2003 Jun;89(6):3070-82. PubMed PMID: 12783951.

  13. Rothman JS, Young ED, Manis PB. Convergence of auditory nerve fibers onto bushy cells in the ventral cochlear nucleus: implications of a computational model. J Neurophysiol. 1993 Dec;70(6):2562-83. PubMed PMID: 8120599.

  14. Woodhull AM. Ionic blockage of sodium channels in nerve. J Gen Physiol. 1973 Jun;61(6):687-708. PubMed PMID: 4541078; PubMed Central PMCID: PMC2203489.

  15. Xie R, Manis PB. Target-specific IPSC kinetics promote temporal processing in auditory parallel pathways. J Neurosci. 2013 Jan 23;33(4):1598-614. doi: 10.1523/JNEUROSCI.2541-12.2013. PubMed PMID: 23345233; PubMed Central PMCID: PMC3737999.

  16. Zilany MS, Bruce IC, Carney LH. Updated parameters and expanded simulation options for a model of the auditory periphery. J Acoust Soc Am. 2014 Jan;135(1):283-6. doi: 10.1121/1.4837815. PubMed PMID: 24437768; PubMed Central PMCID: PMC3985897.

  17. Zilany MS, Carney LH. Power-law dynamics in an auditory-nerve model can account for neural adaptation to sound-level statistics. J Neurosci. 2010 Aug 4;30(31):10380-90. doi: 10.1523/JNEUROSCI.0647-10.2010. PubMed PMID: 20685981; PubMed Central PMCID: PMC2935089.

  18. Zilany MS, Bruce IC, Nelson PC, Carney LH. A phenomenological model of the synapse between the inner hair cell and auditory nerve: long-term adaptation with power-law dynamics. J Acoust Soc Am. 2009 Nov;126(5):2390-412. doi: 10.1121/1.3238250. PubMed PMID: 19894822; PubMed Central PMCID: PMC2787068.

About

Neuron support library for: "A biophysical modelling platform of the cochlear nucleus and other auditory circuits: from channels to networks"

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 77.1%
  • AMPL 14.3%
  • C 6.5%
  • Other 2.1%