bluecellulab 2.5.10__tar.gz → 2.6.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of bluecellulab might be problematic. Click here for more details.

Files changed (438) hide show
  1. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/PKG-INFO +1 -1
  2. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/__init__.py +2 -2
  3. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/analysis/inject_sequence.py +3 -7
  4. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/circuit/circuit_access/bluepy_circuit_access.py +2 -1
  5. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/circuit/circuit_access/sonata_circuit_access.py +2 -1
  6. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/simulation/neuron_globals.py +13 -0
  7. bluecellulab-2.6.0/bluecellulab/simulation/parallel.py +36 -0
  8. bluecellulab-2.6.0/bluecellulab/stimulus/factory.py +389 -0
  9. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/tools.py +2 -1
  10. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/utils.py +20 -22
  11. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab.egg-info/PKG-INFO +1 -1
  12. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab.egg-info/SOURCES.txt +2 -0
  13. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/docs/source/list_of_stim.rst +14 -14
  14. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/3-bpap/bpap.ipynb +2 -1
  15. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/4-epsp/epsp.ipynb +2 -1
  16. bluecellulab-2.6.0/examples/5-stimuli/stimuli.ipynb +527 -0
  17. bluecellulab-2.6.0/examples/6-stimuli-sequence/stimuli-sequence.ipynb +478 -0
  18. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_analysis/test_inject_sequence.py +4 -4
  19. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_simulation/test_neuron_globals.py +20 -1
  20. bluecellulab-2.6.0/tests/test_simulation/test_parallel.py +8 -0
  21. bluecellulab-2.6.0/tests/test_stimulus/test_factory.py +182 -0
  22. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_utils.py +1 -8
  23. bluecellulab-2.5.10/bluecellulab/stimulus/factory.py +0 -254
  24. bluecellulab-2.5.10/examples/5-stimuli/stimuli.ipynb +0 -609
  25. bluecellulab-2.5.10/examples/6-stimuli-sequence/stimuli-sequence.ipynb +0 -458
  26. bluecellulab-2.5.10/tests/test_stimulus/test_factory.py +0 -143
  27. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/.compile_mod.sh +0 -0
  28. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/.gitattributes +0 -0
  29. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/.github/dependabot.yml +0 -0
  30. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/.github/workflows/release.yml +0 -0
  31. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/.github/workflows/test.yml +0 -0
  32. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/.gitignore +0 -0
  33. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/.gitlab-ci.yml +0 -0
  34. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/.readthedocs.yml +0 -0
  35. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/.zenodo.json +0 -0
  36. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/AUTHORS.txt +0 -0
  37. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/CHANGELOG.rst +0 -0
  38. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/LICENSE +0 -0
  39. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/MANIFEST.in +0 -0
  40. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/Makefile +0 -0
  41. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/README.rst +0 -0
  42. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/analysis/__init__.py +0 -0
  43. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/cell/__init__.py +0 -0
  44. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/cell/ballstick/__init__.py +0 -0
  45. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/cell/ballstick/emodel.hoc +0 -0
  46. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/cell/ballstick/morphology.asc +0 -0
  47. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/cell/cell_dict.py +0 -0
  48. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/cell/core.py +0 -0
  49. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/cell/injector.py +0 -0
  50. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/cell/plotting.py +0 -0
  51. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/cell/random.py +0 -0
  52. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/cell/recording.py +0 -0
  53. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/cell/section_distance.py +0 -0
  54. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/cell/serialized_sections.py +0 -0
  55. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/cell/sonata_proxy.py +0 -0
  56. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/cell/stimuli_generator.py +0 -0
  57. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/cell/template.py +0 -0
  58. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/circuit/__init__.py +0 -0
  59. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/circuit/circuit_access/__init__.py +0 -0
  60. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/circuit/circuit_access/definition.py +0 -0
  61. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/circuit/config/__init__.py +0 -0
  62. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/circuit/config/bluepy_simulation_config.py +0 -0
  63. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/circuit/config/definition.py +0 -0
  64. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/circuit/config/sections.py +0 -0
  65. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/circuit/config/sonata_simulation_config.py +0 -0
  66. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/circuit/format.py +0 -0
  67. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/circuit/iotools.py +0 -0
  68. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/circuit/node_id.py +0 -0
  69. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/circuit/simulation_access.py +0 -0
  70. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/circuit/synapse_properties.py +0 -0
  71. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/circuit/validate.py +0 -0
  72. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/circuit_simulation.py +0 -0
  73. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/connection.py +0 -0
  74. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/dendrogram.py +0 -0
  75. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/exceptions.py +0 -0
  76. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/graph.py +0 -0
  77. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/hoc/Cell.hoc +0 -0
  78. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/hoc/RNGSettings.hoc +0 -0
  79. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/hoc/TDistFunc.hoc +0 -0
  80. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/hoc/TStim.hoc +0 -0
  81. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/hoc/fileUtils.hoc +0 -0
  82. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/importer.py +0 -0
  83. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/neuron_interpreter.py +0 -0
  84. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/plotwindow.py +0 -0
  85. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/psection.py +0 -0
  86. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/psegment.py +0 -0
  87. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/rngsettings.py +0 -0
  88. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/simulation/__init__.py +0 -0
  89. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/simulation/simulation.py +0 -0
  90. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/stimulus/__init__.py +0 -0
  91. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/stimulus/circuit_stimulus_definitions.py +0 -0
  92. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/synapse/__init__.py +0 -0
  93. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/synapse/synapse_factory.py +0 -0
  94. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/synapse/synapse_types.py +0 -0
  95. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/type_aliases.py +0 -0
  96. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab/verbosity.py +0 -0
  97. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab.egg-info/dependency_links.txt +0 -0
  98. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab.egg-info/requires.txt +0 -0
  99. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/bluecellulab.egg-info/top_level.txt +0 -0
  100. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/docs/Makefile +0 -0
  101. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/docs/images/voltage-readme.png +0 -0
  102. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/docs/make.bat +0 -0
  103. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/docs/requirements_docs.txt +0 -0
  104. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/docs/source/_static/.gitkeep +0 -0
  105. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/docs/source/api.rst +0 -0
  106. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/docs/source/changelog.rst +0 -0
  107. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/docs/source/compiling-mechanisms.rst +0 -0
  108. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/docs/source/conf.py +0 -0
  109. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/docs/source/index.rst +0 -0
  110. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/docs/source/logo/BlueCelluLabBanner.jpg +0 -0
  111. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/1-singlecell/README.md +0 -0
  112. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/1-singlecell/hoc/cADpyr_L2TPC.hoc +0 -0
  113. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/1-singlecell/morphology/rr110330_C3_idA.asc +0 -0
  114. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/1-singlecell/singlecell.ipynb +0 -0
  115. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/.exception_node +0 -0
  116. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/circuit_sonata.json +0 -0
  117. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/hoc/cADpyr_L2TPC.hoc +0 -0
  118. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/hoc/cNAC_L23BTC.hoc +0 -0
  119. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/morphologies/asc/C210401C.asc +0 -0
  120. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/morphologies/asc/rr110330_C3_idA.asc +0 -0
  121. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/morphologies/swc/C210401C.swc +0 -0
  122. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/morphologies/swc/rr110330_C3_idA.swc +0 -0
  123. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/components/CircuitB/hoc/bAC_IN.hoc +0 -0
  124. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/components/CircuitB/hoc/cNAD_noscltb.hoc +0 -0
  125. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/components/CircuitB/morphologies/asc/dend-jy180406_B_idC_axon-jy171019_B_10x_resta_idB_-_Scale_x1.000_y0.950_z1.000_-_Clone_1.asc +0 -0
  126. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/components/CircuitB/morphologies/asc/dend-jy180406_C_idB_axon-04752-04764-X11537-Y13753_final_-_Clone_3.asc +0 -0
  127. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/components/CircuitB/morphologies/swc/dend-jy180406_B_idC_axon-jy171019_B_10x_resta_idB_-_Scale_x1.000_y0.950_z1.000_-_Clone_1.swc +0 -0
  128. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/components/CircuitB/morphologies/swc/dend-jy180406_C_idB_axon-04752-04764-X11537-Y13753_final_-_Clone_3.swc +0 -0
  129. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/edges_AB.h5 +0 -0
  130. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/edges_AB.h5.txt +0 -0
  131. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/local_edges_A.h5 +0 -0
  132. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/local_edges_A.h5.txt +0 -0
  133. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/local_edges_B.h5 +0 -0
  134. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/local_edges_B.h5.txt +0 -0
  135. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/node_sets.json +0 -0
  136. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/nodes_A.h5 +0 -0
  137. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/nodes_A.h5.txt +0 -0
  138. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/nodes_B.h5 +0 -0
  139. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/nodes_B.h5.txt +0 -0
  140. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/simulation_sonata.json +0 -0
  141. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/circuit_sonata.json +0 -0
  142. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_hypamp/out.h5 +0 -0
  143. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_hypamp/populations_offset.dat +0 -0
  144. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_hypamp/soma.h5 +0 -0
  145. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_noinput/out.h5 +0 -0
  146. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_noinput/populations_offset.dat +0 -0
  147. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_noinput/soma.h5 +0 -0
  148. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_ornstein/out.h5 +0 -0
  149. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_ornstein/populations_offset.dat +0 -0
  150. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_ornstein/soma.h5 +0 -0
  151. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_shotnoise/out.h5 +0 -0
  152. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_shotnoise/populations_offset.dat +0 -0
  153. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_shotnoise/soma.h5 +0 -0
  154. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/simulation_config_hypamp.json +0 -0
  155. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/simulation_config_noinput.json +0 -0
  156. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/simulation_config_ornstein.json +0 -0
  157. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/simulation_config_shotnoise.json +0 -0
  158. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/2-sonata-network/sonata-network.ipynb +0 -0
  159. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/4-epsp/hippocampus_mechanisms/cacumm.mod +0 -0
  160. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/4-epsp/hippocampus_mechanisms/cagk.mod +0 -0
  161. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/4-epsp/hippocampus_mechanisms/cal2.mod +0 -0
  162. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/4-epsp/hippocampus_mechanisms/can2.mod +0 -0
  163. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/4-epsp/hippocampus_mechanisms/cat.mod +0 -0
  164. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/4-epsp/hippocampus_mechanisms/h.mod +0 -0
  165. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/4-epsp/hippocampus_mechanisms/kadist.mod +0 -0
  166. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/4-epsp/hippocampus_mechanisms/kaprox.mod +0 -0
  167. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/4-epsp/hippocampus_mechanisms/kca.mod +0 -0
  168. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/4-epsp/hippocampus_mechanisms/kdb.mod +0 -0
  169. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/4-epsp/hippocampus_mechanisms/kdrbca1.mod +0 -0
  170. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/4-epsp/hippocampus_mechanisms/kmb.mod +0 -0
  171. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/4-epsp/hippocampus_mechanisms/na3n.mod +0 -0
  172. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/4-epsp/hoc/cell_seed2_0.hoc +0 -0
  173. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/4-epsp/morphology/011017HP2.asc +0 -0
  174. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/README.rst +0 -0
  175. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/mechanisms/Ca.mod +0 -0
  176. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/mechanisms/CaDynamics_DC0.mod +0 -0
  177. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/mechanisms/CaDynamics_E2.mod +0 -0
  178. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/mechanisms/Ca_HVA.mod +0 -0
  179. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/mechanisms/Ca_HVA2.mod +0 -0
  180. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/mechanisms/Ca_LVAst.mod +0 -0
  181. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/mechanisms/DetAMPANMDA.mod +0 -0
  182. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/mechanisms/DetGABAAB.mod +0 -0
  183. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/mechanisms/GluSynapse.mod +0 -0
  184. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/mechanisms/Ih.mod +0 -0
  185. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/mechanisms/Im.mod +0 -0
  186. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/mechanisms/K_Pst.mod +0 -0
  187. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/mechanisms/K_Tst.mod +0 -0
  188. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/mechanisms/KdShu2007.mod +0 -0
  189. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/mechanisms/NaTa_t.mod +0 -0
  190. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/mechanisms/NaTg.mod +0 -0
  191. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/mechanisms/NaTs2_t.mod +0 -0
  192. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/mechanisms/Nap_Et2.mod +0 -0
  193. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/mechanisms/ProbAMPANMDA_EMS.mod +0 -0
  194. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/mechanisms/ProbGABAAB_EMS.mod +0 -0
  195. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/mechanisms/README.md +0 -0
  196. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/mechanisms/SK_E2.mod +0 -0
  197. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/mechanisms/SKv3_1.mod +0 -0
  198. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/mechanisms/StochKv.mod +0 -0
  199. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/mechanisms/StochKv3.mod +0 -0
  200. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/mechanisms/TTXDynamicsSwitch.mod +0 -0
  201. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/mechanisms/VecStim.mod +0 -0
  202. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/mechanisms/gap.mod +0 -0
  203. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/mechanisms/netstim_inhpoisson.mod +0 -0
  204. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/examples/readme-plot.ipynb +0 -0
  205. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/pyproject.toml +0 -0
  206. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/setup.cfg +0 -0
  207. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/__init__.py +0 -0
  208. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/data/synapse_replay_file/spikes.dat +0 -0
  209. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/ballstick_cell/analytic_expsyn.txt +0 -0
  210. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/ballstick_cell/ballstick.asc +0 -0
  211. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/ballstick_cell/ballstick.hoc +0 -0
  212. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/ballstick_cell/bs.cfg +0 -0
  213. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/bpo_cell/0_cADpyr_L5TPC_a6e707a_1_sNone.hoc +0 -0
  214. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/bpo_cell/C060114A5.asc +0 -0
  215. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/cell_example1/test_cell.asc +0 -0
  216. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/cell_example1/test_cell.hoc +0 -0
  217. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/cell_example1/test_cell_longname1.hoc +0 -0
  218. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/cell_example2/test_cell.asc +0 -0
  219. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/cell_example2/test_cell.hoc +0 -0
  220. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/cell_example_cstut/cSTUT_7.hoc +0 -0
  221. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/cell_example_cstut/test_cell.asc +0 -0
  222. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/cell_example_empty/test_cell.asc +0 -0
  223. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/cell_example_empty/test_cell.hoc +0 -0
  224. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/cell_example_empty/test_cell_v6a.hoc +0 -0
  225. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/circuit_config.json +0 -0
  226. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/hoc/CA1_pyr_cACpyr_mpg141017_a1_2_idC_2019032814340.hoc +0 -0
  227. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/hoc/CA1_pyr_cACpyr_mpg141217_A_idB_2019030511280.hoc +0 -0
  228. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/hoc/CA1_pyr_cACpyr_mpg150305_A_idB_2019030511201.hoc +0 -0
  229. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/hoc/CA1_pyr_cACpyr_oh140807_A0_idB_2019030510521.hoc +0 -0
  230. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/hoc/CA1_pyr_cACpyr_oh140807_A0_idF_2019030511545.hoc +0 -0
  231. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/hoc/CA1_pyr_cACpyr_oh140807_A0_idJ_2019032814272.hoc +0 -0
  232. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/morphologies/dend-051208AM2_axon-mpg141017_a1-2_idC_-_Scale_x1.000_y0.850_z1.000.swc +0 -0
  233. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/morphologies/dend-051208AM2_axon-mpg141017_a1-2_idC_-_Scale_x1.000_y0.850_z1.000_-_Clone_10.swc +0 -0
  234. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/morphologies/dend-mpg141216_A_idA_axon-mpg141017_a1-2_idC_-_Scale_x1.000_y0.850_z1.000_-_Clone_7.swc +0 -0
  235. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/morphologies/dend-mpg141216_A_idA_axon-mpg141017_a1-2_idC_-_Scale_x1.000_y0.900_z1.000_-_Clone_12.swc +0 -0
  236. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/morphologies/dend-mpg141216_A_idA_axon-mpg141017_a1-2_idC_-_Scale_x1.000_y0.900_z1.000_-_Clone_4.swc +0 -0
  237. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/morphologies/dend-mpg141216_A_idA_axon-mpg141017_a1-2_idC_-_Scale_x1.000_y0.950_z1.000_-_Clone_4.swc +0 -0
  238. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/morphologies/dend-oh140521_B0_Rat_idC_axon-mpg141017_a1-2_idC_-_Scale_x1.000_y0.850_z1.000_-_Clone_1.swc +0 -0
  239. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/morphologies/dend-oh140521_B0_Rat_idC_axon-mpg141017_a1-2_idC_-_Scale_x1.000_y0.850_z1.000_-_Clone_12.swc +0 -0
  240. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/morphologies/dend-oh140807_A0_idF_axon-mpg141017_a1-2_idC_-_Scale_x1.000_y0.850_z1.000_-_Clone_12.swc +0 -0
  241. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/morphologies/mpg141017_a1-2_idC_-_Scale_x1.000_y0.850_z1.000_-_Clone_11.swc +0 -0
  242. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/copy-hoc-morphs.ipynb +0 -0
  243. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/edges/edges.h5 +0 -0
  244. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/hippocampus_projections/nodes.h5 +0 -0
  245. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/hoc-and-morphs.csv +0 -0
  246. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/id_mapping.json +0 -0
  247. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/node_sets.json +0 -0
  248. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/nodes/nodes.h5 +0 -0
  249. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx/circuit_sonata.json +0 -0
  250. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx/components/hoc/cADpyr_L2TPC.hoc +0 -0
  251. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx/components/hoc/cNAC_L23BTC.hoc +0 -0
  252. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx/components/morphologies/asc/C210401C.asc +0 -0
  253. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx/components/morphologies/asc/rr110330_C3_idA.asc +0 -0
  254. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx/components/morphologies/swc/C210401C.swc +0 -0
  255. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx/components/morphologies/swc/rr110330_C3_idA.swc +0 -0
  256. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx/local_edges_A.h5 +0 -0
  257. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx/local_edges_A.h5.txt +0 -0
  258. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx/node_sets.json +0 -0
  259. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx/nodes_A.h5 +0 -0
  260. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx/nodes_A.h5.txt +0 -0
  261. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/.exception_node +0 -0
  262. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/circuit_sonata.json +0 -0
  263. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/hoc/cADpyr_L2TPC.hoc +0 -0
  264. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/hoc/cNAC_L23BTC.hoc +0 -0
  265. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/morphologies/asc/C210401C.asc +0 -0
  266. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/morphologies/asc/rr110330_C3_idA.asc +0 -0
  267. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/morphologies/swc/C210401C.swc +0 -0
  268. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/morphologies/swc/rr110330_C3_idA.swc +0 -0
  269. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/components/CircuitB/hoc/bAC_IN.hoc +0 -0
  270. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/components/CircuitB/hoc/cNAD_noscltb.hoc +0 -0
  271. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/components/CircuitB/morphologies/asc/dend-jy180406_B_idC_axon-jy171019_B_10x_resta_idB_-_Scale_x1.000_y0.950_z1.000_-_Clone_1.asc +0 -0
  272. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/components/CircuitB/morphologies/asc/dend-jy180406_C_idB_axon-04752-04764-X11537-Y13753_final_-_Clone_3.asc +0 -0
  273. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/components/CircuitB/morphologies/swc/dend-jy180406_B_idC_axon-jy171019_B_10x_resta_idB_-_Scale_x1.000_y0.950_z1.000_-_Clone_1.swc +0 -0
  274. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/components/CircuitB/morphologies/swc/dend-jy180406_C_idB_axon-04752-04764-X11537-Y13753_final_-_Clone_3.swc +0 -0
  275. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/edges_AB.h5 +0 -0
  276. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/edges_AB.h5.txt +0 -0
  277. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/local_edges_A.h5 +0 -0
  278. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/local_edges_A.h5.txt +0 -0
  279. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/local_edges_B.h5 +0 -0
  280. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/local_edges_B.h5.txt +0 -0
  281. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/node_sets.json +0 -0
  282. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/nodes_A.h5 +0 -0
  283. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/nodes_A.h5.txt +0 -0
  284. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/nodes_B.h5 +0 -0
  285. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/nodes_B.h5.txt +0 -0
  286. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/simulation_sonata.json +0 -0
  287. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/hippocampus_opt_cell_template/README.md +0 -0
  288. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/hippocampus_opt_cell_template/electrophysiology/cell.hoc +0 -0
  289. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/hippocampus_opt_cell_template/morphology/cell.asc +0 -0
  290. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/legacy_circuitconfig/CircuitConfig +0 -0
  291. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_bluepy/BlueConfig +0 -0
  292. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_bluepy/BlueConfig.SUCCESS +0 -0
  293. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_bluepy/output/out.dat +0 -0
  294. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_bluepy/output/out.h5 +0 -0
  295. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_bluepy/output/populations_offset.dat +0 -0
  296. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_bluepy/output/soma_SONATA.h5 +0 -0
  297. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_bluepy/user.target +0 -0
  298. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata/circuit_sonata.json +0 -0
  299. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata/output_sonata_hypamp/out.h5 +0 -0
  300. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata/output_sonata_hypamp/populations_offset.dat +0 -0
  301. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata/output_sonata_hypamp/soma.h5 +0 -0
  302. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata/output_sonata_noinput/out.h5 +0 -0
  303. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata/output_sonata_noinput/populations_offset.dat +0 -0
  304. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata/output_sonata_noinput/soma.h5 +0 -0
  305. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata/simulation_config.json.SUCCESS +0 -0
  306. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata/simulation_config_hypamp.json +0 -0
  307. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata/simulation_config_hypamp.json.SUCCESS +0 -0
  308. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata/simulation_config_noinput.json +0 -0
  309. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata/simulation_config_noinput.json.SUCCESS +0 -0
  310. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/circuit_sonata.json +0 -0
  311. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_hypamp/out.h5 +0 -0
  312. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_hypamp/populations_offset.dat +0 -0
  313. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_hypamp/soma.h5 +0 -0
  314. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_noinput/out.h5 +0 -0
  315. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_noinput/populations_offset.dat +0 -0
  316. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_noinput/soma.h5 +0 -0
  317. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_ornstein/out.h5 +0 -0
  318. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_ornstein/populations_offset.dat +0 -0
  319. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_ornstein/soma.h5 +0 -0
  320. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_shotnoise/out.h5 +0 -0
  321. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_shotnoise/populations_offset.dat +0 -0
  322. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_shotnoise/soma.h5 +0 -0
  323. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/simulation_config_hypamp.json +0 -0
  324. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/simulation_config_noinput.json +0 -0
  325. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/simulation_config_ornstein.json +0 -0
  326. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/simulation_config_shotnoise.json +0 -0
  327. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/condition_parameters/circuit_sonata.json +0 -0
  328. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/condition_parameters/node_sets.json +0 -0
  329. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/condition_parameters/sim_conf/populations_offset.dat +0 -0
  330. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/condition_parameters/simulation_config.json +0 -0
  331. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/condition_parameters/simulation_config_many_inputs.json +0 -0
  332. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/projections/circuit_config.json +0 -0
  333. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/projections/echo +0 -0
  334. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/projections/node_sets.json +0 -0
  335. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/projections/output_sonata/out.h5 +0 -0
  336. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/projections/output_sonata/populations_offset.dat +0 -0
  337. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/projections/output_sonata/soma.h5 +0 -0
  338. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/projections/simulation_config.json +0 -0
  339. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/projections/simulation_config.json.SUCCESS +0 -0
  340. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/synapse_replay/circuit_config.json +0 -0
  341. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/synapse_replay/node_sets.json +0 -0
  342. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/synapse_replay/simulation_config.json +0 -0
  343. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/synapse_replay/synapse_replay.dat +0 -0
  344. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/tapertest_cells/notaper_cell.hoc +0 -0
  345. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/tapertest_cells/taper_cell.hoc +0 -0
  346. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/examples/tapertest_cells/test_cell.asc +0 -0
  347. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/helpers/__init__.py +0 -0
  348. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/helpers/os_utils.py +0 -0
  349. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/Ca.mod +0 -0
  350. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/CaDynamics_DC0.mod +0 -0
  351. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/CaDynamics_E2.mod +0 -0
  352. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/Ca_HVA.mod +0 -0
  353. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/Ca_HVA2.mod +0 -0
  354. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/Ca_LVAst.mod +0 -0
  355. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/DetAMPANMDA.mod +0 -0
  356. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/DetGABAAB.mod +0 -0
  357. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/GluSynapse.mod +0 -0
  358. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/Ih.mod +0 -0
  359. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/Im.mod +0 -0
  360. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/K_Pst.mod +0 -0
  361. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/K_Tst.mod +0 -0
  362. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/KdShu2007.mod +0 -0
  363. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/NaTa_t.mod +0 -0
  364. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/NaTg.mod +0 -0
  365. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/NaTs2_t.mod +0 -0
  366. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/Nap_Et2.mod +0 -0
  367. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/ProbAMPANMDA_EMS.mod +0 -0
  368. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/ProbGABAAB_EMS.mod +0 -0
  369. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/README.md +0 -0
  370. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/SK_E2.mod +0 -0
  371. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/SKv3_1.mod +0 -0
  372. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/StochKv.mod +0 -0
  373. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/StochKv3.mod +0 -0
  374. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/TTXDynamicsSwitch.mod +0 -0
  375. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/VecStim.mod +0 -0
  376. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/cacumm.mod +0 -0
  377. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/cacummb.mod +0 -0
  378. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/cagk.mod +0 -0
  379. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/cal2.mod +0 -0
  380. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/can2.mod +0 -0
  381. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/cat.mod +0 -0
  382. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/gap.mod +0 -0
  383. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/h.mod +0 -0
  384. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/kadist.mod +0 -0
  385. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/kaprox.mod +0 -0
  386. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/kca.mod +0 -0
  387. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/kd.mod +0 -0
  388. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/kd2.mod +0 -0
  389. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/kdb.mod +0 -0
  390. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/kdrbca1.mod +0 -0
  391. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/kdrca1.mod +0 -0
  392. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/km.mod +0 -0
  393. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/kmb.mod +0 -0
  394. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/na3n.mod +0 -0
  395. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/naxn.mod +0 -0
  396. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/mechanisms/netstim_inhpoisson.mod +0 -0
  397. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_ballstick.py +0 -0
  398. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_bglib.py +0 -0
  399. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_cell/__init__.py +0 -0
  400. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_cell/test_cell_dict.py +0 -0
  401. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_cell/test_core.py +0 -0
  402. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_cell/test_injector.py +0 -0
  403. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_cell/test_random.py +0 -0
  404. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_cell/test_recording.py +0 -0
  405. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_cell/test_serialized_sections.py +0 -0
  406. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_cell/test_sonata_proxy.py +0 -0
  407. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_cell/test_stimuli_generator.py +0 -0
  408. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_cell/test_template.py +0 -0
  409. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_circuit/__init__.py +0 -0
  410. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_circuit/test_circuit_access.py +0 -0
  411. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_circuit/test_config_sections.py +0 -0
  412. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_circuit/test_format.py +0 -0
  413. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_circuit/test_node_id.py +0 -0
  414. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_circuit/test_simulation_access.py +0 -0
  415. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_circuit/test_simulation_config.py +0 -0
  416. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_circuit/test_synapse_properties.py +0 -0
  417. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_circuit/test_validate.py +0 -0
  418. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_exceptions.py +0 -0
  419. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_graph.py +0 -0
  420. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_importer.py +0 -0
  421. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_load.py +0 -0
  422. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_neuron_interpreter.py +0 -0
  423. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_psection.py +0 -0
  424. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_rngsettings.py +0 -0
  425. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_simulation/__init__.py +0 -0
  426. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_simulation/test_simulation.py +0 -0
  427. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_ssim.py +0 -0
  428. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_ssim_sonata.py +0 -0
  429. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_stimulus/__init__.py +0 -0
  430. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_stimulus/test_circuit_stimulus_definitions.py +0 -0
  431. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_synapse/__init__.py +0 -0
  432. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_synapse/test-synapse-series.json +0 -0
  433. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_synapse/test_synapse.py +0 -0
  434. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_synapse/test_synapse_factory.py +0 -0
  435. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_tools.py +0 -0
  436. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_ttx.py +0 -0
  437. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tests/test_verbosity.py +0 -0
  438. {bluecellulab-2.5.10 → bluecellulab-2.6.0}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: bluecellulab
