/* neuronal_epscs.main.mdl */ INCLUDE_FILE = "input_parameter_values.mdl" TIME_STEP = dt /* numerical variable values are defined in the include file "input_parameter_values.mdl" */ ITERATIONS = it EFFECTOR_GRID_DENSITY = 10000 PARTITION_X = [[-0.26 TO 0.26 STEP 0.025]] PARTITION_Y = [[-0.22 TO 0.22 STEP 0.025]] PARTITION_Z = [[-0.33 TO 0.33 STEP 0.025]] DEFINE_LIGAND Glu { DIFFUSION_CONSTANT = D_Glu } /* AMPA Glu receptor reaction mechanism as shown in book Fig. 4.7A (from Geiger et al., 1999). Positive pole of effector sites faces diffusion space. */ DEFINE_REACTION AMPA { C0 [>C1{AMPA_kC0C1:+Glu,POSITIVE_POLE}] C1 [>C2{AMPA_kC1C2:+Glu,POSITIVE_POLE}] [>C3{AMPA_kC1C3}][>C0{AMPA_kC1C0:-Glu,POSITIVE_POLE}] C2 [>O{AMPA_kC2O}][>C4{AMPA_kC2C4}] [>C1{AMPA_kC2C1:-Glu,POSITIVE_POLE}] C3 [>C4{AMPA_kC3C4:+Glu,POSITIVE_POLE}] [>C1{AMPA_kC3C1}] C4 [>C5{AMPA_kC4C5}][>C2{AMPA_kC4C2}] [>C3{AMPA_kC4C3:-Glu,POSITIVE_POLE}] C5 [>C4{AMPA_kC5C4}] [>O{AMPA_kC5O}] O [>C2{AMPA_kOC2}] [>C5{AMPA_kOC5}] REFERENCE_STATE C0 { Glu NUMBER_BOUND = 0 } } /* Glu reuptake reaction mechanism. Positive pole of effector sites faces diffusion space. */ DEFINE_REACTION GluT { T0 [>T1{GluT_kT0T1:+Glu,POSITIVE_POLE}] T1 [>T2{GluT_kT1T2}][>T0{GluT_kT1T0:-Glu,POSITIVE_POLE}] T2 [>T0{GluT_kT2T0:-Glu,NEGATIVE_POLE}] REFERENCE_STATE T0 { Glu NUMBER_BOUND = 0 } } /* Create release pattern to trigger Glu release at ~36 Hz, starting immediately at time 0. */ DEFINE_RELEASE_PATTERN train_1 { DELAY = 0 /* Initial release at time 0. */ RELEASE_INTERVAL = 0.028 /* 28 millisecond release interval. */ TRAIN_INTERVAL = 1 /* 1 second between trains. */ TRAIN_DURATION = 0.14 /* Train lasts for entire simulation. */ NUMBER_OF_TRAINS = 1 } /* Create release pattern to trigger Glu release at ~48 Hz, starting after a delay of 1.5 milliseconds. */ DEFINE_RELEASE_PATTERN train_2 { DELAY = 1.5e-3 /* Initial release at time 0.0015 seconds. */ RELEASE_INTERVAL = 0.021 /* 21 millisecond release interval. */ TRAIN_INTERVAL = 1 /* 1 second between trains. */ TRAIN_DURATION = 0.14 /* Train lasts for entire simulation. */ NUMBER_OF_TRAINS = 1 } /* Create release pattern to trigger Glu release at ~41 Hz, starting after a delay of 3 milliseconds. */ DEFINE_RELEASE_PATTERN train_3 { DELAY = 3.0e-3 /* Initial release at time 0.003 seconds. */ RELEASE_INTERVAL = 0.0245 /* 24.5 millisecond release interval. */ TRAIN_INTERVAL = 1 /* 1 second between trains. */ TRAIN_DURATION = 0.14 /* Train lasts for entire simulation. */ NUMBER_OF_TRAINS = 1 } /* Spherical mesh templates are read from include files. */ INCLUDE_FILE = "cell_membrane.mdl" INCLUDE_FILE = "diffusion_space_boundary.mdl" INSTANTIATE neuron OBJECT { /* 3 release sites at different locations are instantiated directly, rather than by referring to templates. In each case, the default (unspecified) release probability of 1 is used. */ Glu_release_site_1 SPHERICAL_RELEASE_SITE { LOCATION = [0.227,0,0] LIGAND = Glu NUMBER_TO_RELEASE = n /* Value of variable "n" defined in include file "input_parameter_values.mdl". */ SITE_DIAMETER = 0 RELEASE_PATTERN = train_1 } Glu_release_site_2 SPHERICAL_RELEASE_SITE { LOCATION = [0,0.227*0.8,0] LIGAND = Glu NUMBER_TO_RELEASE = n SITE_DIAMETER = 0 RELEASE_PATTERN = train_2 } Glu_release_site_3 SPHERICAL_RELEASE_SITE { LOCATION = [0,0,0.227*1.3] LIGAND = Glu NUMBER_TO_RELEASE = n SITE_DIAMETER = 0 RELEASE_PATTERN = train_3 } /* An asymmetric scaling transformation is used to convert spherical mesh templates into ellipsoidal objects. */ cell_membrane OBJECT inner_sphere {SCALE = [1,0.8,1.3]} diffusion_space_boundary OBJECT outer_sphere {SCALE = [1,0.8,1.3]} } VIZ_DATA_OUTPUT { MODE = DX STATE_VALUES { neuron.cell_membrane = 1 neuron.diffusion_space_boundary = 2 AMPA.C0 = 1 AMPA.C1 = 2 AMPA.C2 = 3 AMPA.C3 = 4 AMPA.C4 = 5 AMPA.C5 = 6 AMPA.O = 7 GluT.T0 = 8 GluT.T1 = 9 GluT.T2 = 10 Glu = 11 } MOLECULE_FILE_PREFIX = "neuron" OBJECT_FILE_PREFIXES { neuron = "neuron" } ITERATION_FRAME_DATA { SURFACE_POSITIONS = [0] SURFACE_STATES = [0] EFFECTOR_POSITIONS = [0] EFFECTOR_STATES = [[0 TO 500 STEP 25]] LIGAND_POSITIONS = [[0 TO 500 STEP 25]] LIGAND_STATES = [[0 TO 500 STEP 25]] /* To reproduce frame data used for the "neuron" animation on CD-ROM, use the following 3 lines in place of the above 3 lines. CAUTION: Doing so will create more than 7000 files that will require about 350 Mbytes of disk space!! EFFECTOR_STATES = [[0 TO 140000 STEP 100]] LIGAND_POSITIONS = [[0 TO 140000 STEP 100]] LIGAND_STATES = [[0 TO 140000 STEP 100]] */ } } /* Reaction statistics output for book Fig.'s 4.7B-E. */ REACTION_DATA_OUTPUT { STEP = 1.0*dt /* Output values for each time-step iteration. */ { COUNT[Glu,WORLD,FOR_EACH_TIME_STEP] } => INPUT_FILE & ".Glu" /* INPUT_FILE keyword is a placeholder for the name of the main MDL file used to run the simulation. In this case, the output file name will be "neuronal_epscs.main.mdl.Glu". */ { COUNT[AMPA.C0,WORLD,FOR_EACH_TIME_STEP] } => INPUT_FILE & ".AMPA.C0" { COUNT[AMPA.C1,WORLD,FOR_EACH_TIME_STEP] } => INPUT_FILE & ".AMPA.C1" { COUNT[AMPA.C2,WORLD,FOR_EACH_TIME_STEP] } => INPUT_FILE & ".AMPA.C2" { COUNT[AMPA.C3,WORLD,FOR_EACH_TIME_STEP] } => INPUT_FILE & ".AMPA.C3" { COUNT[AMPA.C4,WORLD,FOR_EACH_TIME_STEP] } => INPUT_FILE & ".AMPA.C4" { COUNT[AMPA.C5,WORLD,FOR_EACH_TIME_STEP] } => INPUT_FILE & ".AMPA.C5" { COUNT[AMPA.O,WORLD,FOR_EACH_TIME_STEP] } => INPUT_FILE & ".AMPA.O" { COUNT[GluT.T0,WORLD,FOR_EACH_TIME_STEP] } => INPUT_FILE & ".GluT.T0" { COUNT[GluT.T1,WORLD,FOR_EACH_TIME_STEP] } => INPUT_FILE & ".GluT.T1" { COUNT[GluT.T2,WORLD,FOR_EACH_TIME_STEP] } => INPUT_FILE & ".GluT.T2" }