A unified thalamic model of multiple distinct oscillations (Li, Henriquez and Fröhlich 2017)

 Download zip file 
Help downloading and running models
Accession:233509
We present a unified model of the thalamus that is capable of independently generating multiple distinct oscillations (delta, spindle, alpha and gamma oscillations) under different levels of acetylcholine (ACh) and norepinephrine (NE) modulation corresponding to different physiological conditions (deep sleep, light sleep, relaxed wakefulness and attention). The model also shows that entrainment of thalamic oscillations is state-dependent.
Reference:
1 . Li G, Henriquez C, Fröhlich F (2017) Unified Thalamic Model Generates Multiple Distinct Oscillations with State-dependent Entrainment by Stimulation PLOS Computational Biology 13(10):e1005797
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network;
Brain Region(s)/Organism: Thalamus;
Cell Type(s): Thalamus geniculate nucleus/lateral principal GLU cell; Thalamus reticular nucleus GABA cell; Thalamus lateral geniculate nucleus interneuron;
Channel(s): I Na,t; I K; I h; I L high threshold; I T low threshold; I_AHP; I CAN; I K,leak;
Gap Junctions: Gap junctions;
Receptor(s): AMPA; NMDA; GabaA;
Gene(s):
Transmitter(s): Acetylcholine; Norephinephrine;
Simulation Environment: C or C++ program;
Model Concept(s): Sleep; Activity Patterns; Gamma oscillations; Oscillations; Brain Rhythms;
Implementer(s): Li, Guoshi [guoshi_li at med.unc.edu];
Search NeuronDB for information about:  Thalamus geniculate nucleus/lateral principal GLU cell; Thalamus reticular nucleus GABA cell; GabaA; AMPA; NMDA; I Na,t; I L high threshold; I T low threshold; I K; I K,leak; I h; I CAN; I_AHP; Acetylcholine; Norephinephrine;

#define OSC 1   // 1: Delta; 2: Spindle; 3: Alpha; 4: Gamma

// Simulation time
#define	t_end  3000.0     // Delta: 3000 ms; Alpha and Gamma: 2000 ms; Spindle: 4000 ms
                          // When stimulation is applied, the simulation time is 52000 ms if 1-50 Hz is simulated


// Stimulation Input
#define FLAG_STIMULATION_LGN_PULSE  0    // 0: No stimulation; 1: Pulsatile input to LGN
#define FLAG_STIMULATION_TRN_PULSE  0    // 0: No stimulation; 1: Pulsatile input to TRN

#define STIM_START_TIME     1000         // Stimulation start time
#define STIM_DURATION       1000000      // The maximal stimulation time
#define STIM_STEP_DURATION  1000         // Stimulation step duration

#define PULSE_ON_DURATION   10           // Pulse duration
#define STIM_MAX_F          50           // Maximal stimulation frequency

#define STIM_F0             0            // Initial frequency
#define STIM_F_INCREMENT    1            // Stimulation increment step
#define STIM_AMP            0.1          // Stimulation amplitude in nA


// Spindle-triggering inputs
#define SPIN_T0   1000    // Onset time of spindle-triggering input
#define SPIN_TT    100    // Spindle-triggering input duration
#define SPIN_F     0.1    // Spindle triggering input frequency

#define SPIN_AMP  0.1    // Spindle triggering input amplitude
#define SPIN_X    10     // Subset of RE_X receiving spindle-triggering input
#define SPIN_Y    10     // Subset of RE_Y receiving spindle-triggering input

// Random seed
#define RAND_SEED 100
#define PI   3.14159

// Current injection
#define FLAG_CURRENT_INJECTION 0

// Random Background Inputs
#define FLAG_RANDOM_INPUT  1
#define RANDOM_F_TC  0.1     // Random input frequency; 0.1 per ms (100 Hz)

#define N_INPUT_TC1  1      // Number of random background input
#define N_INPUT_TC2  1


// Reversal potential
#define ENA           50
#define EK           -90
#define E_GABA_RE    -70

// Short-term depression parameters
#define TAU_STD      700
#define F_USE_SPIKE  0.07


// Connection ON/OFF
#define FLAG_TC1_TC1_GAP 1
#define FLAG_TC2_TC1_GAP 1
#define FLAG_RE_RE_GAP   1

#define FLAG_TC1_IN  1
#define FLAG_IN_TC2  1

#define FLAG_RE_IN   1
#define FLAG_RE_RE   1

#define FLAG_TC1_RE  1
#define FLAG_TC2_RE  1

#define FLAG_RE_TC1  1
#define FLAG_RE_TC2  1


#define FLAG_TC2_TC2 0    // The RTC-RTC connections are not active !


// Connection probability
#define P_TC1_TC1_GAP  0.3
#define P_TC2_TC1_GAP  0.3
#define P_RE_RE_GAP    0.3

