GENESIS: Documentation

Related Documentation:

Recording Techniques in Electrophysiology

For a brief introduction to electrophysiological recording techniques see the Wikipedia article on Electrophysiology. An overview of the voltage clamp method can be found in the book Neuroscience (Purves D, Augustine GJ, Fitzpatrick D, Katz LC, LaMantia A-S, McNamara JO & Williams MS 2001. 2nd ed. Sinauer Associates. Sunderland, MA)–The Voltage Clamp Method or for a similar Wikipedia article see Voltage clamp. For a more detailed discussion of these techniques see the Axon Guide.

GENESIS Perfect Clamp Utility

The GENESIS perfect clamp utility provides a simple but “perfect” voltage or current clamp to one or more specified compartment(s) of a neuronal morphology. Here, we describe how to use it from the GENESIS Shell (G-Shell). We outline the creation and application of either a voltage or current clamp to the soma of a model Purkinje cell, how to check the clamp, run a simulation, and where to find the output.

It is assumed that you are familiar with the contents of the following GENESIS documentation: Tutorial 1 and Tutorial 2.

Running the Perfect Clamp Utility

  1. Start a GENESIS shell: From a terminal prompt, enter
       $ genesis-g3

  2. Load a cell morphology: As an example we use the De Schuter and Bower Purkinje cell model.
      genesis  > ndf_load cells/purkinje/edsjb1994.ndf

  3. Check to see if the input class template for the perfect clamp is available in the shell:
       genesis > inputclass_templates_show

    This request should generate the following output:

       all input class templates:  
          perfectclamp:  
             module_name: Experiment  
             options:  
                command: command value  
                name: name of this inputclass  
             package: Experiment::PerfectClamp

Create Voltage Clamp

  1. Create the voltage clamp circuitry object: Enter the following commands on a single input line:
       genesis > inputclass_add perfectclamp voltage_clamp_protocol name voltage_clamp_protocol command -0.060

    These commands create a voltage clamp object with a command voltage or holding potential of -60 mV. (Remember that GENESIS uses SI units.)

  2. Check that the voltage clamp object has been created:
       genesis > inputclass_show

    This request should generate a description of the voltage clamp object you have just created:

       all input classes:  
          voltage_clamp_protocol:  
             module_name: Experiment  
             options:  
                command: -0.060  
                name: voltage_clamp_protocol  
             package: Experiment::PerfectClamp

Apply Voltage Clamp

  1. Apply the voltage clamp at the Purkinje cell soma:
       genesis > input_add voltage_clamp_protocol /Purkinje/segments/soma Vm

  2. Check that the voltage clamp has been correctly applied:
       genesis > input_show

    This request should return information about the voltage clamp input applied to the Purkinje cell soma:

       - component_name: /Purkinje/segments/soma  
          field: Vm  
          inputclass: voltage_clamp_protocol  
       

Create Current Clamp

  1. Create the current clamp circuitry object: Enter the following commands on a single input line:
       genesis > inputclass_add perfectclamp current_clamp_protocol name current_clamp_protocol command 1e-9

    These commands create a current clamp object with a command current of 1 nA. (Remember that GENESIS uses SI units.)

  2. Check that the current clamp object has been created:
       genesis > inputclass_show

    This request should generate a description of the current clamp object you have just created:

       all input classes:  
          current_clamp_protocol:  
             module_name: Experiment  
             options:  
                command: 1e-9  
                name: current_clamp_protocol  
             package: Experiment::PerfectClamp

Apply Current Clamp

  1. Apply the current clamp at the Purkinje cell soma:
       genesis > input_add current_clamp_protocol /Purkinje/segments/soma INJECT

  2. Check that the current clamp has been correctly applied:
       genesis > input_show

    This request should return information about the current clamp input applied to the Purkinje cell soma:

       - component_name: /Purkinje/segments/soma  
          field: INJECT  
          inputclass: current_clamp_protocol  
       

Add Output for Voltage or Current Clamp

  1. Add an output for the somatic clamp:
       genesis  > output_add /Purkinje/segments/soma Vm

  2. Add a dendritic output: Similarly, we can add an output for the voltage clamp to one or more dendritic compartments.
       genesis > output_add /Purkinje/segments/b0s01[56] Vm  
       genesis > output_add /Purkinje/segments/b1s06[137] Vm  
       . . .

    Note: For the model cell loaded, you can identify the path and name of dendritic segments with the following command:

       genesis > list_elements /Purkinje/segments

    This generates a (long) list of all segments in the morphology of the cell that is loaded. For more information about traversing the cell model see Tutorial 2.

Check Model, Run Simulation, and Find Output

  1. Check model prior to running simulation:
       genesis > check /Purkinje

  2. Run the simulation for 100 ms:
       genesis > run /Purkinje 0.1

  3. Where is the output?
       genesis > sh cat /tmp/output