Multitarget pharmacology for Dystonia in M1 (Neymotin et al 2016)

 Download zip file 
Help downloading and running models
Accession:189154
" ... We developed a multiscale model of primary motor cortex, ranging from molecular, up to cellular, and network levels, containing 1715 compartmental model neurons with multiple ion channels and intracellular molecular dynamics. We wired the model based on electrophysiological data obtained from mouse motor cortex circuit mapping experiments. We used the model to reproduce patterns of heightened activity seen in dystonia by applying independent random variations in parameters to identify pathological parameter sets. ..."
Reference:
1 . Neymotin SA, Dura-Bernal S, Lakatos P, Sanger TD, Lytton WW (2016) Multitarget Multiscale Simulation for Pharmacological Treatment of Dystonia in Motor Cortex. Front Pharmacol 7:157 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network; Molecular Network;
Brain Region(s)/Organism: Neocortex;
Cell Type(s): Neocortex L5/6 pyramidal GLU cell; Neocortex U1 L2/6 pyramidal intratelencephalic GLU cell; Neocortex V1 interneuron basket PV GABA cell; Neocortex fast spiking (FS) interneuron; Neocortex spiking regular (RS) neuron; Neocortex spiking low threshold (LTS) neuron; Neocortex layer 4 neuron; Neocortex layer 2-3 interneuron; Neocortex layer 4 interneuron; Neocortex layer 5 interneuron; Neocortex layer 6a interneuron;
Channel(s): I A; I h; I_SERCA; Ca pump; I K,Ca; I Calcium; I L high threshold; I T low threshold; I N; I_KD; I M; I Na,t;
Gap Junctions:
Receptor(s): GabaA; GabaB; AMPA; mGluR;
Gene(s): HCN1;
Transmitter(s): Gaba; Glutamate;
Simulation Environment: NEURON; Python;
Model Concept(s): Oscillations; Activity Patterns; Beta oscillations; Reaction-diffusion; Calcium dynamics; Pathophysiology; Multiscale;
Implementer(s): Neymotin, Sam [Samuel.Neymotin at nki.rfmh.org]; Dura-Bernal, Salvador [salvadordura at gmail.com];
Search NeuronDB for information about:  Neocortex L5/6 pyramidal GLU cell; Neocortex V1 interneuron basket PV GABA cell; Neocortex U1 L2/6 pyramidal intratelencephalic GLU cell; GabaA; GabaB; AMPA; mGluR; I Na,t; I L high threshold; I N; I T low threshold; I A; I M; I h; I K,Ca; I Calcium; I_SERCA; I_KD; Ca pump; Gaba; Glutamate;
/
dystdemo
readme.txt
cagk.mod *
cal.mod *
calts.mod *
can.mod *
cat.mod *
gabab.mod
h_winograd.mod
HCN1.mod
IC.mod *
icalts.mod *
ihlts.mod *
kap.mod
kcalts.mod *
kdmc.mod
kdr.mod
km.mod *
mglur.mod *
misc.mod *
MyExp2SynBB.mod *
MyExp2SynNMDABB.mod
nax.mod
stats.mod *
vecst.mod *
aux_fun.inc *
conf.py
declist.hoc *
decnqs.hoc *
decvec.hoc *
default.hoc *
drline.hoc *
geom.py
ghk.inc *
grvec.hoc *
init.hoc
labels.hoc *
labels.py *
local.hoc *
misc.h
mpisim.py
netcfg.cfg
nqs.hoc *
nqs.py
nrnoc.hoc *
pyinit.py *
python.hoc *
pywrap.hoc *
simctrl.hoc *
simdat.py
syn.py
syncode.hoc *
vector.py *
xgetargs.hoc *
                            
: Modified from https://senselab.med.yale.edu/modeldb/ShowModel.asp?model=150551&file=\AshhadNarayanan2013\mglur.mod
: Authors: Ashhad S and Narayanan R,  2013 

: this mod file was significantly altered - there should not be any
: ip3i (transmembrane current for ip3) since ip3 is generated within the membrane
: ip3 degradation is now handled by rxd
: units need adjustment

INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)}

NEURON {
  POINT_PROCESS mGLUR
  RANGE G, C, lastrelease
  RANGE Cmax, Cdur, Deadtime, K1, K2, initmGluR
  RANGE rip3 : ip3 production rate
  RANGE ip3 : mod-file internal ip3 produced, just need it for fluxes for ip3 production
  RANGE scalef : scaling factor to correct units
  RANGE degGluRate
  : USEION ip3 READ ip3i VALENCE 0 : only needed if want to see rxd's ip3 -- not required
}

UNITS {
  (mM) = (milli/liter)
  (uM)=  (micro/liter)
  (mA)    = (milliamp) 
}

