Add more 'default' mechanisms to Cell Builder

NMODL and the Channel Builder.
Post Reply
Posts: 2
Joined: Fri Dec 05, 2008 6:00 am

Add more 'default' mechanisms to Cell Builder

Post by fespin »

I would like to use new 'default' mechanims to the Cell Builder. I have two questions.

1) Where does GUI read mechanisms and their parameters from? Is it from hoc, mod, or what type of document?

2) How do you add/import these mechanims and parameters to the biophysics section of the Cell Builder so they will show up by default.

Thank you
Site Admin
Posts: 5810
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine

Re: Add more 'default' mechanisms to Cell Builder

Post by ted »

fespin wrote:I would like to use new 'default' mechanims
The proper question is how to add mechanisms. "Default" mechanisms do not have to be added to NEURON because "default" means that they are already present.

New mechanisms can be added to NEURON by writing and compiling NMODL code, or by using the Channel Builder. For more information read
"Adding new mechanisms to NEURON"
in the
"Adding new mechanisms and functions to NEURON"
area of the NEURON Forum.

Compiling a mod file produces a new NEURON executable that, when launched, has the new mechanism available for use by hoc or any of the GUI tools--if the mechanism is a point process, it will appear in the menus of all GUI tools that manage point processes, and if it is a density mechanism, it will appear in the menus of all GUI tools that manage density mechanisms (e.g. CellBuilder).

If you create a channel specification with the Channel Builder, you should save that Channel Builder to a session file. Then the next time you run NEURON, you can use a load_file() or xopen() statement to read that session file; that will make the channel available to hoc and all relevant GUI tools. Example:
Suppose I have a session file called, which is for a CellBuilder that specifies a model of a spiny stellate cell, and I want to add a newly discovered potassium current called the "X current" to my model.
First, I use the Channel Builder to create a new channel with the desired name (let's call it kx), ionic selectivity, and gating properties, and save it to a session file called It is convenient to save it in the same directory as where my CellBuilder's ses file is located.
Next, I create a new hoc file called init.hoc, which contains just these lines:

Code: Select all

Finally I use NEURON to execute init.hoc (double click on init.hoc, or use the command line
nrngui init.hoc
), NEURON will start, recreate the Channel Builder, and recreate the CellBuilder. When I examine the CellBuilder's Biophysics page, I find that kx is one of the mechanisms that I can insert into my model cell.
Post Reply