#define P_TC2_GAP      0.2 // Percentage of RTCs that have gap junctions with HTCs
#define P_RE_GAP       0.2 // Percentage of REs that have gap junctions with other REs

#define P_TC1_IN   0.3
#define P_IN_TC2   0.3

#define P_TC1_RE   0.2
#define P_TC2_RE   0.2
#define P_RE_TC1   0.2
#define P_RE_TC2   0.2

#define P_RE_RE    0.2
#define P_RE_IN    0.05

#define P_TC2_TC2  0.2

// Turn STD ON/OFF
#define STD_TC1_IN   1
#define STD_IN_TC2   1
#define STD_RE_IN    1

#define STD_RE_RE    1

#define STD_TC1_RE   1
#define STD_TC2_RE   1

#define STD_RE_TC1   1
#define STD_RE_TC2   1

#define STD_TC2_TC2  0


// Gap junctional resistance
#define R_TC1_TC1 100   // in MOhm
#define R_TC1_TC2 300   // in MOhm
#define R_RE_RE   300   // in MOhm

#define D_TC1_TC1  2   // Radius of the gap junctions
#define D_TC2_TC1  2
#define D_TC2_TC2  2
#define D_RE_RE    2


// Maximal conductance
#define g_AMPA_TC1_IN 0.006    // (in uS)
#define g_NMDA_TC1_IN 0.003    // (in uS)

#define g_AMPA_TC1_RE 0.004
#define g_NMDA_TC1_RE 0.002

#define g_AMPA_TC2_RE 0.004
#define g_NMDA_TC2_RE 0.002

#define g_AMPA_TC2_TC2 0.002
#define g_NMDA_TC2_TC2 0.001

// GABA
#define g_GABA_RE_TC2 0.003
#define g_GABA_RE_TC1 0.003

#define g_GABA_IN_TC2 0.003

#define g_GABA_RE_IN  0.001
#define g_GABA_RE_RE  0.001



//====================================================================
//       Leakage conductance at different states
//====================================================================

// HTC
#define GL1_TC1  0.0075     // lower bound of the regular leak
#define GL2_TC1  0.0125     // upper bound of the regular leak

#define GKL_TC1_S1 0.035     // potassium leak in Delta       (Low ACh/NE)
#define GKL_TC1_S2 0.01      // potassium leak in Spindle     (Medium ACh/NE)
#define GKL_TC1_S3 0.0       // potassium leak in Alpha/Gamma (High ACh/NE)

// RTC
#define GL1_TC2  0.0075
#define GL2_TC2  0.0125

#define GKL_TC2_S1 0.035   // potassium leak in Delta
#define GKL_TC2_S2 0.01    // potassium leak in Spindle
#define GKL_TC2_S3 0.0     // potassium leak in Alpha/Gamma

// IN
#define GL1_IN  0.0075
#define GL2_IN  0.0125

#define GKL_IN_S1 0.01     // potassium leak in Delta
#define GKL_IN_S2 0.015    // potassium leak in Spindle
#define GKL_IN_S3 0.02     // potassium leak in Alpha/Gamma

// RE
#define GL1_RE  0.0075
#define GL2_RE  0.0125

#define GKL_RE_S1 0.03     // potassium leak in Delta
#define GKL_RE_S2 0.02     // potassium leak in Spindle
#define GKL_RE_S3 0.01     // potassium leak in Alpha/Gamma


//=============================================================
//            Cell numbers
//=============================================================
#define TC1_EX 1
#define TC2_EX 1
#define IN_EX  1
#define RE_EX  1

// HTC cells
#define N_TC1_X 7   // Cell number in the x direction
#define N_TC1_Y 7   // Cell number in the y direction
#define N_TC1 (N_TC1_X*N_TC1_Y)  // Total number of HTC cells

// RTC cells
#define N_TC2_X 12
#define N_TC2_Y 12
#define N_TC2 (N_TC2_X*N_TC2_Y)

// Interneurons
#define N_IN_X  8
#define N_IN_Y  8
#define N_IN (N_IN_X*N_IN_Y)

// RE cells
#define N_RE_X  10
#define N_RE_Y  10
#define N_RE (N_RE_X*N_RE_Y)


/*******************************************************************
//                Number of equations
*******************************************************************/

// Number of ODEs for each cell type
#define EQ_TC 14
#define EQ_IN 10
#define EQ_RE 9

#define N_EQ_TC1  (EQ_TC * N_TC1)
#define N_EQ_TC2  (EQ_TC * N_TC2)
#define N_EQ_IN   (EQ_IN * N_IN)
#define N_EQ_RE   (EQ_RE * N_RE)


#define N_EQ   N_EQ_TC1 + N_EQ_TC2 + N_EQ_IN + N_EQ_RE






Loading data, please wait...