Biophysically realistic neural modeling of the MEG mu rhythm (Jones et al. 2009)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:136803
"Variations in cortical oscillations in the alpha (7–14 Hz) and beta (15–29 Hz) range have been correlated with attention, working memory, and stimulus detection. The mu rhythm recorded with magnetoencephalography (MEG) is a prominent oscillation generated by Rolandic cortex containing alpha and beta bands. Despite its prominence, the neural mechanisms regulating mu are unknown. We characterized the ongoing MEG mu rhythm from a localized source in the finger representation of primary somatosensory (SI) cortex. Subjects showed variation in the relative expression of mu-alpha or mu-beta, which were nonoverlapping for roughly 50% of their respective durations on single trials. To delineate the origins of this rhythm, a biophysically principled computational neural model of SI was developed, with distinct laminae, inhibitory and excitatory neurons, and feedforward (FF, representative of lemniscal thalamic drive) and feedback (FB, representative of higher-order cortical drive or input from nonlemniscal thalamic nuclei) inputs defined by the laminar location of their postsynaptic effects. ..."
Reference:
1 . Jones SR, Pritchett DL, Sikora MA, Stufflebeam SM, Hämäläinen M, Moore CI (2009) Quantitative analysis and biophysically realistic neural modeling of the MEG mu rhythm: rhythmogenesis and modulation of sensory-evoked responses. J Neurophysiol 102:3554-72 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network;
Brain Region(s)/Organism: Neocortex;
Cell Type(s): Neocortex V1 L6 pyramidal corticothalamic GLU cell; Neocortex V1 L2/6 pyramidal intratelencephalic GLU cell;
Channel(s): I Na,t; I T low threshold; I K; I h;
Gap Junctions:
Receptor(s): GabaA; GabaB; AMPA; NMDA;
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Activity Patterns; Touch;
Implementer(s):
Search NeuronDB for information about:  Neocortex V1 L6 pyramidal corticothalamic GLU cell; Neocortex V1 L2/6 pyramidal intratelencephalic GLU cell; GabaA; GabaB; AMPA; NMDA; I Na,t; I T low threshold; I K; I h;
// Used to set weights for Mu generations allowing for reduced weights during
// evoked signal.
// usage: E-fffbx(max-weight-non-evoked,max-weight-evoked,feed-back delay,
//        Feed-back-factor)
//Feed-back-factor is used to change the weight of the FB relative to FF
//max-weight-evoked is used during the time window from 550-850ms only
//feed-back delay is delay between ongoing FF and FB inputs MuBursts_10.hoc
objref GSrand
GSrand=new Random() 

