State dependent drug binding to sodium channels in the dentate gyrus (Thomas & Petrou 2013)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:149174
A Markov model of sodium channels was developed that includes drug binding to fast inactivated states. This was incorporated into a model of the dentate gyrus to investigate the effects of anti-epileptic drugs on neuron and network properties.
Reference:
1 . Thomas EA, Petrou S (2013) Network-specific mechanisms may explain the paradoxical effects of carbamazepine and phenytoin. Epilepsia 54:1195-202 [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; Channel/Receptor;
Brain Region(s)/Organism:
Cell Type(s): Dentate gyrus granule GLU cell; Dentate gyrus mossy cell; Dentate gyrus basket cell; Dentate gyrus hilar cell;
Channel(s): I Na,t; I A; I_AHP;
Gap Junctions:
Receptor(s): GabaA; AMPA;
Gene(s):
Transmitter(s): Gaba; Glutamate;
Simulation Environment: NEURON; MATLAB;
Model Concept(s): Ion Channel Kinetics; Epilepsy; Calcium dynamics; Drug binding; Markov-type model;
Implementer(s): Thomas, Evan [evan at evan-thomas.net];
Search NeuronDB for information about:  Dentate gyrus granule GLU cell; GabaA; AMPA; I Na,t; I A; I_AHP; Gaba; Glutamate;
/
ThomasPetrou2013
Fig 4
Data
bgka.mod *
CaBK.mod *
ccanl.mod *
Gfluct2.mod *
gskch.mod *
hyperde3.mod *
ichan2.mod
LcaMig.mod *
nad.mod
nca.mod *
tca.mod *
apchew.m
async.hoc
runall.py
                            
#!/usr/bin/python

import os, sys

if os.name == 'nt':
    # Whadya know, windows still can't multitask properly
    try:
        from win32process import SetPriorityClass, GetCurrentProcess, \
             HIGH_PRIORITY_CLASS, NORMAL_PRIORITY_CLASS, \
             REALTIME_PRIORITY_CLASS, IDLE_PRIORITY_CLASS
        # Drop priority so that we can still use the computer
        SetPriorityClass(GetCurrentProcess(), IDLE_PRIORITY_CLASS)
    except:
        pass


def submit(c):
    print c
    os.system(c)

def IsFileDone(freq, drug, concentration, Eleak):
    fn = 'Data/M2I10sp_%d_%s_%g_%g.txt' % (freq, drug, concentration, Eleak)
    if not os.path.exists(fn):
        return False
    fh = open(fn)
    lines = fh.readlines()
    line = lines[-1]
    words = line.split()
    try:
        tm = float(words[0])
    except ValueError:
        return False
    if tm > 190:
        return True
    else:
        return False

drugnames = ['none', 'phenytoin', 'carbamazepine']
nrniv = '/Volumes/NEURON-7.2/NEURON-7.2/nrn/i386/bin/nrniv -dll /Users/dugsy/Dropbox/Projects/NaDrugs/Async/i386/.libs/libnrnmech.so'
for freq in [10, 20, 50]:
    for Eleak in [-70, -60, -50]:
        for drugcombo in [[0, 0], [1, 100], [2, 200]]:
            drugopt = drugcombo[0]
            concentration = drugcombo[1]
            drug = drugnames[drugopt]
            if not IsFileDone(freq, drug, concentration, Eleak):
                c = nrniv + ' -nobanner -c freq=%d -c drugopt=%d -c concentration=%g -c Eleak=%g async.hoc' % \
                (freq, drugopt, concentration, Eleak)
                submit(c)