ModelDB is moving. Check out our new site at https://modeldb.science. The corresponding page is https://modeldb.science/245071.

Hippocampal CA1 pyramidal cell demonstrating dynamic mode switching (Berteau & Bullock 2020)

 Download zip file 
Help downloading and running models
Accession:245071
A simulated proposed single-cell mechanism for CA1’s behavior as an associative mismatch detector. Shifts in spiking mode (accomplished via KCNQ interaction with chloride leak currents) signal matches vs. mismatches.
Reference:
1 . Berteau S, Bullock D (2020) Simulations reveal how M-currents and memory-based inputs from CA3 enable single neuron mismatch detection for EC3 inputs to the CA1 subfield of hippocampus Journal of Neurophysiology, accepted
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell; Predictive Coding Network;
Brain Region(s)/Organism: Hippocampus;
Cell Type(s):
Channel(s): I M; I Cl, leak; I Na, slow inactivation;
Gap Junctions:
Receptor(s): Gaba; Glutamate; Cholinergic Receptors;
Gene(s):
Transmitter(s): Glutamate; Gaba; Acetylcholine;
Simulation Environment: Python;
Model Concept(s): Activity Patterns; Coincidence Detection; Rate-coding model neurons; Bursting;
Implementer(s): Berteau, Stefan [berteau at bu.edu];
Search NeuronDB for information about:  Glutamate; Gaba; Cholinergic Receptors; I M; I Cl, leak; I Na, slow inactivation; Acetylcholine; Gaba; Glutamate;
Requirements:
Python (3.7 known to work)
scipy (1.3.0 known to work)
numpy (1.17.3 known to work)
matplotlib (3.1.0 known to work)

Instructions to reproduce the figures from the accompanying article:

Figure 1 is not original simulation results, reproduced from an experimental work with permission.  Setting the lambdas and timing parameters to those found in the text <insert parameters here> and uncommenting lines 

Figure 2: The raster plots incorporated into this figure can be obtained by running CA1_Simulation.py three times.  Ensure that lines 385-414 (marked "Uncomment this to plot the raster of input populations") are uncommented.  To get the match condition, run it once with the primed variable (line 21) set to True.  For the unmatched condition, run it once with the primed variable set to False.  For the "novelty per se" condition run it once with the primed variable set to True but the predictionELambda and predictionILambda variables (lines 63 and 64) set to 0.0001 instead of their usual 0.01.

Figure 3: The voltage traces incorporated into this figure can be obtained by running CA1_Simulation.py three times.  Ensure that lines 261-270 (marked "Uncomment this to plot the Basal Voltage Trace") are uncommented.  To get the match condition, run it once with the primed variable (line 21) set to True.  For the unmatched condition, run it once with the primed variable set to False.  For the "novelty per se" condition run it once with the primed variable set to True but the predictionELambda and predictionILambda variables (lines 63 and 64) set to 0.0001 instead of their usual 0.01.

Figure 4:  The voltage traces incorporated into this figure can be obtained by running CA1_Simulation.py four times.  Ensure that lines 261-270 (marked "Uncomment this to plot the Basal Voltage Trace") are uncommented.  For the "Reduced EC3 Priming Excitation" plots, change the pharmas variable to 'noEPrime' (comment line 30 and uncomment line 36) and set the sensoryELambda variable on line 66 to 0.0001.  Then run the program once with the primed variable (line 21) set to True (for the match condition), and once with it set to False (for mismatch).  For the "Reduced EC3 Priming Inhibition" plots, change the pharmas variable to 'noIPrime' (comment line 30 and uncomment line 37)and set the sensoryILambda variable on line 67 to 0.0001.  Then run the program once with the primed variable (line 21) set to True (for the match condition), and once with it set to False (for mismatch).

Figure 5:  The voltage traces incorporated into this figure can be obtained by running CA1_Simulation.py four times.  Ensure that lines 261-270 (marked "Uncomment this to plot the Basal Voltage Trace") are uncommented.  For the "KCNQ Agonism" plots, change the pharmas variable to 'Retigabine' (comment line 30 and uncomment line 32) and set the Retigabine variable to True on line 25.  Then run the program once with the primed variable (line 21) set to True (for the match condition), and once with it set to False (for mismatch).  For the "KCNQ Antagonism" plots, change the pharmas variable to 'ACh' (comment line 30 and uncomment line 34) and set the ACh variable to True on line 24.  Ensure that the Retigabine variable has been returned to False if you set it to True before, then run the program once with the primed variable (line 21) set to True (for the match condition), and once with it set to False (for mismatch).

Figure 6:  The voltage traces incorporated into this figure can be obtained by running CA1_Simulation.py four times.  Ensure that lines 261-270 (marked "Uncomment this to plot the Basal Voltage Trace") are uncommented.  For the "KCNQ Agonism" plots, change the pharmas variable to 'Retigabine' (comment line 30 and uncomment line 32) and set the Retigabine variable to True on line 25.  Then run the program once with the primed variable (line 21) set to True (for the match condition), and once with it set to False (for mismatch).  For the "KCNQ Antagonism" plots, change the pharmas variable to 'ACh' (comment line 30 and uncomment line 34) and set the ACh variable to True on line 24.  Ensure that the Retigabine variable has been returned to False if you set it to True before, then run the program once with the primed variable (line 21) set to True (for the match condition), and once with it set to False (for mismatch).

Figure 7: The plots contained in this figure can be generated by running CA1_Robustness.py exactly as distributed.  Please note that since this is a stochastic process the exact plots generated may vary.

Loading data, please wait...