- Mapping to simulation environments
- Placing Cell Mechanism on Cells
- Copying Cell Mechanism between projects
A Cell Mechanism (previously referred to as Cell Process), as used in neuroConstruct is an abstraction of an electrophysiological mechanism present on a cell.
The three main types are Channel Mechanism, Synaptic Mechanism and Ion Concentration (although 2 more: Point process and Gap junction are being added). The Cell Mechanisms available in a neuroConstruct project are listed under tab Cell Mechanism. New Cell Mechanisms can be added, and the existing ones edited/deleted here.
There are two ways to create Cell Proceses in neuroConstruct:
- ChannelML based Cell Mechanism: The parameters of the Cell Mechanism are stored in a ChannelML file
- File based Cell Mechanism: The core of the Cell Mechanism is contained in files written in the native language of simulators (e.g. NMODL)
The Abstracted Cell Mechanism was an older approach to implementing simulator independent Cell Mechanisms without XML. It is no longer in use.
Each Cell Mechanism will have:
- A unique Mechanism Instance Name by which the Mechanism Model coupled with a specific Parameter Set is known
- A Mechanism Type: currently either a Channel Mechanism, Synaptic Mechanism or an Ion Concentration
- A Mechanism Model: the conceptual model behind the Cell Mechanism. A Synaptic Mechanism could be modelled as a Double or Single Exponential Synapse, for example. ChannelML based Cell Mechanisms have Mechanism Model: Template based ChannelML file
- A Description, which is a short text description of the Cell Mechanism
- A Parameter Set for the variables in the model (e.g. a Double Exponential Synapse will have rise/decay time of conductance, etc.) In ChannelML based Cell Mechanisms these are contained in an XML file
- Templates containing the mapping to the scripting language of one or more simulation environments (e.g. NEURON, GENESIS) for which implementations of the Cell Mechanism are available.
Mapping to simulation environments
How neuroConstruct creates the native script codes implementing the Cell Mechanisms (mod files/GENESIS scripts) is as follows:
When the files for a simulation environment (e.g. NEURON) need to be generated, neuroConstruct first checks which Cell Mechanisms are included on each of the Cell Types in the network (see below). If there is not an implementation of that Cell Mechanism for the simulation environment (i.e. a template of the scripting code is present) an error will be thrown.
In the case of a File based Cell Mechanisms, the core of the script implementing the Cell Mechanism is already present, e.g. an almost complete mod file is specified for a mapping to NEURON. All that needs to be replaced in the file is the Cell Mechanism name and a maximum conductance (density), as outlined here. These parameters are inserted into the file, a complete native script is generated (and, if needed, compiled) and so the Cell Mechanism can be used by other files which define the cells.
For a ChannelML based Cell Mechanism all of the important parameters are present in the XML file. The mappings to native scripts takes place by transforming the XML using an XSL (EXtensible Stylesheet Language) document. XSL allows easy transformation of an XML file into another format, basically restructuring the information present in the file. XSL documents are present for each simulation environment, which take the values in the ChannelML file (e.g. maximum conductance density) and place them in the correct location in partially written native script files. Examples of valid ChannelML files and mappings to simulators can be found here, or opening a ChannelML based Cell Mechanism in neuroConstruct will allow inspection of the XML, editing of the parameters, validation of the file and preview of the mapping to NEURON or GENESIS
Placing Cell Mechanism on Cells
Cell Mechanism need to be placed on cells before the native script files are generated.
Inclusion of Synaptic Mechanism on cells is outlined in the Network Connections tutorial.
To place Channel Mechanisms on cells, go to the tab Visualisation, select the cell name in the drop down box and press View.
Note that Channel Mechanisms, like Synaptic Connection Locations, are associated with Section Groups as opposed to sections. Therefore the Groups of Sections which have similar channel densities should be constructed first by selecting Groups in the bottom right drop down box. Click Edit Groups, or for a simple cell, use the existing Groups. Now select Cell density mechanisms in the drop down box, and click Edit Density Mechanisms. In the drop down box of the dialog, all the Cell Mechanism of Mechanism Type: Channel Mechanism will be listed (if there are none, go to tab Cell Mechanisms, click Add ChennelML from Template and add at least a Leak conductance). Select one of these and for each Group with this Channel Mechanism add it to the list. The Max Conductance Density of the channel needs to be specified. NOTE: This overwrites the Max Conductance Density as specified in the Parameter Set/ChannelML file. All other parameter values remain the same.
Once a number of channels are added, the densities can be seen back in the Visualisation view. For a Channel Mechanism with different densities on different Groups, a shaded colour between the maximum and minimum is shown.
Copying Cell Mechanism between projects
To copy a Cell Mechanism present in one project to another, go to the directory cellMechanisms in the project's home directory, and copy the folder named after the cell mechanism into the cellMechanisms directory of the target project. That project should now have the cell mechanism listed under the tab Cell Mechanisms. Note: make sure there was not already a mechanism with that name before pasting. Also, problems may be caused if the project is under version control (CVS or Subversion); remove any CVS or .svn directories from the pasted directory.