Layer V PFC pyramidal neuron used to study persistent activity (Sidiropoulou & Poirazi 2012)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:144089
"... Here, we use a compartmental modeling approach to search for discriminatory features in the properties of incoming stimuli to a PFC pyramidal neuron and/or its response that signal which of these stimuli will result in persistent activity emergence. Furthermore, we use our modeling approach to study cell-type specific differences in persistent activity properties, via implementing a regular spiking (RS) and an intrinsic bursting (IB) model neuron. ... Collectively, our results pinpoint to specific features of the neuronal response to a given stimulus that code for its ability to induce persistent activity and predict differential roles of RS and IB neurons in persistent activity expression. "
Reference:
1 . Sidiropoulou K, Poirazi P (2012) Predictive features of persistent activity emergence in regular spiking and intrinsic bursting model neurons. PLoS Comput Biol 8:e1002489 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell;
Brain Region(s)/Organism:
Cell Type(s): Neocortex L5/6 pyramidal GLU cell;
Channel(s): I Na,p; I Na,t; I L high threshold; I A; I K; I K,Ca; I CAN;
Gap Junctions:
Receptor(s): GabaA; GabaB; AMPA; NMDA; IP3;
Gene(s):
Transmitter(s): Gaba; Glutamate;
Simulation Environment: NEURON;
Model Concept(s): Activity Patterns; Detailed Neuronal Models;
Implementer(s): Sidiropoulou, Kyriaki [sidirop at imbb.forth.gr];
Search NeuronDB for information about:  Neocortex L5/6 pyramidal GLU cell; GabaA; GabaB; AMPA; NMDA; IP3; I Na,p; I Na,t; I L high threshold; I A; I K; I K,Ca; I CAN; Gaba; Glutamate;
/
PFCcell
lib
basic-graphics.hoc *
choose-secs.hoc
current-balance.hoc
cut-sections.hoc *
distance.hoc
ken.h *
map-segments-to-3d.hoc *
mod_func.c *
newshiftsyn *
newshiftsyn.c *
num-rec.h *
salloc.hoc
vector-distance.hoc *
verbose-system.hoc *
                            
// set the pointers for AMPA, NMDA, GABA_A or GABA_B synapses
// to a defined location

//econ.xopen_library("Terrence","find-gmax")

proc salloc() { local nmdaR
// $o1 and $o2 are the first 2 arguments to this function
// They should be an AMPA and NMDA synapse or a
// GABA_A and GABA_B synapse

// .loc() places them at a normalized and segment-resolved position [0..1] 
// along the section	 

  $o1.loc($3)
  $o2.loc($3)

// here we call a library function to figure out the maximum AMPA
// conductance which should be used at this synapse based on synapse
// tunings calculated from a previously run tuning experiments

// this number will be anywhere from 0.5nS to 5nS depending on what
// was required to generate a 5mV local depolarization
  $o1.gmax = find_gmax($3) 

// next we decide what the NMDA-AMPA gmax ratio should be --- ie,
// a Mainen-Sejnowski article suggested that maximum NMDA should be
// (0.6)*gbar_AMPA. 

  nmdaR = deduce_ratio()

// Assuming (and expecting and hoping!) that the first object passed in
// was an AMPA synapse and the second object passed in was an NMDA
// synapse, then the NMDA synapses' gbar_NMDA is now changed by a factor
// of nmdaR

  $o2.gmax=$o1.gmax*nmdaR
//  printf("ampa: %g nmda: %g * %g\n", $o1.gmax, $o1.gmax, nmdaR)
}

// This is a variation of the above designed to work with
// GABA syns as well as AMPA syns.

// It is a work in progress.
proc SALLOC() { local ratio, ampa_flag
        ampa_flag=0
        ampa_flag=$4
  $o1.loc($3)
  $o2.loc($3)
        if (ampa_flag) {
                $o1.gmax=find_gmax($3) 
                nmdaR=deduce_ratio()
                $o2.gmax=$o1.gmax*nmdaR
//                printf("ampa: %g nmda: %g * %g\n", $o1.gmax, $o1.gmax, nmdaR)
        } else {
                $o1.gmax=GABA_AMPA_RATIO*find_gmax($3) 
                nmdaR=deduce_ratio()
                $o2.gmax=GABAB_GABAA_RATIO*$o1.gmax
//                printf("gabaa: %g gabab: %g * %g\n", $o1.gmax, $o1.gmax, GABAB_GABAA_RATIO)
        }
}


// same for GABAa synapses

proc SALLOC_GABAa() { local flag
        flag=0
        flag=$3
        $o1.loc($2)

        if (flag){  
            $o1.gmax=GABA_AMPA_RATIO*find_gmax($2) // as a function of ampa conductance 
        } else {
            $o1.gmax = $4
        }
//        printf("gabaa: %g\n", $o1.gmax)
        
}

// same for GABAb synapses

proc SALLOC_GABAb() { local flag
        flag=0
        flag=$3
        $o1.loc($2)

        if (flag){  
            $o1.gmax=GABAb_GABAa_RATIO*(GABA_AMPA_RATIO*find_gmax($2)) // as a function of ampa conductance 
        } else {
            $o1.gmax = $4
        }
//        printf("gabab: %g\n", $o1.gmax)
        
}

// display synaptic locations on a graph

proc salloc2() {
/*
  $o1.loc($3)
  $o2.loc($3)
  $o1.gmax=find_gmax($3) 
  $o2.gmax=$o1.gmax*deduce_ratio()
  print $o1, $o1.gmax
  print $o2, $o2.gmax
*/
  salloc($o1,$o2,$3)    
  if ($4) {
    $o5.point_mark($o1,$6)
  }
}