proc e_fffbx(){local i, fbdelay, weight

fbdelay=$3
GSrand.uniform($1,$1)
//
// 150-450ms
for i=10, 49{
weight=GSrand.repick()
FeedtoII(1,0, weight,100,0,100,alphagid(FF_type, i))  //Feed-forward connection
weight=GSrand.repick()
FeedtoII(5,0, weight,100,0,100,alphagid(FF_type, i)) //Feed-forward connection
weight=GSrand.repick()
FeedtoII(6,0, weight, 100,0,100,alphagid(FF_type, i)) //Feed-forward connection
weight=GSrand.repick()
FeedtoIL2(0, weight *2, 100,0,100,alphagid(FF_type, i)) //Feed-forward connection
//

weight=GSrand.repick()
FeedtoV(1,0, weight, 100,1,100,alphagid(FF_type, i)) //Feed-forward connection
weight=GSrand.repick()
FeedtoV(6,0, weight, 100,1,100,alphagid(FF_type, i)) //Feed-forward connection
weight=GSrand.repick()
FeedtoV(7,0, weight, 100,1,100,alphagid(FF_type, i)) //Feed-forward connection
weight=GSrand.repick()
FeedtoIL5(0, weight *2,100,1,100,alphagid(FF_type, i)) //Feed-forward connection
//

weight=GSrand.repick()
FeedtoII(3,0, weight*$4,100,fbdelay,100,alphagid(FB_type, i)) //Feed-Back connection
weight=GSrand.repick()
FeedtoIL2(0, weight*$4 , 100,fbdelay,100,alphagid(FB_type, i)) //Feed-Back connection
weight=GSrand.repick()
FeedtoV(4,0, weight*$4, 100,fbdelay,100,alphagid(FB_type, i)) //Feed-Back connection

}
// 950-1450ms
for i=90, 149{
weight=GSrand.repick()
FeedtoII(1,0, weight,100,0,100,alphagid(FF_type, i))  //Feed-forward connection
weight=GSrand.repick()
FeedtoII(5,0, weight,100,0,100,alphagid(FF_type, i)) //Feed-forward connection
weight=GSrand.repick()
FeedtoII(6,0, weight, 100,0,100,alphagid(FF_type, i)) //Feed-forward connection
weight=GSrand.repick()
FeedtoIL2(0, weight *2, 100,0,100,alphagid(FF_type, i)) //Feed-forward connection
//

weight=GSrand.repick()
FeedtoV(1,0, weight, 100,1,100,alphagid(FF_type, i)) //Feed-forward connection
weight=GSrand.repick()
FeedtoV(6,0, weight, 100,1,100,alphagid(FF_type, i)) //Feed-forward connection
weight=GSrand.repick()
FeedtoV(7,0, weight, 100,1,100,alphagid(FF_type, i)) //Feed-forward connection
weight=GSrand.repick()
FeedtoIL5(0, weight *2,100,1,100,alphagid(FF_type, i)) //Feed-forward connection
//

weight=GSrand.repick()
FeedtoII(3,0, weight*$4,100,fbdelay,100,alphagid(FB_type, i)) //Feed-Back connection
weight=GSrand.repick()
FeedtoIL2(0, weight*$4 , 100,fbdelay,100,alphagid(FB_type, i)) //Feed-Back connection
weight=GSrand.repick()
FeedtoV(4,0, weight*$4, 100,fbdelay,100,alphagid(FB_type, i)) //Feed-Back connection

}
//
GSrand.uniform($2,$2)
// 550-850ms. during evoked signal
for i=50, 89{
weight=GSrand.repick()
FeedtoII(1,0, weight,100,0,100,alphagid(FF_type, i))  //Feed-forward connection
weight=GSrand.repick()
FeedtoII(5,0, weight,100,0,100,alphagid(FF_type, i)) //Feed-forward connection
weight=GSrand.repick()
FeedtoII(6,0, weight, 100,0,100,alphagid(FF_type, i)) //Feed-forward connection
weight=GSrand.repick()
FeedtoIL2(0, weight *2, 100,0,100,alphagid(FF_type, i)) //Feed-forward connection
//

weight=GSrand.repick()
FeedtoV(1,0, weight, 100,1,100,alphagid(FF_type, i)) //Feed-forward connection
weight=GSrand.repick()
FeedtoV(6,0, weight, 100,1,100,alphagid(FF_type, i)) //Feed-forward connection
weight=GSrand.repick()
FeedtoV(7,0, weight, 100,1,100,alphagid(FF_type, i)) //Feed-forward connection
weight=GSrand.repick()
FeedtoIL5(0, weight *2,100,1,100,alphagid(FF_type, i)) //Feed-forward connection
//

weight=GSrand.repick()
FeedtoII(3,0, weight*$4,100,fbdelay,100,alphagid(FB_type, i)) //Feed-Back connection
weight=GSrand.repick()
FeedtoIL2(0, weight*$4 , 100,fbdelay,100,alphagid(FB_type, i)) //Feed-Back connection
weight=GSrand.repick()
FeedtoV(4,0, weight*$4, 100,fbdelay,100,alphagid(FB_type, i)) //Feed-Back connection

}
}