Support for NeuroML in neuroConstruct
Listed here are all the possible ways neuroConstruct can import/export data in NeuroML format
Cell morphologies (Levels 1-3)
neuroConstruct uses an internal data model for cells which is closely linked to MorphML. See here for more details.
Level 1: only the anatomy of the cell (MorphML description)
IMPORT: go to Cell Types press Add new Cell Type to project... and select NeuroMLConverter in the scroll down menu.
EXPORT: go to Export -> NeuroML tab and press Export all Cell Types with the Level 1 button selected, a file for each cell type will be saved in the generatedNeuroML folder of the current project.
Level 2: Level 1 plus cell biophysics (passivel electrical properties and channel placement)
IMPORT: go to Cell Types tab press Add new Cell Type to project... and select NeuroMLConverter in the scroll down menu. Note that there should be channel mechanisms present in the project with names corresponding to those in the <biophysics> element of the file.
EXPORT: go to Export -> NeuroML tab and press Export all Cell Types with the Level 2 button selected, a file for each cell type will be saved in the generatedNeuroML folder of the current project.
Level 3: Level 2 plus network aspects (allowed locations of synapse types)
IMPORT: go to Cell Types press Add new Cell Type to project... and select NeuroMLConverter in the scroll down menu. Note that there should be channel and synaptic mechanisms present in the project with names corresponding to those in the <biophysics> and <connectivity> elements of the file.
EXPORT: go to Export -> NeuroML tab and press Export all Cell Types with the Level 3 button selected, a file for each cell type will be saved in the generatedNeuroML folder of the current project.
ChannelML
ChannelML files can be used for Cell Mechanisms in neuroConstruct. They can be used for channels (e.g. Na+, K+ distributed ion channels), synapses (fixed and plastic chemical synaptic mechanisms), gap junctions, ion concentrations (e.g. pool of internal Ca2+) and point processes (e.g. simple integrate and fire mechanisms). The ChannelML file, a number of XSL mappings to simulators and a properties.xml file are stored for each cell mechanism in the cellMechanism folder of a neuroConstruct project. Details of the process to convert an existing channel script, e.g. a mod file, to ChannelML is outlined here
IMPORT: to use a ChannelML based cell mechanism in neuroConstruct, ensure the file only contains a single <channel_type> element, go to the Cell Mechanisms tab, press Create ChannelML Mechanism, name the new mechanism and select the file containing the ChannelML description. XSL mappings for NEURON and GENESIS can be found under templates/xmlTemplates/Schemata/vx.x.x/Level2 in the local folder of neuroConstruct. Alternatively, a small number of example ChannelML mechanisms can be imported (and altered afterwards) by pressing Add ChannelML from Template.
EXPORT: go to Export -> NeuroML tab and press Generate all NeuroML scripts, a file for each ChannelML based cell mechanism is saved in the generatedNeuroML folder of the current project.
NetworkML
NetworkML files can be saved and reloaded in neuroConstruct in either XML or HDF5 formats.
The NetworkML files read by neuroConstruct can come from any application which generates valid NetworkML, but nothe that the cell group and cell type names used in the <populations> element, and the network connection names used in the <projections> element must match the names of these already present in the project.
Included with neuroConstruct are a number of Python scripts, and these allow reading/writing of NetworkML (in the pythonNeuroML/Examples folder in the install directory) and interaction with neuroConstruct through Jython to generate a network which can then be saved as NetworkML (e.g. Ex4_SaveNetworkML.py in the pythonnC folder in the install directory). More details can be found here.
IMPORT: go to the Generate tab, press Load NetworkML and select the XML or HDF5 file containing the NetworkML description.
EXPORT: go to the Generate tab, press Save NetworkML, a NetworkML description of the generated network will be saved in the savedNetworks folder of the current project.
Level 3 NeuroML
neuroConstruct is able to generate and import and export single files containing all the model elements covered from Levels 1-3. This file is fully NeuroML compliant and allow easy exchange of self-sufficient models between neuroConstruct users.
IMPORT: select File -> Import NeuroML Levels 1, 2, 3... from the main menu and select the Level 3 file to be imported. If the file contains elements (e.g. cell types) with the same names as are used in the project, warnings will be shown. It is possible to import a Level 3 file into a new, empty project (or select Import NeuroML Levels 1, 2, 3... when no project is open) and neuroConstruct specific entities (e.g. 3D Regions) will be created to accomodate the elements in the file.
EXPORT: go to Export -> NeuroML tab and press Generate all NeuroML scripts with the Generate single NeuroML Level 3 file box ticked, a single file containing all the generated elements will be saved in the savedNetworks folder of the current project. Tick the Add neuroConstruct annotations box if you wish to include the neuroConstruct specific settings like regions, simulation configurations etc. This will still produce a valid NeuroML Level 3 file (other applications can ignore these annotations), but this will facilitate importing the model in the file into a new neuroConstruct project.