Mitral cell activity gating by respiration and inhibition in an olfactory bulb NN (Short et al 2016)

 Download zip file 
Help downloading and running models
Accession:183300
To explore interactions between respiration, inhibition, and olfaction, experiments using light to active channel rhodopsin in sensory neurons expressing Olfactory Marker Protein were performed in mice and modeled in silico. This archive contains NEURON models that were run on parallel computers to explore the interactions between varying strengths of respiratory activity and olfactory sensory neuron input and the roles of periglomerular, granule, and external tufted cells in shaping mitral cell responses.
Reference:
1 . Short SM, Morse TM, McTavish TS, Shepherd GM, Verhagen JV (2016) Respiration Gates Sensory Input Responses in the Mitral Cell Layer of the Olfactory Bulb. PLoS One 11:e0168356 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network; Neuron or other electrically excitable cell;
Brain Region(s)/Organism: Olfactory bulb;
Cell Type(s): Olfactory bulb main mitral GLU cell; Olfactory bulb main interneuron periglomerular GABA cell; Olfactory bulb main interneuron granule MC GABA cell; Olfactory bulb main tufted cell external;
Channel(s):
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Activity Patterns; Sensory processing; Sensory coding; Bursting; Oscillations; Olfaction;
Implementer(s): Morse, Tom [Tom.Morse at Yale.edu];
Search NeuronDB for information about:  Olfactory bulb main mitral GLU cell; Olfactory bulb main interneuron periglomerular GABA cell; Olfactory bulb main interneuron granule MC GABA cell;
Files displayed below are from the implementation
/
ShortEtAl2016
event_generator
gauss.hoc
gen_events.hoc
                            
// gauss.hoc
// gauss(x, mu, sigma) returns the gaussian (normal) distribution
// value for these parameters

root2pi_=sqrt(2*PI)
func gauss() { local x, mu, sigma
  x=$1
  mu=$2
  sigma=$3
  return exp(-(x-mu)*(x-mu)/(2*sigma*sigma))/(sigma*root2pi_)
}

// uni_gauss has peak height equal to one
func uni_gauss() { local x, mu, sigma
  x=$1
  mu=$2
  sigma=$3
  return exp(-(x-mu)*(x-mu)/(2*sigma*sigma))
}

// below assumes global variables mu and sigma are created
mu=0 // center of gaussian
sigma=1  // width
func gauss_x() {
  return gauss($1, mu, sigma)
}
func uni_gauss_x() {
  return uni_gauss($1, mu, sigma)
}

/*
objref g
g=new Graph()
objref x_vec, y_vec
x_vec = new Vector()
y_vec = new Vector()
x_vec.indgen(-100, 100, .1)

for sigma=99,101 {

y_vec = x_vec.c.apply("uni_gauss_x")

y_vec.line(g, x_vec)
}
g.exec_menu("View = plot")

*/

Loading data, please wait...