
LCN-HippoModel Documentation¶
This is the documentation of the Laboratorio de Circuitos Neuronales (LCN) Hippo-Model.
The complete code is available here for free usage.
Documentation consists of a brief explanation about the model and its purposes, followed by the description of the code.
About LCN-HippoModel¶
One of the most studied brain rhythm is the theta rhythm. Theta (4-12 Hz) is considered the “on-line” status of the hippocampus, a highly rhythmic activity that acts as a synchronizer mechanism for encoding and information processing. During a theta cycle different neuronal populations of the hippocampus fire sequentially: each one at a distinct preferred phase. Moreover, it has been recently discovered that pyramidal neurons of the CA1 hippocampal region, generally considered a homogeneous population, can be classified into deep and superficial: not only each cell type shows a different preferred phase along theta cycles, but also a different response in other hippocampal rhythm, sharp wave-ripples, an oscillation associated to the consolidation of memory. Understanding how this coordination holds up hippocampal functions as spatial navigation and memory, is a major question in the field.
The LCN-HippoModel is a biophysically realistic model of CA1 pyramidal cells aimed to get novel insights on firing dynamics in deep and superficial populations during the theta rhythm, and the role of the differential contribution of realistic excitatory and inhibitory synaptic inputs and intrinsic properties.
The model includes known excitatory and inhibitory inputs, using morphologically reconstructions from NeuroMorpho (a public database), and a precise distribution of the main ion channels via the Hodking-Huxley multi-compartment formalism in the NEURON+Python platform.
To provide diversity among the pyramidal cells, we generated several sets of intrinsic properties and, called individuals, through a genetic algorithm (GA). The GA allowed us to identify a range of ionic conductances (called genes in the genetic algorithm terminology) that target experimental values in each given morphology. So our individuals are some of those set of genes that targeted experimental constraints. This procedure was repeated with the synaptic properties, so we ended up with several intrinsic and synaptic individuals that would give us heterogenous responses.
The LCN-HippoModel offers an easy way to test hypotheses about the role of different synaptic and intrinsic factors in the firing dynamics of CA1 pyramidal cells by simply changing experimental parameters defined in the LCNhm_configurationfile.
Code description¶
The LCN-HippoModel consists basically in this four scripts:
All of them are Python code, and use NEURON as an imported library.
There is a fifth script, that plots the morphology of the neuron, the recording sites and the membrane potentials, which is quite simple and can be sophisticated if needed. More description at the end of this page.
- LCNhm-plot
To run the simulation, you must to the open a terminal, go to the directory location where all the model is (eg.: /home/Projects/LCNhippomodel), and execute the main file:
>>> cd /home/Projects/LCNhippomodel/
>>> python LCNhm_main.py
This will run the simulation with the default parameters. For modification in the simulation properties or cell parameters, change the LCNhm_configurationfile, and run again the simulation.
To see the results, just add:
>>> python LCNhm_plot.py D20190730_T1030_First_Test
Let’s briefly describe them.
LCN-HippoModel Configuration File¶
target: |
It’s the only script thought to be modified. It contains all the simulation parameters:
The script in the in format:
so in order to change the parameters it’s just writing over the default values. It’s convenient to read the specifications in the documentation, because error may arise if the format is not the adequate. For instance, if you want to read more about the possible magnitudes that can be recorded, you can to go Search Page, and type “RECORDING_MAGNITUDE”. |
---|
LCN-HippoModel Main File¶
target: |
It is the main script, the core module of the LCN-HippoModel project. Its function is to:
The
It will add suffixes if the folder already exists:
It will contain:
Membrane potentials (Vmem) and membrane currents (Imem) along time of each recording site is saved in different rows. Position is saved in different rows for each recording site |
---|
LCN-HippoModel Neuron-Class File¶
target: |
This script shapes the class from which our neurons will be built. Neurons will have the following attributes:
Access to all these properties is possible by: Eg.:
>>> Pyramidal = neuron_class(MorphoName = CELLPROP_MORPHOLOGY,
IntrinsicFactors = IntrinsicFactors,
SynapticFactors = SynapticFactors,
CurrentFactors = CurrentFactors,
DirLocation = DIR_LOCATION )
>>> print Pyramidal.MorphoName
sup1
The way the neuron is built is following these steps:
|
---|
LCN-HippoModel Functions File¶
target: |
This script has all functions except from the LCNhm_class and its methods. Within its miscellaneous purposes, there are:
|
---|
LCN-HippoModel Plot File¶
This script is quite simple; it takes data from the
LCNhm_main.FolderName
LCNhm-results
’s subfolder, and plot it. It shows on the left, the cell morphology and the recording sites, and on the right the membrane potentials.To properly use this, you must type on the terminal
python LCNhm_plot.py
followed by the name of the experiment that you want to be plotted (LCNhm_configurationfile.DIR_LOCATION
).Eg.:
>>> python LCNhm_plot.py D20190730_T1030_First_Test