Synaptic integration of an identified nonspiking interneuron in crayfish (Takashima et al 2006)

 Download zip file 
Help downloading and running models
Accession:84599
This GENESIS simulation shows how a single or compound excitatory synaptic potential evoked by mechanosensory stimulation spreads over the dendrites of the LDS interneuron that is one of the identified nonspiking interneurons in the central nervous system of crayfish Procambarus clarkii. The model is based on physiological experiments carried out by Akira Takashima using single-electrode voltage clamp techniques and also 3-D morphometry of the interneuron carried out by Ryou Hikosaka using confocal laser scanning microscopic techniques. The physiological and morphological studies were coordinated by Masakazu Takahata.
Reference:
1 . Takashima A, Hikosaka R, Takahata M (2006) Functional significance of passive and active dendritic properties in the synaptic integration by an identified nonspiking interneuron of crayfish. J Neurophysiol 96:3157-69 [PubMed]
2 . Takahata M, Takashima A, Hikosaka R (2000) Information processing by nonspiking interneurons: passive and active properties of dendritic membrane determine synaptic integration. Biosystems 58:143-9 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Dendrite;
Brain Region(s)/Organism:
Cell Type(s): Crayfish identified nonspiking interneuron;
Channel(s): I A; I K; I Potassium;
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: GENESIS;
Model Concept(s): Influence of Dendritic Geometry; Invertebrate; Synaptic Integration;
Implementer(s): Takahata, Masakazu [takahata at sci.hokudai.ac.jp];
Search NeuronDB for information about:  I A; I K; I Potassium;
// genesis - outputs.g -
// Functions used for data save and changing cell parameter

// This file was developed by
//       Akira Takashima.
//       Department of Biological Sciences
//       Faculry of Science
//       Hokkaido University
//       Sapporo Japan
//
//       Last update on 22 Jan. 2007


//================================================
//   functions used in the change cell parameter
//================================================

function change_dend

    float diameter 
    float length  
    float Rm, Cm, Ra
    float dia_mag 
    float length_mag
    
    pushe /cell

    int NumComp = 492   
    int i
    

    for( i = 1; i <= {NumComp}; i = i+1 )
        dia_mag = 1.27 //{getfield /output/cell_menu/diameter value}
        length_mag = 1 //{getfield /output/cell_menu/length value}
        diameter = {dia_mag}*{getfield /cell/dend[{i}] dia}
        length = {length_mag}*{getfield /cell/dend[{i}] len}
        Rm = {getfield /cell/dend[{i}] Rm}
        Cm = {getfield /cell/dend[{i}] Cm}
        Ra = {getfield /cell/dend[{i}] Ra}

        setfield /cell/dend[{i}] dia {diameter} len {length}


        Rm = {Rm}/({dia_mag}*{length_mag}) 
        Cm = {Cm}*{dia_mag}*{length_mag}
//        Ra = {Ra}*{length_mag}/({dia_mag}*{dia_mag})
        
        setfield /cell/dend[{i}]  Rm {Rm} Cm {Cm} Ra {Ra} 
    end
    echo "All dendrite area were changed!" 
    pope
end   



function shrink_comp

    float diameter 
    float length  
    float Rm, Cm, Ra
    float dia_mag 
    float length_mag
    
    pushe /cell
    
    dia_mag = {getfield /output/cell_menu/diameter value}
    length_mag = {getfield /output/cell_menu/length value}
    diameter = {dia_mag}*{getfield /cell/soma dia}
    length = {length_mag}*{getfield /cell/soma len}
    Rm = {getfield /cell/soma Rm}
    Cm = {getfield /cell/soma Cm}
    Ra = {getfield /cell/soma Ra}

    setfield /cell/soma dia {diameter} len {length}   
                                              
    Rm = {Rm}/({dia_mag}*{length_mag}) 
    Cm = {Cm}*{dia_mag}*{length_mag}   
    Ra = {Ra}*{length_mag}/({dia_mag}*{dia_mag})
 
    setfield /cell/soma Rm {Rm} Cm {Cm} Ra {Ra}



    int NumComp = 492   
    int i
    

    for( i = 1; i <= {NumComp}; i = i+1 )
        dia_mag = {getfield /output/cell_menu/diameter value}
        length_mag = {getfield /output/cell_menu/length value}
        diameter = {dia_mag}*{getfield /cell/dend[{i}] dia}
        length = {length_mag}*{getfield /cell/dend[{i}] len}
        Rm = {getfield /cell/dend[{i}] Rm}
        Cm = {getfield /cell/dend[{i}] Cm}
        Ra = {getfield /cell/dend[{i}] Ra}

        setfield /cell/dend[{i}] dia {diameter} len {length}


        Rm = {Rm}/({dia_mag}*{length_mag}) 
        Cm = {Cm}*{dia_mag}*{length_mag}   
        Ra = {Ra}*{length_mag}/({dia_mag}*{dia_mag})
        
        setfield /cell/dend[{i}]  Rm {Rm} Cm {Cm} Ra {Ra} 
    end
    echo "Shrinkage is compensated!" 
    pope
