Submitting your own channels

We have tried making evaluating your channel models, implemented in NEURON .mod files, as simple as possible.

After uploading your .mod file, our servers will run a set of voltage clamp protocols on your channel model, in order to determine its kinetic identitiy. The resulting current response traces are then scored and compared against the scores of all the other models currently in our database.

Note

The current version supports comparison for all classes of models except KCa, i.e. you can upload Kv, Nav, Cav and Ih channels. Support for KCa will be added in the near future.

Coding guidelines

To allow us to automatically run your model on our servers, please make sure your .mod file adheres to the following guidelines. Please let us know if you have followed the coding guidelines and your mod file still does not run.

  1. Initialize all variables in the .mod file itself. E.g., ensure that maximum conductance is set.

    Include all functions and data in the .mod file itself. The current version does not support extra files to be run along with the mod file.

  2. Ensure that the “SUFFIX” statement is on a separate line. This is necessary because the simulation code needs to extract the name of the suffix from the mod file, which automatically looks for the second word in the line that contains the string “SUFFIX”.

    e.g., invalid line:

    NEURON {SUFFIX kv
    valid line:
    NEURON {
        SUFFIX kv

  3. Make the reversal potential a global variable with the appropriate names:
    • “ek” for Kv, KCa channels - include the line “GLOBAL ek”
    • “ena” for Nav channels - include the line “GLOBAL ena”
    • “eca” for Cav channels - include the line “GLOBAL eca”
    • “eh” for Ih channels - include the line “GLOBAL eh”
  4. Include a USEION statement with the appropriate ion type and name of ionic current:
    • include the line “USEION k READ ek WRITE ik” for Kv
    • include the line “USEION na READ ena WRITE ina” for Nav
    • include the line “USEION ca READ eca WRITE ica” for Cav
    • include both “USEION k READ ek WRITE ik” and “USEION ca READ cai” for KCa
    • include the line “NONSPECIFIC_CURRENT i” for Ih
  5. Ensure that mod file has only one ionic current of the desired type, and no additional currents (may cause errors) — e.g., include only one USEION statement (but two for KCa)
  6. Remove POINTER variables as they will prevent the file from being compiled.

To begin the upload process, please create an account and follow the instructions on the MyIcg page (this page will only load once you are logged in).

Example .mod file

Here, we have downloaded a channel from ModelDB that is not yet included in the database: 184054_kad.mod.

To adhere to the coding guidelines (point 1 - setting constants), all we had to do is change one line (get the patch here) to initialize the variable gkabar:

@@ -27,7 +27,7 @@

         temp    =   24                 (degC)

-        gkabar                         (mho/cm2)
+        gkabar = 1.0                   (mho/cm2)

         vhalfn  =   -1                 (mV)
         a0n     =   .1                 (/ms)

You can download the modified .mod file here, to try out the channel upload process.

Next to uploading .mod files, we offer the possibility of automativally evaluating and scoring traces of normalized currents given directly as data files. Due to size restrictions, each condition has to be uploaded on its own, and should be given as files smaller than 1.5Mb. A .gzipped text file of current responses sampled at the similar temporal resolution as the voltage clamp timeseries below will adhere to this restriction.

You can download the voltage clamp timeseries needed to perform your own experiments here (KCa channel protocols will be made available soon):

These are gzipped tarballs containing plain text timeseries for each of the stimulus conditions. These should be used to generate the corresponding current readings, in a similar plain text format.

To prepare files for uploading, please gzip each of the plaintext files each for the stimulus conditions. Then, create an account and follow the instructions on the MyIcg page (this page will only load once you are logged in).

Example traces

Here, we have generated traces with a Kv channel from ModelDB that is not yet included in the database: 184054_kad.mod.

The gzipped traces are available to download here, ready for you to try out the channel upload process for the Kv class directly.