Mechanisms of very fast oscillations in axon networks coupled by gap junctions (Munro, Borgers 2010)

 Download zip file 
Help downloading and running models
Accession:120907
Axons connected by gap junctions can produce very fast oscillations (VFOs, > 80 Hz) when stimulated randomly at a low rate. The models here explore the mechanisms of VFOs that can be seen in an axonal plexus, (Munro & Borgers, 2009): a large network model of an axonal plexus, small network models of axons connected by gap junctions, and an implementation of the model underlying figure 12 in Traub et al. (1999) . The large network model consists of 3,072 5-compartment axons connected in a random network. The 5-compartment axons are the 5 axonal compartments from the CA3 pyramidal cell model in Traub et al. (1994) with a fixed somatic voltage. The random network has the same parameters as the random network in Traub et al. (1999), and axons are stimulated randomly via a Poisson process with a rate of 2/s/axon. The small network models simulate waves propagating through small networks of axons connected by gap junctions to study how local connectivity affects the refractory period.
Reference:
1 . Munro E, Börgers C (2010) Mechanisms of very fast oscillations in networks of axons coupled by gap junctions. J Comput Neurosci 28:539-55 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network; Neuron or other electrically excitable cell; Axon;
Brain Region(s)/Organism: Hippocampus;
Cell Type(s): Hippocampus CA3 pyramidal GLU cell;
Channel(s): I Na,t; I K;
Gap Junctions: Gap junctions;
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: C or C++ program;
Model Concept(s): Oscillations; Detailed Neuronal Models; Axonal Action Potentials; Epilepsy; Conduction failure;
Implementer(s): Munro, Erin [ecmun at math.bu.edu];
Search NeuronDB for information about:  Hippocampus CA3 pyramidal GLU cell; I Na,t; I K;
#include <stdlib.h>
#include <stdio.h>
#include "connections.h"
#include "gap_junction.h"

static double g_gj; // gap junctions conductance in uS
static double *pac; // pointer to array of voltage of penultimate axonal compartment of everyone
static int (*conn)[4]; // gap junction connections (max 4 conn, -1 if no conn)

void gap_junction_setup(int n_cells, int (*connections)[4],double conductance){
  extern double g_gj;
  extern double *pac;
  int i,j;

  g_gj = conductance;
  pac = (double*)calloc(n_cells,sizeof(double));
  if(pac == NULL){
    fprintf(stderr,"Calloc failed to allocated memory for gap junctions"
            "database.\n");
  }
  conn = connections;
}

double* gap_junction_database(){
  // needed to update voltages
  extern double *pac;
  return pac;
}

double gap_junction_conductance(){
  extern double g_gj;
  return g_gj;
}

void gap_junction_set_conductance(double conductance){
  extern double g_gj;
  g_gj = conductance;
}

void gap_junction_dismantle_database(){
  extern double *pac;
  free(pac);
}

double gap_junction_current(int id, double t){
  extern double *pac;
  extern int (*conn)[4];
  extern double g_gj;
  double I = 0;
  int j = 0;
  
  while(j<4 && conn[id][j] != -1){
    //printf("Adding current from %d to %d\n",conn[id][j],id);
    I = I + g_gj*(pac[conn[id][j]] - pac[id]);
    j = j+1;
  }
  
  return I;
}