A Moth MGC Model-A HH network with quantitative rate reduction (Buckley & Nowotny 2011)

 Download zip file 
Help downloading and running models
Accession:144403
We provide the model used in Buckley & Nowotny (2011). It consists of a network of Hodgkin Huxley neurons coupled by slow GABA_B synapses which is run alongside a quantitative reduction described in the associated paper.
Reference:
1 . Buckley CL, Nowotny T (2011) Multiscale model of an inhibitory network shows optimal properties near bifurcation. Phys Rev Lett 106:238109 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network;
Brain Region(s)/Organism:
Cell Type(s): Hodgkin-Huxley neuron;
Channel(s): I K; I K,leak; I M; I K,Ca; I Q; I Na, leak;
Gap Junctions:
Receptor(s): GabaB;
Gene(s):
Transmitter(s): Gaba;
Simulation Environment: C or C++ program;
Model Concept(s): Activity Patterns; Bifurcation; Multiscale;
Implementer(s): Buckley, Christopher [chrisbuckley at brain.riken.jp];
Search NeuronDB for information about:  GabaB; I K; I K,leak; I M; I K,Ca; I Q; I Na, leak; Gaba;
/
Buckley2011
libraries
CNlib2
readme
CN_absynapse.cc
CN_absynapse.h
CN_absynapse_smSTDP.cc *
CN_absynapse_smSTDP.h *
CN_absynapse_smSTDP1.cc *
CN_absynapse_smSTDP1.h *
CN_absynapse_strange.cc
CN_absynapse_strange.h
CN_absynapse_strange2.cc
CN_absynapse_strange2.h *
CN_absynapse2.cc
CN_absynapse2.h *
CN_absynapseECHebb3.cc
CN_absynapseECHebb3.h
CN_absynapseECplast1.cc
CN_absynapseECplast1.h
CN_absynapseECplast2.cc
CN_absynapseECplast2.h *
CN_absynapseECplast3.cc
CN_absynapseECplast3.h
CN_base.h
CN_base.h~
CN_Colpitts.cc
CN_Colpitts.h
CN_Data.cc
CN_Data.h
CN_DCInput.cc *
CN_DCInput.h
CN_demiGapsynapse.cc
CN_demiGapsynapse.h
CN_ECAneuron.cc
CN_ECAneuron.h
CN_ECdemiGapsynapse.cc *
CN_ECdemiGapsynapse.cc~ *
CN_ECdemiGapsynapse.h
CN_ECdemiGapsynapse.h~
CN_ECneuron.cc
CN_ECneuron.h
CN_ECneuron2.cc
CN_ECneuron2.h
CN_ECneuron3.cc *
CN_ECneuron3.h
CN_ECneuron3NS.cc
CN_ECneuron3NS.cc~ *
CN_ECneuron3NS.h
CN_ECneuron3NS.h~
CN_HHneuron.cc *
CN_HHneuron.h
CN_HHneuron.h~ *
CN_HHneuronNS.cc
CN_HHneuronNS.cc~ *
CN_HHneuronNS.h
CN_HHneuronNS.h~ *
CN_InputFunction.cc
CN_InputFunction.h
CN_InputFunction2.cc
CN_InputFunction2.h
CN_InputFunctionNoise.cc
CN_InputFunctionNoise.h
CN_inputneuron.cc
CN_inputneuron.h
CN_legacy_absynapse.cc
CN_legacy_absynapse.h
CN_legacy_absynapse_smSTDP.cc *
CN_legacy_absynapse_smSTDP.h *
CN_legacy_absynapse_smSTDP1.cc *
CN_legacy_absynapse_smSTDP1.h *
CN_legacy_absynapseECplast1.cc
CN_legacy_absynapseECplast1.h
CN_legacy_absynapseECplast2.cc
CN_legacy_absynapseECplast2.h *
CN_legacy_absynapseECplast3.cc
CN_legacy_absynapseECplast3.h
CN_LPneuronAstrid.cc
CN_LPneuronAstrid.h
CN_LPneuronNT.cc *
CN_LPneuronNT.h
CN_LPneuronRafi4.cc
CN_LPneuronRafi4.h
CN_LPneuronRafi5.cc
CN_LPneuronRafi5.h
CN_LTVneuron.cc
CN_LTVneuron.h
CN_LTVsynapse.cc
CN_LTVsynapse.h
CN_multifire_inputneuron.cc
CN_multifire_inputneuron.h
CN_neuron.cc
CN_neuron.h
CN_NeuronModel.cc
CN_NeuronModel.h
CN_pNaNeuron.cc
CN_pNaNeuron.h
CN_PNneuron.cc
CN_PNneuron.cc~
CN_PNneuron.h
CN_PNneuron.h~
CN_PNneuronM.cc
CN_PNneuronM.cc~
CN_PNneuronM.h
CN_PNneuronM.h~
CN_Poissoninput.cc
CN_Poissoninput.h
CN_Poissonneuron.cc
CN_Poissonneuron.h
CN_PopPoissonN.cc
CN_PopPoissonN.cc~
CN_PopPoissonN.h
CN_PopPoissonN.h~
CN_Rallsynapse.cc
CN_Rallsynapse.h
CN_Rallsynapse_strange.cc
CN_Rallsynapse_strange.h
CN_RallsynapseECplast3.cc
CN_RallsynapseECplast3.h
CN_rk65n.cc *
CN_rk65n.h
CN_rk65n.o
CN_rk6n.cc
CN_rk6n.cc~
CN_rk6n.h
CN_rk6n.o
CN_rk6n_noise.cc
CN_rk6n_noise.cc~
CN_rk6n_noise.h
CN_S01synapse.cc
CN_S01synapse.h
CN_S01synapseECplast3.cc
CN_S01synapseECplast3.h
CN_simpleinput.cc
CN_simpleinput.h
CN_synapse.cc
CN_synapse.h
CN_synapseAstrid.cc *
CN_synapseAstrid.h
CN_t2Rallsynapse.cc
CN_t2Rallsynapse.h
CN_t2RallsynapseECplast3.cc
CN_t2RallsynapseECplast3.h
CN_TimeNeuron.cc *
CN_TimeNeuron.h
CN_ValAdaptneuron.cc
CN_ValAdaptneuron.h
CN_Valneuron.cc *
CN_Valneuron.h
CN_Valneuron2.cc
CN_Valneuron2.h
CN_Valneuron2cNS.cc
CN_Valneuron2cNS.cc~
CN_Valneuron2cNS.h
CN_Valneuron2cNS.h~
CN_ValneuronNS.cc
CN_ValneuronNS.cc~ *
CN_ValneuronNS.h
CN_ValneuronNS.h~
CN_VdPolneuron.cc
CN_VdPolneuron.h
hello.dat
Makefile
testCN
testCN.cc
testCN.cc~
testCN.o
todo_remarks
tst.dat
tst.msg *
tst.out *
tst2.msg *
tst2.out *
                            
