Data-driven, HH-type model of the lateral pyloric (LP) cell in the STG (Nowotny et al. 2008)

 Download zip file 
Help downloading and running models
Accession:116957
This model was developed using voltage clamp data and existing LP models to assemble an initial set of currents which were then adjusted by extensive fitting to a long data set of an isolated LP neuron. The main points of the work are a) automatic fitting is difficult but works when the method is carefully adjusted to the problem (and the initial guess is good enough). b) The resulting model (in this case) made reasonable predictions for manipulations not included in the original data set, e.g., blocking some of the ionic currents. c) The model is reasonably robust against changes in parameters but the different parameters vary a lot in this respect. d) The model is suitable for use in a network and has been used for this purpose (Ivanchenko et al. 2008)
References:
1 . Nowotny T, Levi R, Selverston AI (2008) Probing the dynamics of identified neurons with a data-driven modeling approach. PLoS ONE 3:e2627 [PubMed]
2 . Ivanchenko MV, Nowotny T, Selverston AI, Rabinovich MI (2008) Pacemaker and network mechanisms of rhythm generation: cooperation and competition. J Theor Biol 253:452-61 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell;
Brain Region(s)/Organism:
Cell Type(s): Hodgkin-Huxley neuron; Stomatogastric Ganglion (STG) Lateral Pyloric (LP) cell;
Channel(s): I A; I K; I M; I h; I K,Ca; I Sodium; I Calcium; I Potassium;
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: C or C++ program;
Model Concept(s): Activity Patterns; Bursting; Parameter Fitting; Invertebrate; Methods; Parameter sensitivity;
Implementer(s): Nowotny, Thomas [t.nowotny at sussex.ac.uk];
Search NeuronDB for information about:  I A; I K; I M; I h; I K,Ca; I Sodium; I Calcium; I Potassium;
//--------------------------------------------------------------------------
// 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: 2002-01-24
//
//--------------------------------------------------------------------------

//--------------------------------------------------------------------------
// adapted from LPneuronJorge with
// a) own fit for Ih
// b) GHK formalism for ICa + own fit with it
//--------------------------------------------------------------------------

#ifndef LPRNEURON_H
#define LPRNEURON_H

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

#define LPR_PNO 73
#define LPR_IVARNO 16

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

double stdLPR_p[LPR_PNO]= {
  7.15,              // 0 - gNa: Na conductance [muS]
  50,                // 1 - ENa: Na equi potential in mV
  0.1247796343,      // 2 - gCa1: first Ca conductance
  0.07142141077,     // 3 - gCa2: second Ca conductance
  1.663612026,       // 4 - goCa: KCa conductance
  -72,               // 5 - EK: K rev. potential
  1.43,              // 6 - gd: Kd conductance in [muS]
  0.8008791415,      // 7 - gA: A channel conductance
  0.0126874385,      // 8 - gh: Ih channel conductance
  -20,               // 9 - EIh: Ih channel rev. potential
  0.001004288227,    // 10 - gleak: leak conductance neuropil
  -50,               // 11 - Eleak: leak reversal potential
  0.1148312178,      // 12 - Cmem: membrane capacitance neuropil
  0.05049639866,     // 13 - c_iCa: factor in Ca dynamics [mM/pCb]
  0.01729930764,     // 14 - k_Ca: time scale Ca removal [1/ms]
  1,                 // 15 - tfac: rescaling all taum/tauh
  -9.342518882,      // 16 - Vshift: shift of V to outside world
  0,                 // 17 - IDC: DC input current to set dyn. regime
  1,                 // 18 - tfac_fast: recaling fast taum/tauh (Na, Kd)
  0.004017089073,    // 19 - gVV: conductance between neuropil & soma
  0.0543909161,      // 20 - Cs: capacitance of soma
  0.0006901584324,   // 21 - gleaks: leak conduct. soma
  11.4866,           // 22 - RTF
  1,                 // 23 - V_m
  0.9,               // 24 - s_m
  0.045,             // 25 - k_aCa1
  0.02,              // 26 - k_bCa1
  0.0608644,         // 27 - k_aCa2
  15,                // 28 - V_aCa1
  -40,               // 29 - V_bCa1
  29.1336,           // 30 - V_aCa2
  -9.8,              // 31 - s_aCa1
  3.2,               // 32 - s_bCa1
  -4.43083,          // 33 - s_aCa2
  0.00155982,        // 34 - P_Ca
  15123.5,           // 35 - Ca_out
  -15,               // 36 - V_kbCa1
  -10,               // 37 - s_kbCa1
  0.6,               // 38 - k_oa
  0.035,             // 39 - k_ob
  0,                 // 40 - V_ao1
  -16,               // 41 - V_ao2
  -23,               // 42 - s_ao1
  -5,                // 43 - s_ao2
  0.6,               // 44 - f
  2.5,               // 45 - c1
  0.7,               // 46 - c2
  0.6,               // 47 - c3
  0.02,              // 48 - Ca_0
  0.14,              // 49 - k_aA
  0.05,              // 50 - k_bA1
  0.0036,            // 51 - c_A2
  -12,               // 52 - V_aA
  -62,               // 53 - V_bA
  -40,               // 54 - V_kbA2
  7,                 // 55 - V_x
  -26,               // 56 - s_aA
  6,                 // 57 - s_bA
  -12,               // 58 - s_kbA2
  -15,               // 59 - s_x
  0.00033,           // 60 - c_r
  -70,               // 61 - V_r
  -110,              // 62 - V_kr
  8,                 // 63 - s_r
  -21.6,             // 64 - s_kr
  0.01222505828,     // 65 - I_scale
  -80,               // 66 - E_M
  0.2613041227,      // 67 - g_M
  0.0001386796618,   // 68 - k_M
  -26.9916223,       // 69 - V_M
  -5.957441281,      // 70 - s_M
  -60.57875745,      // 71 - V_kM
  -13.25674673,      // 72 - s_kM
};

