Prototypes directory for neurokit. Developed by U.S. Bhalla. This directory contains a variety of compartments, concens, and ion channels, both voltage and ligand gated, which have been implemented in Genesis. Additions to this library are extremely welcome. In order for prototypes to be compatible with the neurokit utility, the following guidelines should be adhered to : ********************************************************************** All of the files should be executable by the command include <filename> Dependencies on other files should be explicitly stated and kept to a minimum. The format of the files are : 1 The //genesis header 2 In comments, the following information about the file : Contents of file Author and sources of data Conventions used Dependencies on other files 3 A set of constant definitions. 4 functions for creating individual prototypes onto the current element. For channels, these functions are of the form: function make_channelname if ({exists(channelname)}) return end // channel creation routine. end The channelname should be chosed carefully to avoid overlap with other names. I would suggest a syntax channel_cell_suffix with the suffix identifying multiple versions of the same channel. I have adopted a convention of using the authors of the original reference for the channel parameters as the suffix. In many cases this does not do justice to the considerable efforts involved in converting the source data to hh-type parameters. Appropriate credits should be given in the comments section (2). Similar guidelines apply to non-channel of prototypes. ********************************************************************** A list of all prototypes defined in this directory is maintained in the file LIST. It should be updated every time a new prototype is added. Also in this directory is a file called 'library.g' which sets up the library element and some utility functions. It provides a way of using these prototypes if you do not want to do so in the context of neurokit. ********************************************************************** As a general rule, all prototypes should be made onto the /library element. In order for complex channels implemented as multiple Genesis elements, (such as those which interact with calcium concentration) to be handled by the cell builder, the following rules must be followed : There must be a parent element for all the other elements in the channel. This element has be the current carrying component of the channel, and in all cases so far is of the class vdep_channel. All the message passing between the elements composing the channel must be specified, with the exception of the messages between the compartment and the channel. When messages must be passed between different prototypes, then the environment message passing scheme can be used. Units must be set appropriately according to the mode of the cell builder. In the default modes, the read_cell command scales conductances and Ca concentration parameters according to the dimensions of the compartment.