nmj_planar.main.mdl 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322
  1. /* Normal/DFP/BTx Lizard Intercostal Neuromuscular Junction */
  2. INCLUDE_FILE = "nmj_parameters.mdl"
  3. btx_factor=norm_btx_factor
  4. ache_d_factor=norm_ache_d_factor
  5. TIME_STEP = dt
  6. TIME_STEP_MAX = 10000*dt
  7. ITERATIONS = it
  8. EFFECTOR_GRID_DENSITY = grid_density
  9. RADIAL_SUBDIVISIONS = rad_sub
  10. RADIAL_DIRECTIONS = rad_dir
  11. delta=0.51*cleft
  12. sv1=(-14*inter_fold)-delta
  13. sv2=(-14*inter_fold)+delta
  14. sv3=(-13*inter_fold)-delta
  15. sv4=(-13*inter_fold)+delta
  16. sv5=(-12*inter_fold)-delta
  17. sv6=(-12*inter_fold)+delta
  18. sv7=(-11*inter_fold)-delta
  19. sv8=(-11*inter_fold)+delta
  20. sv9=(-10*inter_fold)-delta
  21. sv10=(-10*inter_fold)+delta
  22. sv11=(-9*inter_fold)-delta
  23. sv12=(-9*inter_fold)+delta
  24. sv13=(-8*inter_fold)-delta
  25. sv14=(-8*inter_fold)+delta
  26. sv15=(-7*inter_fold)-delta
  27. sv16=(-7*inter_fold)+delta
  28. sv17=(-6*inter_fold)-delta
  29. sv18=(-6*inter_fold)+delta
  30. sv19=(-5*inter_fold)-delta
  31. sv20=(-5*inter_fold)+delta
  32. sv21=(-4*inter_fold)-delta
  33. sv22=(-4*inter_fold)+delta
  34. sv23=(-3*inter_fold)-delta
  35. sv24=(-3*inter_fold)+delta
  36. sv25=(-2*inter_fold)-delta
  37. sv26=(-2*inter_fold)+delta
  38. sv27=(-1*inter_fold)-delta
  39. sv28=(-1*inter_fold)+delta
  40. sv29=-delta
  41. sv30=delta
  42. sv31=(1*inter_fold)-delta
  43. sv32=(1*inter_fold)+delta
  44. sv33=(2*inter_fold)-delta
  45. sv34=(2*inter_fold)+delta
  46. sv35=(3*inter_fold)-delta
  47. sv36=(3*inter_fold)+delta
  48. sv37=(4*inter_fold)-delta
  49. sv38=(4*inter_fold)+delta
  50. sv39=(5*inter_fold)-delta
  51. sv40=(5*inter_fold)+delta
  52. sv41=(6*inter_fold)-delta
  53. sv42=(6*inter_fold)+delta
  54. sv43=(7*inter_fold)-delta
  55. sv44=(7*inter_fold)+delta
  56. sv45=(8*inter_fold)-delta
  57. sv46=(8*inter_fold)+delta
  58. sv47=(9*inter_fold)-delta
  59. sv48=(9*inter_fold)+delta
  60. sv49=(10*inter_fold)-delta
  61. sv50=(10*inter_fold)+delta
  62. sv51=(11*inter_fold)-delta
  63. sv52=(11*inter_fold)+delta
  64. sv53=(12*inter_fold)-delta
  65. sv54=(12*inter_fold)+delta
  66. sv55=(13*inter_fold)-delta
  67. sv56=(13*inter_fold)+delta
  68. sv57=(14*inter_fold)-delta
  69. sv58=(14*inter_fold)+delta
  70. PARTITION_X = [sv1,sv2,sv3,sv4,sv5,sv6,sv7,sv8,sv9,sv10,
  71. sv11,sv12,sv13,sv14,sv15,sv16,sv17,sv18,sv19,sv20,
  72. sv21,sv22,sv23,sv24,sv25,sv26,sv27,sv28,sv29,sv30,
  73. sv31,sv32,sv33,sv34,sv35,sv36,sv37,sv38,sv39,sv40,
  74. sv41,sv42,sv43,sv44,sv45,sv46,sv47,sv48,sv49,sv50,
  75. sv51,sv52,sv53,sv54,sv55,sv56,sv57,sv58]
  76. PARTITION_Y = [-50, 50]
  77. PARTITION_Z = [-50, 50]
  78. DEFINE_MOLECULES {
  79. ACh { DIFFUSION_CONSTANT_3D = D }
  80. AChR.R { DIFFUSION_CONSTANT_2D = 0 }
  81. AChR.ARs { DIFFUSION_CONSTANT_2D = 0 }
  82. AChR.ARt { DIFFUSION_CONSTANT_2D = 0 }
  83. AChR.A2Rc { DIFFUSION_CONSTANT_2D = 0 }
  84. AChR.A2Ro { DIFFUSION_CONSTANT_2D = 0 }
  85. BTxAChR.R { DIFFUSION_CONSTANT_2D = 0 }
  86. BTxAChR.AR { DIFFUSION_CONSTANT_2D = 0 }
  87. AChE.E { DIFFUSION_CONSTANT_2D = 0 }
  88. AChE.AE { DIFFUSION_CONSTANT_2D = 0 }
  89. }
  90. DEFINE_REACTIONS {
  91. ACh' + AChR.R' -> AChR.ARs' [Kp1]
  92. ACh' + AChR.R' -> AChR.ARt' [Kp1]
  93. AChR.ARs' -> ACh' + AChR.R' [Km1]
  94. AChR.ARt' -> ACh' + AChR.R' [Km1]
  95. ACh' + AChR.ARs' -> AChR.A2Rc' [Kp2]
  96. ACh' + AChR.ARt' -> AChR.A2Rc' [Kp2]
  97. AChR.A2Rc' -> ACh' + AChR.ARs' [Km2]
  98. AChR.A2Rc' -> ACh' + AChR.ARt' [Km2]
  99. AChR.A2Rc' -> AChR.A2Ro' [beta]
  100. AChR.A2Ro' -> AChR.A2Rc' [alpha]
  101. ACh' + BTxAChR.R' -> BTxAChR.AR' [Kp1]
  102. BTxAChR.AR' -> ACh' + BTxAChR.R' [Km1]
  103. ACh'' + AChE.E' -> AChE.AE' [Kpe]
  104. AChE.AE' -> AChE.E' [Kme]
  105. }
  106. DEFINE_RELEASE_PATTERN release_pattern_1 {
  107. DELAY = r_delay_1
  108. RELEASE_INTERVAL = r_interval_1
  109. TRAIN_INTERVAL = t_interval_1
  110. TRAIN_DURATION = t_duration_1
  111. NUMBER_OF_TRAINS = n_trains_1
  112. }
  113. all_release_sites OBJECT {
  114. release_site_1 SPHERICAL_RELEASE_SITE {
  115. LOCATION = r_location_1
  116. MOLECULE = ACh
  117. NUMBER_TO_RELEASE = n_release_1
  118. /*
  119. SITE_DIAMETER = r_diameter_1
  120. */
  121. SITE_DIAMETER = 0
  122. RELEASE_PATTERN = release_pattern_1
  123. }
  124. }
  125. DEFINE_SURFACE_CLASSES {
  126. absorb {
  127. ABSORPTIVE = ACh
  128. }
  129. basal_lamina {
  130. TRANSPARENT = ACh
  131. }
  132. }
  133. enclosure OBJECT {
  134. top_piece BOX {
  135. CORNERS = [-Rex,-Rex,0],[Rex,Rex,cleft]
  136. REMOVE_ELEMENTS { INCLUDE_ELEMENTS = [BOTTOM]}
  137. DEFINE_SURFACE_REGIONS {
  138. boundary {
  139. ELEMENT_LIST = [LEFT,RIGHT,FRONT,BACK]
  140. SURFACE_CLASS = absorb
  141. }
  142. }
  143. }
  144. bottom_piece BOX {
  145. CORNERS = [-Rex,-Rex,-depth3],[Rex,Rex,0]
  146. REMOVE_ELEMENTS{
  147. INCLUDE_ELEMENTS = [TOP]
  148. }
  149. }
  150. }
  151. fold_template OBJECT {
  152. upper BOX {
  153. CORNERS = [-cleft/2,-Rex,-depth1],[cleft/2,Rex,0]
  154. REMOVE_ELEMENTS {
  155. INCLUDE_ELEMENTS = [FRONT,BACK,TOP,BOTTOM]
  156. }
  157. DEFINE_SURFACE_REGIONS {
  158. sides1 {
  159. ELEMENT_LIST = [LEFT,RIGHT]
  160. MOLECULE_DENSITY {
  161. AChR.R, = achr_d*btx_factor*btx_factor
  162. BTxAChR.R, = achr_d*2*btx_factor*(1-btx_factor)
  163. }
  164. }
  165. }
  166. }
  167. middle BOX {
  168. CORNERS = [-cleft/2,-Rex,-depth2],[cleft/2,Rex,-depth1]
  169. REMOVE_ELEMENTS{
  170. INCLUDE_ELEMENTS = [FRONT,BACK,TOP,BOTTOM]
  171. }
  172. DEFINE_SURFACE_REGIONS {
  173. sides2 {
  174. ELEMENT_LIST = [LEFT,RIGHT]
  175. MOLECULE_DENSITY {
  176. AChR.R, = achr_d_mid*btx_factor*btx_factor
  177. BTxAChR.R, = achr_d_mid*2*btx_factor*(1-btx_factor)
  178. }
  179. }
  180. }
  181. }
  182. bottom BOX {
  183. CORNERS = [-cleft/2,-Rex,-depth3],[cleft/2,Rex,-depth2]
  184. REMOVE_ELEMENTS {
  185. INCLUDE_ELEMENTS = [FRONT,BACK,TOP,BOTTOM]
  186. }
  187. }
  188. ache_fold_sheet BOX {
  189. CORNERS = [0,-Rex,-depth3],[cleft,Rex,cleft/2]
  190. REMOVE_ELEMENTS{
  191. INCLUDE_ELEMENTS = [FRONT,BACK,TOP,BOTTOM,RIGHT]
  192. }
  193. DEFINE_SURFACE_REGIONS {
  194. fold {
  195. ELEMENT_LIST = [LEFT]
  196. SURFACE_CLASS = basal_lamina
  197. MOLECULE_DENSITY {
  198. AChE.E' = ache_d_fold*ache_d_factor
  199. }
  200. }
  201. }
  202. }
  203. }
  204. top_of_fold BOX {
  205. CORNERS = [cleft/2,-Rex,0],[inter_fold-(cleft/2),Rex,cleft]
  206. REMOVE_ELEMENTS{
  207. INCLUDE_ELEMENTS = [TOP,LEFT,RIGHT,FRONT,BACK]
  208. }
  209. DEFINE_SURFACE_REGIONS {
  210. sides3 {
  211. ELEMENT_LIST = [BOTTOM]
  212. MOLECULE_DENSITY {
  213. AChR.R, = achr_d*btx_factor*btx_factor
  214. BTxAChR.R, = achr_d*2*btx_factor*(1-btx_factor)
  215. }
  216. }
  217. }
  218. }
  219. ache_primary_sheet BOX {
  220. CORNERS = [-Rex,-Rex,cleft/2],[Rex,Rex,cleft]
  221. REMOVE_ELEMENTS {
  222. INCLUDE_ELEMENTS = [FRONT,BACK,LEFT,RIGHT,TOP]
  223. }
  224. DEFINE_SURFACE_REGIONS {
  225. primary {
  226. ELEMENT_LIST = [BOTTOM]
  227. SURFACE_CLASS = basal_lamina
  228. MOLECULE_DENSITY {
  229. AChE.E' = ache_d*ache_d_factor
  230. }
  231. }
  232. }
  233. }
  234. fold_assembly OBJECT {
  235. fold_top OBJECT top_of_fold { }
  236. fold_bottom OBJECT fold_template { TRANSLATE = [inter_fold,0,0] }
  237. }
  238. right_folds OBJECT {
  239. fold_1 OBJECT fold_assembly { }
  240. fold_2 OBJECT fold_assembly { TRANSLATE = [1*inter_fold,0,0] }
  241. fold_3 OBJECT fold_assembly { TRANSLATE = [2*inter_fold,0,0] }
  242. fold_4 OBJECT fold_assembly { TRANSLATE = [3*inter_fold,0,0] }
  243. fold_5 OBJECT fold_assembly { TRANSLATE = [4*inter_fold,0,0] }
  244. fold_6 OBJECT fold_assembly { TRANSLATE = [5*inter_fold,0,0] }
  245. fold_7 OBJECT fold_assembly { TRANSLATE = [6*inter_fold,0,0] }
  246. fold_8 OBJECT fold_assembly { TRANSLATE = [7*inter_fold,0,0] }
  247. fold_9 OBJECT fold_assembly { TRANSLATE = [8*inter_fold,0,0] }
  248. fold_10 OBJECT fold_assembly { TRANSLATE = [9*inter_fold,0,0] }
  249. fold_11 OBJECT fold_assembly { TRANSLATE = [10*inter_fold,0,0] }
  250. fold_12 OBJECT fold_assembly { TRANSLATE = [11*inter_fold,0,0] }
  251. fold_13 OBJECT fold_assembly { TRANSLATE = [12*inter_fold,0,0] }
  252. fold_14 OBJECT fold_assembly { TRANSLATE = [13*inter_fold,0,0] }
  253. }
  254. INSTANTIATE nmj OBJECT {
  255. nmj_enclosure OBJECT enclosure { }
  256. primary_ache OBJECT ache_primary_sheet { }
  257. middle_fold OBJECT fold_template { }
  258. post_synaptic_right OBJECT right_folds { }
  259. post_synaptic_left OBJECT right_folds { ROTATE = [0,0,1],180 }
  260. nmj_release_sites OBJECT all_release_sites { }
  261. }
  262. VIZ_DATA_OUTPUT {
  263. MODE = DX
  264. MOLECULE_FILE_PREFIX = "./viz/nmj"
  265. OBJECT_FILE_PREFIXES {
  266. nmj = "./viz/nmj"
  267. }
  268. STATE_VALUES {
  269. nmj = 1
  270. ACh = 1
  271. AChR.R = 2
  272. AChR.ARs = 3
  273. AChR.ARt = 3
  274. AChR.A2Rc = 4
  275. AChR.A2Ro = 5
  276. AChE.E = 6
  277. AChE.AE = 7
  278. }
  279. ITERATION_LIST = [0,50,100,250]
  280. }
  281. REACTION_DATA_OUTPUT {
  282. STEP = freq
  283. { COUNT[ACh,WORLD] } => "./dat/ACh.dat"
  284. { COUNT[AChR.R,WORLD] } => "./dat/AChR.R.dat"
  285. { COUNT[AChR.ARs,WORLD] + COUNT[AChR.ARt,WORLD] } => "./dat/AChR.AR.dat"
  286. { COUNT[AChR.A2Rc,WORLD] } => "./dat/AChR.A2Rc.dat"
  287. { COUNT[AChR.A2Ro,WORLD] } => "./dat/AChR.A2Ro.dat"
  288. { COUNT[AChE.E,WORLD] } => "./dat/AChE.E.dat"
  289. { COUNT[AChE.AE,WORLD] } => "./dat/AChE.AE.dat"
  290. }