double *LPR_p= stdLPR_p;

char *LPR_p_text[LPR_PNO]= {
  "0 - gNa: Na conductance [muS]",
  "1 - ENa: Na equi potential in mV",
  "2 - gCa1: first Ca conductance",
  "3 - gCa2: second Ca conductance",
  "4 - goCa: KCa conductance",
  "5 - EK: K rev. potential",
  "6 - gd: Kd conductance in [muS]",
  "7 - gA: A channel conductance",
  "8 - gh: Ih channel conductance",
  "9 - EIh: Ih channel rev. potential",
  "10 - gleak: leak conductance neuropil",
  "11 - Eleak: leak reversal potential",
  "12 - Cmem: membrane capacitance neuropil",
  "13 - c_iCa: factor in Ca dynamics [mM/pCb]",
  "14 - k_Ca: time scale Ca removal [1/ms]",
  "15 - tfac: rescaling all taum/tauh",
  "16 - Vshift: shift of V to outside world",
  "17 - IDC: DC input current to set dyn. regime",
  "18 - tfac_fast: recaling fast taum/tauh (Na, Kd)",
  "19 - gVV: conductance between neuropil & soma",
  "20 - Cs: capacitance of soma",
  "21 - gleaks: leak conduct. soma",
  "22 - RTF",
  "23 - AreaAxon",
  "24 - Area",
  "25 - k_aCa1",
  "26 - k_bCa1",
  "27 - k_aCa2",
  "28 - V_aCa1",
  "29 - V_bCa1",
  "30 - V_aCa2",
  "31 - s_aCa1",
  "32 - s_bCa1",
  "33 - s_aCa2",
  "34 - P_Ca",
  "35 - Ca_out",
  "36 - V_kbCa1",
  "37 - s_kbCa1",
  "38 - k_oa",
  "39 - k_ob",
  "40 - V_ao1",
  "41 - V_ao2",
  "42 - s_ao1",
  "43 - s_ao2",
  "44 - f",
  "45 - c1",
  "46 - c2",
  "47 - c3",
  "48 - Ca_0",
  "49 - k_aA",
  "50 - k_bA1",
  "51 - c_A2",
  "52 - V_aA",
  "53 - V_bA",
  "54 - V_kbA2",
  "55 - V_x",
  "56 - s_aA",
  "57 - s_bA",
  "58 - s_kbA2",
  "59 - s_x",
  "60 - c_r",
  "61 - V_r",
  "62 - V_kr",
  "63 - s_r",
  "64 - s_kr",
  "65 - I_scale",
  "66 - E_M",
  "67 - g_M",
  "68 - k_M",
  "69 - V_M",
  "70 - s_M",
  "71 - V_kM",
  "72 - s_kM"
};


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