//--------------------------------------------------------------------------
// Author: Thomas Nowotny
//
// Institute: Institute for Nonlinear Dynamics
//            University of California San Diego
//            La Jolla, CA 92093-0402
//
// email to:  tnowotny@ucsd.edu
//
// initial version: 2005-08-19
//
//--------------------------------------------------------------------------

// this is an adaptation of Astrid Prinz's model of an LP neuron to two
// compartments and a few changed std parameters, done by Marcello Reyes

#ifndef CN_LPANEURON_H
#define CN_LPANEURON_H

#include "CN_neuron.h"
#include <cmath>

#define LPA_PNO 17
#define LPA_IVARNO 13

//--------------------------------------------------------------------------
// parameters of the LPA neuron (typical set, can be modified at any time
// later on. Modifications take effect immediately in tha next evaluation)

double stdLPA_p[LPA_PNO]= {
  1.0, // 0 - Capacit
  200.0, // 1 - tau_Ca
  1.4960, // 2 - f
  0.05, // 3 - C_Ca_0
  50.0, // 4 - E_Na
  -80.0, // 5 - E_K
  -20.0, // 6 - E_H
  -60.0, // 7 - E_leak
  0.01, // 8 - g_H
  0.01, // 9 - g_leak
  120.0, // 10 - g_Na
  1.0, // 11 - g_CaT
  11.0, // 12 - g_CaS
  50.0, // 13 - gA
  1.22, // 14 - gKCa
  36.0, // 15 - gKd
  0.628 // 16 - Area
};