3
- Version: 2.5.10
3
+ Version: 2.6.0
4
4
  Summary: Biologically detailed neural network simulations and analysis.
5
5
  Author: Blue Brain Project, EPFL
6
6
  License: Apache2.0
@@ -7,7 +7,7 @@ try:
7
7
  except ImportError:
8
8
  BLUEPY_AVAILABLE = False
9
9
 
10
- from .importer import * # NOQA
10
+ from bluecellulab.importer import import_hoc
11
11
  from .verbosity import *
12
12
  from .cell import Cell, create_ball_stick # NOQA
13
13
  from .circuit import EmodelProperties
@@ -19,7 +19,7 @@ from .psegment import PSegment # NOQA
19
19
  from .simulation import Simulation # NOQA
20
20
  from .rngsettings import RNGSettings # NOQA
21
21
  from .circuit_simulation import CircuitSimulation, CircuitSimulation # NOQA
22
-
22
+ import neuron
23
23
 
24
24
  from .simulation.neuron_globals import NeuronGlobals
25
25
 
@@ -7,9 +7,9 @@ import neuron
7
7
  import numpy as np
8
8
  from bluecellulab.cell.core import Cell
9
9
  from bluecellulab.cell.template import TemplateParams
10
+ from bluecellulab.simulation.parallel import IsolatedProcess
10
11
  from bluecellulab.simulation.simulation import Simulation