double stdLPR_INIVARS[LPR_IVARNO]= {
  -56.0,                       // 0 - membrane potential 
  0.0,                         // 1 - Na channel activation mNa
  0.2,                         // 2 - Na channel unblocking hNa
  0.0,                         // 3 - Ca1 channel activation mCa1
  1.0,                         // 4 - Ca1 channel unblocking hCa1
  0.0,                         // 5 - Ca2 channel activation mCa2
  0.0,                         // 6 - oCa channel activation moCa
  1.0,                         // 7 - oCa channel unblocking hoCa
  0.0,                         // 8 - d channel activation md
  0.0,                         // 9 - A channel activation mA
  1.0,                         // 10 - A channel unblocking hA1
  1.0,                         // 11 - A channel unblocking hA2
  0.0,                         // 12 - Ih channel activation
  0.04,                        // 13 - Ca concentration
  0.01,                        // 14 - M current activation var
  -56.0                       // 15 - membrane potential soma
};
double *LPR_INIVARS= stdLPR_INIVARS;

char *LPR_INIVARSTEXT[LPR_IVARNO]= {
  "0 - membrane potential",
  "1 - Na channel activation mNa",
  "2 - Na channel unblocking hNa",
  "3 - Ca1 channel activation mCa1",
  "4 - Ca1 channel unblocking hCa1",
  "5 - Ca2 channel activation mCa2",
  "6 - oCa channel activation moCa",
  "7 - oCa channel unblocking hoCa",
  "8 - d channel activation md",
  "9 - A channel activation mA",
  "10 - A channel unblocking hA1",
  "11 - A channel unblocking hA2",
  "12 - Ih channel activation",
  "13 - Ca concentration",
  "14 - M current activation var",
  "15 - membrane potential soma"
};


// the LPR neuron class itself