PARAMETER {	
  initmGluR=0.3e-3 (mM): Bhalla & Iyenger Science  1999
  Cmax	= 1	(mM)		: max transmitter concentration
  Deadtime = 1	(ms)		: mimimum time between release events
  K1	= 0.28	(/ms uM)	: forward binding rate to receptor from Bhalla et al
  K2	= 0.016 (/ms)		: backward (unbinding) rate of receptor from Bhalla et al
  K_PLC = 5 (uM)		:total concentration of PLC
  K_PIP2 = 160 (uM)		:total concentration of PIP2
  K_G=25 (uM)
  :kplc and Vmax describe aPLC catalyzing IP3 production from PIP2
  kfplc = 0.83(/ms)
  kbplc = 0.68 (/ms) : 0.1/ms in the paper; added to Vmax1=0.58/ms in the paper
  Vmax1 = 0.58 (/ms)
  :D5 and D6 describe Glu_mGluR catalyzing G_alpha production, Km2=(D6f+D5B)/D5f
  D5f = 15 (/ms)
  D5b = 7.2 (/ms)
  D6f = 1.8(/ms)
  Vmax2 = 1.8 (/ms)
  Km2 = 0.6 (uM)
  :G2 describe aG binding to PLC
  G2f = 100 (/ms)
  G2b = 100 (/ms)
  :degradation of aG (D7f) and IP3 (G9f)
  D7f =9  (/ms)
  G9f = 0.75(/ms)  :4 in original paper
  Cdur=2 (ms)			: transmitter duration (rising phase)
  scalef = 1e10
  degGluRate = 1.0 (/ms) : should lookup value
}

ASSIGNED {
  C		(mM)		: transmitter concentration
  lastrelease	(ms)		: time of last spike
  rip3
}

STATE {
  aG				: fraction of activated G-protein
  aPLC_aG
  aPLC_PIP2
  Glu : glutamate
  degGlu : degraded glutamate (an unused garbage pool)
  Glu_mGluR
  GG_mGluR
  ip3
  : degip3
  mGluR
  PLC
  PIP2
  G
  ip3i
}

INITIAL {
  Glu = 0
  degGlu = 0
  Glu_mGluR = 0
  GG_mGluR = 0
  aPLC_aG=0 :0.0035 
  aPLC_PIP2=0
  aG =0: 0.0007
  ip3= 0
  G=K_G-(aG+GG_mGluR+aPLC_aG+aPLC_PIP2)
  PLC=K_PLC-(aPLC_aG+aPLC_PIP2)
  PIP2=K_PIP2-(aPLC_PIP2+ip3)
  mGluR=initmGluR
  lastrelease = -1e8
  rip3 = 0
  : degip3 = 0
}

BREAKPOINT {
  : evaluateC() : original
  SOLVE bindkin METHOD sparse
}

KINETIC bindkin { LOCAL a,b

  : ~ mGluR <-> Glu_mGluR (C*K1, K2) : original

  ~ Glu+mGluR <-> Glu_mGluR (K1, K2)
  ~ Glu <-> degGlu (degGluRate,0)

  ~ Glu_mGluR + G <-> GG_mGluR (D5f,D5b)
  ~ GG_mGluR <-> aG+mGluR (D6f,0)
  ~ aG <-> G (D7f,0)
  ~ aG+PLC <-> aPLC_aG (G2f, G2b)
  ~ aPLC_aG+PIP2 <-> aPLC_PIP2 (kfplc,kbplc)
  ~ aPLC_PIP2 <-> ip3 (Vmax1,0)
  rip3 = f_flux * scalef : only using this mod file for ip3 production, degradation done in rxd!
  : a = f_flux
  : ~ ip3 <-> degip3 (G9f,0)
  : b = f_flux
  : rip3 = (a - b) * scalef : scaled production rate
  :CONSERVE G+aG+GG_mGluR+aPLC_aG+aPLC_PIP2=K_G
  :CONSERVE PLC+aPLC_aG+aPLC_PIP2=K_PLC
  :CONSERVE PIP2+aPLC_PIP2+ip3=K_PIP2
}

PROCEDURE evaluateC() {
  LOCAL q
  q = ((t - lastrelease) - Cdur)		: time since last release ended
  if (q >= 0 && q <= Deadtime && C == Cmax) {	: in dead time after release
    C = 0.
  }
}

NET_RECEIVE (weight)  { 
  Glu = Glu + weight : this safe ?
: 
:  LOCAL q
:  q = ((t - lastrelease) - Cdur)		: time since last release ended
:  : Spike has arrived, ready for another release?
:  if (q > Deadtime) {
:    C = Cmax			: start new release
:    : shouldn't C increase by weight rather than Cmax so that NetCon weights have an effect??
:    lastrelease = t
:  } 
}