double *LPA_p= stdLPA_p;

const char *LPA_p_text[LPA_PNO]= {
  "0 - Capacit",
  "1 - tau_Ca",
  "2 - f",
  "3 - C_Ca_0",
  "4 - E_Na",
  "5 - E_K",
  "6 - E_H",
  "7 - E_leak",
  "8 -  g_H",
  "9 - g_leak",
  "10 - g_Na",
  "11 - g_CaT",
  "12 - g_CaS",
  "13 - gA",
  "14 - gKCa",
  "15 - gKd",
  "16 - Area"
};
  

//----------------------------------------------------------------------
// the following initial values reflect the steady state with no input

double stdLPA_INIVARS[LPA_IVARNO]= {
  -52.6896657132625989600,   // 0 - V: membrane potential 
  0.0056935725624609398,     // 1 - mNa: Na channel activation 
  0.9,                       // 2 - hNa: Na channel unblocking 
  0.6836680498672979000,     // 3 - mCa1: Ca1 channel activation
  0.0260241567723770370,     // 4 - hCa1: Ca1 channel unblocking
  0.9842652361470087818,     // 5 - mCa2: Ca2 channel activation
  0.0708515410780189148,     // 6 - hCa2: Ca2 channel unblocking
  0.3398902413785575005,     // 7 - mA: IA channel activation
  0.0474145467346798327,     // 8 - hA: IA channel unblocking
  0.3654065423783397493,     // 9 - mKCa: KCa channel activation
  0.0526824330148126588,     // 10 - mKd: Kd channel activation
  0.0302975756966933421,     // 11 - mh: Ih channel activation
  2.1790550738448457580      // 12 - CCa: Ca concentration
};
 
double *LPA_INIVARS= stdLPA_INIVARS;

const char *LPA_INIVARSTEXT[LPA_IVARNO]= {
  "0 - V: membrane potential",
  "1 - mNa: Na channel activation", 
  "2 - hNa: Na channel unblocking", 
  "3 - mCa1: Ca1 channel activation",
  "4 - HCa1: Ca1 channel unblocking",
  "5 - mCa2: Ca2 channel activation",
  "6 - hCa2: Ca2 channel unblocking",
  "7 - mA: IA channel activation",
  "8 - hA: IA channel unblocking",
  "9 - mKCa: KCa channel activation",
  "10 - mKd: Kd channel activation",
  "11 - mh: Ih channel activation",
  "12 - CCa: Ca concentration"
};

// the LPA neuron class itself

class LPAneuron: public neuron
{
 private:
  double Isyn, I_Na, I_CaT, I_CaS, I_A, I_KCa, I_Kd, I_H, I_leak;
  double _E_Ca, _minf, _taum, _hinf, _tauh;

 public:
  LPAneuron(int, double *);
  LPAneuron(int, vector<int>, double *);
  virtual ~LPAneuron() { }
  inline virtual double E(double *);
  virtual void currents(ostream &, double *);
  virtual void derivative(double *, double *);
};

// for fitting purposes: type == 0 means additive changes
//                       type == 1 means multiplicative changes

double LPA_p_type[LPA_PNO]= {
  1, // 0 - Capacit
  1, // 1 - tau_Ca
  1, // 2 - f
  1, // 3 - C_Ca_0
  0, // 4 - E_Na
  0, // 5 - E_K
  0, // 6 - E_H
  0, // 7 - E_leak
  1, // 8 - g_H
  1, // 9 - g_leak
  1, // 10 - g_Na
  1, // 11 - g_CaT
  1, // 12 - g_CaS
  1, // 13 - gA
  1, // 14 - gKCa
  1, // 15 - gKd
  1  // 16 - Area
};

// the sensitivity is taken from LPneuronMarcello ... might need to be
// adjusted

double LPA_p_sens[LPA_PNO]= {
  3.64202e-10,
  5.76844e-09,
  8.09137e-10,
  9.52267e-07,
  2.52966e-08,
  6.75621e-09,
  3.75613e-06,
  3.23909e-08,
  9.21422e-08,
  2.01029e-09,
  3.99026e-10,
  1.49669e-10,
  4.76687e-10,
  2.43645e-10,
  4.44189e-10,
  4.13484e-10,
  4.0e-10
};


#endif


Loading data, please wait...