class LPRneuron: public neuron
{
 public:
  LPRneuron(int, double *);
  LPRneuron(int, vector<int>, double *);
  virtual ~LPRneuron() { }
  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 LPR_p_type[LPR_PNO]= {
  1,      // 0 - gNa: Na conductance [muS] paper
  0,      // 1 - ENa: Na equi potential in mV
  1,      // 2 - gCa1: first Ca conductance
  1,      // 3 - gCa2: second Ca conductance
  1,      // 4 - goCa: KCa conductance
  0,      // 5 - EK: K rev. potential
  1,      // 6 - gd: Kd conductance in [muS]
  1,      // 7 - gA: A channel conductance
  1,      // 8 - gh: Ih channel conductance
  0,      // 9 - EIh: Ih channel rev. potential
  1,      // 10 - gleak: leak conductance neuropil
  0,      // 11 - Eleak: leak reversal potential
  1,      // 12 - Cmem: membrane capacitance neuropil
  1,      // 13 - c_iCa: factor in Ca dynamics [mM/pCb]
  1,      // 14 - k_Ca: time scale Ca removal [1/ms]
  1,      // 15 - tfac: rescaling all taum/tauh
  0,      // 16 - Vshift: shift of V to outside world
  0,      // 17 - IDC: DC input current to set dyn. regime
  1,      // 18 - tfac_fast: recaling fast taum/tauh (Na, Kd)
  1,      // 19 - gVV: conductance between neuropil & soma
  1,      // 20 - Cs: capacitance of soma
  1,      // 21 - gleaks: leak conduct. soma
  1,      // 22 - RTF
  1,      // 23 - AreaAxon
  1,      // 24 - Area
  1,      // 25 - k_aCa1
  1,      // 26 - k_bCa1
  1,      // 27 - k_aCa2
  0,      // 28 - V_aCa1
  0,      // 29 - V_bCa1
  0,      // 30 - V_aCa2
  1,      // 31 - s_aCa1
  1,      // 32 - s_bCa1
  1,      // 33 - s_aCa2
  1,      // 34 - P_Ca
  1,      // 35 - Ca_out
  0,      // 36 - V_kbCa1
  1,      // 37 - s_kbCa1
  1,      // 38 - k_oa
  1,      // 39 - k_ob
  0,      // 40 - V_ao1
  0,      // 41 - V_ao2
  1,      // 42 - s_ao1
  1,      // 43 - s_ao2
  1,      // 44 - f
  1,      // 45 - c1
  1,      // 46 - c2
  1,      // 47 - c3
  1,      // 48 - Ca_0
  1,      // 49 - k_aA
  1,      // 50 - k_bA1
  1,      // 51 - c_A2
  0,      // 52 - V_aA
  0,      // 53 - V_bA
  0,      // 54 - V_kbA2
  0,      // 55 - V_x
  1,      // 56 - s_aA
  1,      // 57 - s_bA
  1,      // 58 - s_kbA2
  1,      // 59 - s_x
  1,      // 60 - c_r
  0,      // 61 - V_r
  0,      // 62 - V_kr
  1,      // 63 - s_r
  1,      // 64 - s_kr
  1,      // 65 - I_scale
  0,      // 66 - E_M
  1,      // 67 - g_M
  1,      // 68 - k_M
  0,      // 69 - V_M
  1,      // 70 - s_M
  0,      // 71 - V_kM
  1       // 72 - s_kM
};

// for fitting purposes ... the LPR_p_sens(itivity) is basically the inverse
// of the slope of the deviation of the neuron model perturbed in a given
// parameter compared to the model with the original parameter set.
// see "test_params" and "calc_sensitivity" for more details

double LPR_p_sens[LPR_PNO]= {
  5e-10, // 0 - gNa: Na conductance [muS] paper
  1e-08, // 1 - ENa: Na equi potential in mV
  5e-10, // 2 - gCa1: first Ca conductance
  5e-10, // 3 - gCa2: second Ca conductance
  5e-10, // 4 - goCa: KCa conductance
  1e-08, // 5 - EK: K rev. potential
  5e-10, // 6 - gd: Kd conductance in [muS]
  5e-10, // 7 - gA: A channel conductance
  1e-9,  // 8 - gh: Ih channel conductance
  1e-07,  // 9 - EIh: Ih channel rev. potential
  1e-09, // 10 - gleak: leak conductance neuropil
  1e-09, // 11 - Eleak: leak reversal potential
  1e-09, // 12 - Cmem: membrane capacitance neuropil
  1e-09, // 13 - c_iCa: factor in Ca dynamics [mM/pCb]
  1e-09, // 14 - k_Ca: time scale Ca removal [1/ms]
  5e-10, // 15 - tfac: rescaling all taum/tauh
  1e-8,  // 16 - Vshift: shift of V to outside world
  5e-9,  // 17 - IDC: DC input current to set dyn. regime
  5e-10, // 18 - tfac_fast: recaling fast taum/tauh (Na, Kd)
  1e-9,  // 19 - gVV: conductance between neuropil & soma
  1e-9,  // 20 - Cs: capacitance of soma
  1e-9,  // 21 - gleaks: leak conduct. soma
  1e-09, // 22 - RTF
  1e-9,  // 23 - AreaAxon
  1e-9,  // 24 - Area
  1e-9,  // 25 - k_aCa1
  1e-09, // 26 - k_bCa1
  1e-08, // 27 - k_aCa2
  1e-09, // 28 - V_aCa1
  1e-09, // 29 - V_bCa1
  1e-07, // 30 - V_aCa2
  1e-11, // 31 - s_aCa1
  1e-09, // 32 - s_bCa1
  1e-08, // 33 - s_aCa2
  5e-10, // 34 - P_Ca
  5e-10, // 35 - Ca_out
  1e-08, // 36 - V_kbCa1
  5e-10, // 37 - s_kbCa1
  1e-08, // 38 - k_oa
  1e-08, // 39 - k_ob
  5e-08, // 40 - V_ao1
  1e-08, // 41 - V_ao2
  1e-09, // 42 - s_ao1
  5e-10, // 43 - s_ao2
  1e-08, // 44 - f
  1e-09, // 45 - c1
  1e-09, // 46 - c2
  1e-09, // 47 - c3
  5e-9,  // 48 - Ca_0
  1e-08, // 49 - k_aA
  1e-07, // 50 - k_bA1
  1e-08, // 51 - c_A2
  1e-08, // 52 - V_aA
  1e-08, // 53 - V_bA
  1e-07, // 54 - V_kbA2
  1e-06, // 55 - V_x
  5e-10, // 56 - s_aA
  1e-9,  // 57 - s_bA
  1e-08, // 58 - s_kbA2
  1e-07, // 59 - s_x
  5e-08, // 60 - c_r
  1e-07, // 61 - V_r
  1e-06, // 62 - V_kr
  1e-08, // 63 - s_r
  1e-07, // 64 - s_kr
  1e-9,  // 65 - I_scale
  1e-07, // 66 - E_M
  1e-9,  // 67 - g_M
  1e-9,  // 68 - k_M
  1e-8,  // 69 - V_M
  1e-9,  // 70 - s_M
  1e-8,  // 71 - V_kM
  1e-9,  // 72 - s_kM
};


#endif

Loading data, please wait...