end   



function change_soma

    float diameter 
    float length  
    float Rm, Cm, Ra
    float dia_mag
    float length_mag
    pushe /cell
    
    dia_mag = 5 
    length_mag = 1 
    diameter = {dia_mag}*{getfield /cell/soma dia}
    length = {length_mag}*{getfield /cell/soma len}
    Rm = {getfield /cell/soma Rm}
    Cm = {getfield /cell/soma Cm}
    Ra = {getfield /cell/soma Ra}

    setfield /cell/soma dia {diameter} len {length}   
                                              
    Rm = {Rm}/({dia_mag}*{length_mag}) 
    Cm = {Cm}*{dia_mag}*{length_mag}   
//    Ra = {Ra}*{length_mag}/({dia_mag}*{dia_mag})
 
    setfield /cell/soma Rm {Rm} Cm {Cm} Ra {Ra}
    echo "Soma area was changed!"
end


 
//============================================
//   functions used in the add/remove menu
//============================================

function add_cable_plot
  // cable section to plot (numbered from 1)
  int section
  section = ({getfield /output/plot_menu/add value})
  if ({exists /cell/dend[{section-1}]/logtable})
     echo "Plot already exists!"
     return
  end
  if ((section) < 1)
     echo "In our notation, the first cable compartment is #1."
     return
  end

/*  if ((section) = 0)
    pushe /output/somagraphs
    
    
    addmsg /cell/soma/K_tab_chan somaGm_grf PLOT Gk \
        *"soma_"  *blue
    
    addmsg /cell/soma/Kfast_tab_chan somaGm_grf PLOT  Gk \
        *"soma"  *red  
   
    addmsg /cell/soma/D_tab_chan somaGm_grf PLOT  Gk \
        *"soma"  *green   
    pope
    reset
  end        */
     
  if ((section) > 493)
    echo "There are only "493" dendrite compartments!"
  else
    pushe /output/somagraphs
    addmsg /cell/dend[{section}] somaVm_grf PLOT Vm  \
        *"cable_"{section} *blue
    
    addmsg /cell/dend[{section}]/K_tab_chan somaGm_grf PLOT Gk \
        *"cable_"{section}  *blue
    
    addmsg /cell/dend[{section}]/Kfast_tab_chan somaGm_grf PLOT  Gk \
        *"cable_"{section}  *red  
   
    addmsg /cell/dend[{section}]/D_tab_chan somaGm_grf PLOT  Gk \
        *"cable_"{section}  *green   
    pope
    echo "Vm and Gm  plots added for dend compartment #"{section}
    // needed to initialize the table
    reset
  end
end


function remove_cable_plots
  int i, n, nmsg
  int NCableSects
  NCableSects = 492
  for (i = 1; i < {NCableSects}; i = i + 1)
     nmsg = {getmsg /cell/dend[{i}] -outgoing -count}
      for (n = 0; n < nmsg; n = n + 1)
       if ({getmsg /cell/dend[{i}] -outgoing -destination {n}} == "/output/somagraphs/somaVm_grf")
echo deleting message {n}
       deletemsg /cell/dend[{i}]/K_tab_chan 1  -outgoing
       deletemsg /cell/dend[{i}]/Kfast_tab_chan 1  -outgoing
       deletemsg /cell/dend[{i}]/D_tab_chan 1  -outgoing 
       deletemsg /cell/dend[{i}]  {n} -outgoing // should be"PLOT Vm"                  message
        
       break       // bail out of "for" loop - we found the message
       
      end      // if
     end     // for n
     
    
  end  // for i

  setfield /output/plot_menu/add value 0

  reset

  echo "Plotting of Vm for cable compartments disabled."
end



//EOF