11
12
  from bluecellulab.stimulus.factory import Stimulus, StimulusFactory
12
- from bluecellulab.utils import IsolatedProcess
13
13
 
14
14
 
15
15
  class StimulusName(Enum):
@@ -35,7 +35,6 @@ def run_stimulus(
35
35
  stimulus: Stimulus,
36
36
  section: str,
37
37
  segment: float,
38
- duration: float,
39
38
  ) -> Recording:
40
39
  """Creates a cell and stimulates it with a given stimulus.
41
40
 
@@ -44,7 +43,6 @@ def run_stimulus(
44
43
  stimulus: The input stimulus to inject into the cell.
45
44
  section: Name of the section of cell where the stimulus is to be injected.
46
45
  segment: The segment of the section where the stimulus is to be injected.
47
- duration: The duration for which the simulation is to be run.
48
46
 
49
47
  Returns:
50
48
  The voltage-time recording at the specified location.
@@ -61,7 +59,7 @@ def run_stimulus(
61
59
  current_vector = neuron.h.Vector()
62
60
  current_vector.record(iclamp._ref_i)
63
61
  simulation = Simulation(cell)
64
- simulation.run(duration)
62
+ simulation.run(stimulus.stimulus_time)
65
63
  current = np.array(current_vector.to_python())
66
64
  voltage = cell.get_voltage_recording(neuron_section, segment)
67
65
  time = cell.get_time()
@@ -74,7 +72,6 @@ def apply_multiple_step_stimuli(
74
72
  cell: Cell,
75
73
  stimulus_name: StimulusName,
76
74
  amplitudes: Sequence[float],
77
- duration: float,
78
75
  section_name: str | None = None,
79
76
  segment: float = 0.5,
80
77
  n_processes: int | None = None,
@@ -85,7 +82,6 @@ def apply_multiple_step_stimuli(
85
82
  cell: The cell to which the stimuli are applied.
86
83
  stimulus_name: The name of the stimulus to apply.
87
84
  amplitudes: The amplitudes of the stimuli to apply.
88
- duration: The duration for which each stimulus is applied.
89
85
  section_name: Section name of the cell where the stimuli are applied.
90
86
  If None, the stimuli are applied at the soma[0] of the cell.
91
87
  segment: The segment of the section where the stimuli are applied.
@@ -116,7 +112,7 @@ def apply_multiple_step_stimuli(
116
112
  else:
117
113
  raise ValueError("Unknown stimulus name.")
118
114
 
119
- task_args.append((cell.template_params, stimulus, section_name, segment, duration))
115
+ task_args.append((cell.template_params, stimulus, section_name, segment))
120
116
 
121
117
  with IsolatedProcess(processes=n_processes) as pool:
122
118
  # Map expects a function and a list of argument tuples
@@ -19,8 +19,9 @@ import os
19
19
  from pathlib import Path
20
20
  from typing import Optional
21
21
 
22
+ import neuron
22
23
  import pandas as pd
23
- from bluecellulab import circuit, neuron
24
+ from bluecellulab import circuit
24
25
  from bluecellulab.circuit.circuit_access import EmodelProperties
25
26
  from bluecellulab.circuit.config import BluepySimulationConfig
26
27
  from bluecellulab.circuit.config.definition import SimulationConfig
@@ -22,8 +22,9 @@ from bluepysnap.bbp import Cell as SnapCell
22
22
  from bluepysnap.circuit_ids import CircuitNodeId, CircuitEdgeIds
23
23
  from bluepysnap.exceptions import BluepySnapError
24
24
  from bluepysnap import Circuit as SnapCircuit
25
+ import neuron
25
26
  import pandas as pd
26
- from bluecellulab import circuit, neuron
27
+ from bluecellulab import circuit
27
28
  from bluecellulab.circuit.circuit_access.definition import EmodelProperties
28
29
  from bluecellulab.circuit import CellId, SynapseProperty
29
30
  from bluecellulab.circuit.config import SimulationConfig
@@ -13,6 +13,7 @@
13
13
  # limitations under the License.
14
14
  """Module that handles the global NEURON parameters."""
15
15
 
16
+ from typing import NamedTuple
16
17
  import neuron
17
18
  from bluecellulab.circuit.config.sections import Conditions, MechanismConditions
18
19
  from bluecellulab.exceptions import error_context
@@ -62,6 +63,11 @@ def set_minis_single_vesicle_values(mech_conditions: MechanismConditions) -> Non
62
63
  )
63
64
 
64
65
 
66
+ class NeuronGlobalParams(NamedTuple):
67
+ temperature: float
68
+ v_init: float
69
+
70
+
65
71
  class NeuronGlobals:
66
72
  _instance = None
67
73
 
@@ -96,3 +102,10 @@ class NeuronGlobals:
96
102
  def v_init(self, value):
97
103
  self._v_init = value
98
104
  neuron.h.v_init = value
105
+
106
+ def export_params(self) -> NeuronGlobalParams:
107
+ return NeuronGlobalParams(self.temperature, self.v_init)
108
+
109
+ def load_params(self, params: NeuronGlobalParams) -> None:
110
+ self.temperature = params.temperature
111
+ self.v_init = params.v_init
@@ -0,0 +1,36 @@
1
+ """Controlled simulations in parallel."""
2
+
3
+ from __future__ import annotations
4
+ from multiprocessing.pool import Pool
5
+ from bluecellulab.simulation.neuron_globals import NeuronGlobals
6
+
7
+
8
+ class IsolatedProcess(Pool):
9
+ """Multiprocessing Pool that restricts a worker to run max 1 process.
10
+
11
+ Use this when running isolated NEURON simulations. Running 2 NEURON
12
+ simulations on a single process is to be avoided. Required global
13
+ NEURON simulation parameters will automatically be passed to each
14
+ worker.
15
+ """
16
+
17
+ def __init__(self, processes: int | None = 1):
18
+ """Initialize the IsolatedProcess pool.
19
+
20
+ Args:
21
+ processes: The number of processes to use for running the simulations.
22
+ If set to None, then the number returned by os.cpu_count() is used.
23
+ """
24
+ neuron_global_params = NeuronGlobals.get_instance().export_params()
25
+ super().__init__(
26
+ processes=processes,
27
+ initializer=self.init_worker,
28
+ initargs=(neuron_global_params,),
29
+ maxtasksperchild=1,
30
+ )
31
+
32
+ @staticmethod
33
+ def init_worker(neuron_global_params):
34
+ """Load global parameters for the NEURON environment in each worker
35
+ process."""
36
+ NeuronGlobals.get_instance().load_params(neuron_global_params)
@@ -0,0 +1,389 @@
1
+ from __future__ import annotations
2
+ from abc import ABC, abstractmethod
3
+ import matplotlib.pyplot as plt
4
+ import numpy as np
5
+
6
+
7
+ class Stimulus(ABC):
8
+ def __init__(self, dt: float) -> None:
9
+ self.dt = dt
10
+
11
+ @property
12
+ @abstractmethod
13
+ def time(self) -> np.ndarray:
14
+ """Time values of the stimulus."""
15
+ ...
16
+
17
+ @property
18
+ @abstractmethod
19
+ def current(self) -> np.ndarray:
20
+ """Current values of the stimulus."""
21
+ ...
22
+
23
+ def __len__(self) -> int:
24
+ return len(self.time)
25
+
26
+ @property
27
+ def stimulus_time(self) -> float:
28
+ return len(self) * self.dt
29
+
30
+ def __repr__(self) -> str:
31
+ return f"{self.__class__.__name__}(dt={self.dt})"
32
+
33
+ def plot(self, ax=None, **kwargs):
34
+ if ax is None:
35
+ ax = plt.gca()
36
+ ax.plot(self.time, self.current, **kwargs)
37
+ ax.set_xlabel("Time (ms)")
38
+ ax.set_ylabel("Current (nA)")
39
+ ax.set_title(self.__class__.__name__)
40
+ return ax
41
+
42
+ def __add__(self, other: Stimulus) -> CombinedStimulus:
43
+ """Override + operator to concatenate Stimulus objects."""
44
+ if self.dt != other.dt:
45
+ raise ValueError(
46
+ "Stimulus objects must have the same dt to be concatenated"
47
+ )
48
+ if len(self.time) == 0:
49
+ return CombinedStimulus(other.dt, other.time, other.current)
50
+ elif len(other.time) == 0:
51
+ return CombinedStimulus(self.dt, self.time, self.current)
52
+ else:
53
+ # shift other time
54
+ other_time = other.time + self.time[-1] + self.dt
55
+ combined_time = np.concatenate([self.time, other_time])
56
+ # Concatenate the current arrays
57
+ combined_current = np.concatenate([self.current, other.current])
58
+ return CombinedStimulus(self.dt, combined_time, combined_current)
59
+
60
+ def __eq__(self, other: object) -> bool:
61
+ if not isinstance(other, Stimulus):
62
+ return NotImplemented
63
+ else:
64
+ return (
65
+ np.allclose(self.time, other.time)
66
+ and np.allclose(self.current, other.current)
67
+ and self.dt == other.dt
68
+ )
69
+
70
+
71
+ class CombinedStimulus(Stimulus):
72
+ """Represents the Stimulus created by combining multiple stimuli."""
73
+
74
+ def __init__(self, dt: float, time: np.ndarray, current: np.ndarray) -> None:
75
+ super().__init__(dt)
76
+ self._time = time
77
+ self._current = current
78
+
79
+ @property
80
+ def time(self) -> np.ndarray:
81
+ return self._time
82
+
83
+ @property
84
+ def current(self) -> np.ndarray:
85
+ return self._current
86
+
87
+
88
+ class Empty(Stimulus):
89
+ """Represents empty stimulus (all zeros) that has no impact on the cell.
90
+
91
+ This is required by some Stimuli that expect the cell to rest.
92
+ """
93
+
94
+ def __init__(self, dt: float, duration: float) -> None:
95
+ super().__init__(dt)
96
+ self.duration = duration
97
+
98
+ @property
99
+ def time(self) -> np.ndarray:
100
+ return np.arange(0.0, self.duration, self.dt)
101
+
102
+ @property
103
+ def current(self) -> np.ndarray:
104
+ return np.zeros_like(self.time)
105
+
106
+
107
+ class Flat(Stimulus):
108
+ def __init__(self, dt: float, duration: float, amplitude: float) -> None:
109
+ super().__init__(dt)
110
+ self.duration = duration
111
+ self.amplitude = amplitude
112
+
113
+ @property
114
+ def time(self) -> np.ndarray:
115
+ return np.arange(0.0, self.duration, self.dt)
116
+
117
+ @property
118
+ def current(self) -> np.ndarray:
119
+ return np.full_like(self.time, self.amplitude)
120
+
121
+
122
+ class Slope(Stimulus):
123
+ def __init__(
124
+ self, dt: float, duration: float, amplitude_start: float, amplitude_end: float
125
+ ) -> None:
126
+ super().__init__(dt)
127
+ self.duration = duration
128
+ self.amplitude_start = amplitude_start
129
+ self.amplitude_end = amplitude_end
130
+
131
+ @property
132
+ def time(self) -> np.ndarray:
133
+ return np.arange(0.0, self.duration, self.dt)
134
+
135
+ @property
136
+ def current(self) -> np.ndarray:
137
+ return np.linspace(self.amplitude_start, self.amplitude_end, len(self.time))
138
+
139
+
140
+ class Step(Stimulus):
141
+
142
+ def __init__(self):
143
+ raise NotImplementedError(
144
+ "This class cannot be instantiated directly. "
145
+ "Please use the class methods 'amplitude_based' "
146
+ "or 'threshold_based' to create objects."
147
+ )
148
+
149
+ @classmethod
150
+ def amplitude_based(
151
+ cls,
152
+ dt: float,
153
+ pre_delay: float,
154
+ duration: float,
155
+ post_delay: float,
156
+ amplitude: float,
157
+ ) -> CombinedStimulus:
158
+ """Create a Step stimulus from given time events and amplitude.
159
+
160
+ Args:
161
+ dt: The time step of the stimulus.
162
+ pre_delay: The delay before the start of the step.
163
+ duration: The duration of the step.
164
+ post_delay: The time to wait after the end of the step.
165
+ amplitude: The amplitude of the step.
166
+ """
167
+ return (
168
+ Empty(dt, duration=pre_delay)
169
+ + Flat(dt, duration=duration, amplitude=amplitude)
170
+ + Empty(dt, duration=post_delay)
171
+ )
172
+
173
+ @classmethod
174
+ def threshold_based(
175
+ cls,
176
+ dt: float,
177
+ pre_delay: float,
178
+ duration: float,
179
+ post_delay: float,
180
+ threshold_current: float,
181
+ threshold_percentage: float,
182
+ ) -> CombinedStimulus:
183
+ """Creates a Step stimulus with respect to the threshold current.
184
+
185
+ Args:
186
+
187
+ dt: The time step of the stimulus.
188
+ pre_delay: The delay before the start of the step.
189
+ duration: The duration of the step.
190
+ post_delay: The time to wait after the end of the step.
191
+ threshold_current: The threshold current of the Cell.
192
+ threshold_percentage: Percentage of desired threshold_current amplification.
193
+ """
194
+ amplitude = threshold_current * threshold_percentage / 100
195
+ res = cls.amplitude_based(
196
+ dt,
197
+ pre_delay=pre_delay,
198
+ duration=duration,
199
+ post_delay=post_delay,
200
+ amplitude=amplitude,
201
+ )
202
+ return res
203
+
204
+
205
+ class Ramp(Stimulus):
206
+
207
+ def __init__(self):
208
+ raise NotImplementedError(
209
+ "This class cannot be instantiated directly. "
210
+ "Please use the class methods 'amplitude_based' "
211
+ "or 'threshold_based' to create objects."
212
+ )
213
+
214
+ @classmethod
215
+ def amplitude_based(
216
+ cls,
217
+ dt: float,
218
+ pre_delay: float,
219
+ duration: float,
220
+ post_delay: float,
221
+ amplitude: float,
222
+ ) -> CombinedStimulus:
223
+ """Create a Ramp stimulus from given time events and amplitudes.
224
+
225
+ Args:
226
+ dt: The time step of the stimulus.
227
+ pre_delay: The delay before the start of the ramp.
228
+ duration: The duration of the ramp.
229
+ post_delay: The time to wait after the end of the ramp.
230
+ amplitude: The final amplitude of the ramp.
231
+ """
232
+ return (
233
+ Empty(dt, duration=pre_delay)
234
+ + Slope(
235
+ dt,
236
+ duration=duration,
237
+ amplitude_start=0.0,
238
+ amplitude_end=amplitude,
239
+ )
240
+ + Empty(dt, duration=post_delay)
241
+ )
242
+
243
+ @classmethod
244
+ def threshold_based(
245
+ cls,
246
+ dt: float,
247
+ pre_delay: float,
248
+ duration: float,
249
+ post_delay: float,
250
+ threshold_current: float,
251
+ threshold_percentage: float,
252
+ ) -> CombinedStimulus:
253
+ """Creates a Ramp stimulus with respect to the threshold current.
254
+
255
+ Args:
256
+
257
+ dt: The time step of the stimulus.
258
+ pre_delay: The delay before the start of the ramp.
259
+ duration: The duration of the ramp.
260
+ post_delay: The time to wait after the end of the ramp.
261
+ threshold_current: The threshold current of the Cell.
262
+ threshold_percentage: Percentage of desired threshold_current amplification.
263
+ """
264
+ amplitude = threshold_current * threshold_percentage / 100
265
+ res = cls.amplitude_based(
266
+ dt,
267
+ pre_delay=pre_delay,
268
+ duration=duration,
269
+ post_delay=post_delay,
270
+ amplitude=amplitude,
271
+ )
272
+ return res
273
+
274
+
275
+ class StimulusFactory:
276
+ def __init__(self, dt: float):
277
+ self.dt = dt
278
+
279
+ def step(
280
+ self, pre_delay: float, duration: float, post_delay: float, amplitude: float
281
+ ) -> Stimulus:
282
+ return Step.amplitude_based(
283
+ self.dt,
284
+ pre_delay=pre_delay,
285
+ duration=duration,
286
+ post_delay=post_delay,
287
+ amplitude=amplitude,
288
+ )
289
+
290
+ def ramp(
291
+ self, pre_delay: float, duration: float, post_delay: float, amplitude: float
292
+ ) -> Stimulus:
293
+ return Ramp.amplitude_based(
294
+ self.dt,
295
+ pre_delay=pre_delay,
296
+ duration=duration,
297
+ post_delay=post_delay,
298
+ amplitude=amplitude,
299
+ )
300
+
301
+ def ap_waveform(
302
+ self, threshold_current: float, threshold_percentage: float = 220.0
303
+ ) -> Stimulus:
304
+ """Returns the APWaveform Stimulus object, a type of Step stimulus.
305
+
306
+ Args:
307
+ threshold_current: The threshold current of the Cell.
308
+ threshold_percentage: Percentage of desired threshold_current amplification.
309
+ """
310
+ pre_delay = 250.0
311
+ duration = 50.0
312
+ post_delay = 250.0
313
+ return Step.threshold_based(
314
+ self.dt,
315
+ pre_delay=pre_delay,
316
+ duration=duration,
317
+ post_delay=post_delay,
318
+ threshold_current=threshold_current,
319
+ threshold_percentage=threshold_percentage,
320
+ )
321
+
322
+ def idrest(
323
+ self,
324
+ threshold_current: float,
325
+ threshold_percentage: float = 200.0,
326
+ ) -> Stimulus:
327
+ """Returns the IDRest Stimulus object, a type of Step stimulus.
328
+
329
+ Args:
330
+ threshold_current: The threshold current of the Cell.
331
+ threshold_percentage: Percentage of desired threshold_current amplification.
332
+ """
333
+ pre_delay = 250.0
334
+ duration = 1350.0
335
+ post_delay = 250.0
336
+ return Step.threshold_based(
337
+ self.dt,
338
+ pre_delay=pre_delay,
339
+ duration=duration,
340
+ post_delay=post_delay,
341
+ threshold_current=threshold_current,
342
+ threshold_percentage=threshold_percentage,
343
+ )
344
+
345
+ def iv(
346
+ self,
347
+ threshold_current: float,
348
+ threshold_percentage: float = -40.0,
349
+ ) -> Stimulus:
350
+ """Returns the IV Stimulus object, a type of Step stimulus.
351
+
352
+ Args:
353
+ threshold_current: The threshold current of the Cell.
354
+ threshold_percentage: Percentage of desired threshold_current amplification.
355
+ """
356
+ pre_delay = 250.0
357
+ duration = 3000.0
358
+ post_delay = 250.0
359
+ return Step.threshold_based(
360
+ self.dt,
361
+ pre_delay=pre_delay,
362
+ duration=duration,
363
+ post_delay=post_delay,
364
+ threshold_current=threshold_current,
365
+ threshold_percentage=threshold_percentage,
366
+ )
367
+
368
+ def fire_pattern(
369
+ self,
370
+ threshold_current: float,
371
+ threshold_percentage: float = 200.0,
372
+ ) -> Stimulus:
373
+ """Returns the FirePattern Stimulus object, a type of Step stimulus.
374
+
375
+ Args:
376
+ threshold_current: The threshold current of the Cell.
377
+ threshold_percentage: Percentage of desired threshold_current amplification.
378
+ """
379
+ pre_delay = 250.0
380
+ duration = 3600.0
381
+ post_delay = 250.0
382
+ return Step.threshold_based(
383
+ self.dt,
384
+ pre_delay=pre_delay,
385
+ duration=duration,
386
+ post_delay=post_delay,
387
+ threshold_current=threshold_current,
388
+ threshold_percentage=threshold_percentage,
389
+ )
@@ -25,7 +25,8 @@ import numpy as np
25
25
  import bluecellulab
26
26
  from bluecellulab.circuit.circuit_access import EmodelProperties
27
27
  from bluecellulab.exceptions import UnsteadyCellError
28
- from bluecellulab.utils import CaptureOutput, IsolatedProcess
28
+ from bluecellulab.simulation.parallel import IsolatedProcess
29
+ from bluecellulab.utils import CaptureOutput
29
30
 
30
31
  logger = logging.getLogger(__name__)
31
32
 
@@ -1,19 +1,21 @@
1
1
  """Utility functions used within BlueCellulab."""
2
+
2
3
  from __future__ import annotations
3
4
  import contextlib
4
5
  import io
5
6
  import json
6
- from multiprocessing.pool import Pool
7
7
 
8
8
  import numpy as np
9
9
 
10
10
 
11
11
  def run_once(func):
12
12
  """A decorator to ensure a function is only called once."""
13
+
13
14
  def wrapper(*args, **kwargs):
14
15
  if not wrapper.has_run:
15
16
  wrapper.has_run = True
16
17
  return func(*args, **kwargs)
18
+
17
19
  wrapper.has_run = False
18
20
  return wrapper
19
21
 
@@ -32,29 +34,25 @@ class CaptureOutput(list):
32
34
 
33
35
  class NumpyEncoder(json.JSONEncoder):
34
36
  def default(self, obj):
35
- if isinstance(obj, (np.int_, np.intc, np.intp, np.int8,
36
- np.int16, np.int32, np.int64, np.uint8,
37
- np.uint16, np.uint32, np.uint64)):
37
+ if isinstance(
38
+ obj,
39
+ (
40
+ np.int_,
41
+ np.intc,
42
+ np.intp,
43
+ np.int8,
44
+ np.int16,
45
+ np.int32,
46
+ np.int64,
47
+ np.uint8,
48
+ np.uint16,
49
+ np.uint32,
50
+ np.uint64,
51
+ ),
52
+ ):
38
53
  return int(obj)
39
- elif isinstance(obj, (np.float_, np.float16, np.float32,
40
- np.float64)):
54
+ elif isinstance(obj, (np.float_, np.float16, np.float32, np.float64)):
41
55
  return float(obj)
42
56
  elif isinstance(obj, np.ndarray):
43
57
  return obj.tolist()
44
58
  return json.JSONEncoder.default(self, obj)
45
-
46
-
47
- class IsolatedProcess(Pool):
48
- """Multiprocessing Pool that restricts a worker to run max 1 process.
49
-
50
- Use this when running isolated NEURON simulations. Running 2 NEURON
51
- simulations on a single process is to be avoided.
52
- """
53
- def __init__(self, processes: int | None = 1):
54
- """Initialize the IsolatedProcess pool.
55
-
56
- Args:
57
- processes: The number of processes to use for running the stimuli.
58
- If set to None, then the number returned by os.cpu_count() is used.
59
- """
60
- super().__init__(processes=processes, maxtasksperchild=1)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: bluecellulab
3
- Version: 2.5.10
3
+ Version: 2.6.0
4
4
  Summary: Biologically detailed neural network simulations and analysis.
5
5
  Author: Blue Brain Project, EPFL
6
6
  License: Apache2.0
@@ -76,6 +76,7 @@ bluecellulab/hoc/TStim.hoc
76
76
  bluecellulab/hoc/fileUtils.hoc
77
77
  bluecellulab/simulation/__init__.py
78
78
  bluecellulab/simulation/neuron_globals.py
79
+ bluecellulab/simulation/parallel.py
79
80
  bluecellulab/simulation/simulation.py
80
81
  bluecellulab/stimulus/__init__.py
81
82
  bluecellulab/stimulus/circuit_stimulus_definitions.py
@@ -420,6 +421,7 @@ tests/test_circuit/test_synapse_properties.py
420
421
  tests/test_circuit/test_validate.py
421
422
  tests/test_simulation/__init__.py
422
423
  tests/test_simulation/test_neuron_globals.py
424
+ tests/test_simulation/test_parallel.py
423
425
  tests/test_simulation/test_simulation.py
424
426
  tests/test_stimulus/__init__.py
425
427
  tests/test_stimulus/test_circuit_stimulus_definitions.py