bluecellulab 1.8.1__tar.gz → 1.8.2__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 (409) hide show
  1. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/PKG-INFO +1 -1
  2. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/cell/core.py +20 -15
  3. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/cell/injector.py +5 -5
  4. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/connection.py +4 -3
  5. bluecellulab-1.8.2/bluecellulab/graph.py +85 -0
  6. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/simulation/simulation.py +1 -1
  7. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/ssim.py +2 -6
  8. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/synapse/synapse_factory.py +3 -3
  9. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/synapse/synapse_types.py +11 -10
  10. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab.egg-info/PKG-INFO +1 -1
  11. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab.egg-info/SOURCES.txt +2 -0
  12. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab.egg-info/requires.txt +1 -0
  13. bluecellulab-1.8.2/examples/2-sonata-network/sonata-network.ipynb +960 -0
  14. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/setup.py +2 -1
  15. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_cell/test_core.py +16 -0
  16. bluecellulab-1.8.2/tests/test_graph.py +74 -0
  17. bluecellulab-1.8.1/examples/2-sonata-network/sonata-network.ipynb +0 -929
  18. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/.compile_mod.sh +0 -0
  19. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/.gitattributes +0 -0
  20. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/.github/dependabot.yml +0 -0
  21. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/.github/workflows/release.yml +0 -0
  22. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/.github/workflows/test.yml +0 -0
  23. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/.gitignore +0 -0
  24. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/.gitlab-ci.yml +0 -0
  25. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/.readthedocs.yml +0 -0
  26. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/.zenodo.json +0 -0
  27. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/AUTHORS.txt +0 -0
  28. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/CHANGELOG.rst +0 -0
  29. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/LICENSE +0 -0
  30. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/MANIFEST.in +0 -0
  31. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/Makefile +0 -0
  32. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/README.rst +0 -0
  33. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/__init__.py +0 -0
  34. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/cell/__init__.py +0 -0
  35. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/cell/ballstick/__init__.py +0 -0
  36. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/cell/ballstick/emodel.hoc +0 -0
  37. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/cell/ballstick/morphology.asc +0 -0
  38. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/cell/cell_dict.py +0 -0
  39. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/cell/plotting.py +0 -0
  40. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/cell/random.py +0 -0
  41. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/cell/section_distance.py +0 -0
  42. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/cell/serialized_sections.py +0 -0
  43. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/cell/sonata_proxy.py +0 -0
  44. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/cell/stimuli_generator.py +0 -0
  45. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/cell/template.py +0 -0
  46. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/circuit/__init__.py +0 -0
  47. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/circuit/circuit_access.py +0 -0
  48. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/circuit/config/__init__.py +0 -0
  49. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/circuit/config/sections.py +0 -0
  50. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/circuit/config/simulation_config.py +0 -0
  51. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/circuit/format.py +0 -0
  52. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/circuit/iotools.py +0 -0
  53. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/circuit/node_id.py +0 -0
  54. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/circuit/simulation_access.py +0 -0
  55. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/circuit/synapse_properties.py +0 -0
  56. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/circuit/validate.py +0 -0
  57. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/dendrogram.py +0 -0
  58. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/exceptions.py +0 -0
  59. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/hoc/Cell.hoc +0 -0
  60. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/hoc/RNGSettings.hoc +0 -0
  61. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/hoc/TDistFunc.hoc +0 -0
  62. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/hoc/TStim.hoc +0 -0
  63. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/hoc/fileUtils.hoc +0 -0
  64. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/importer.py +0 -0
  65. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/neuron_interpreter.py +0 -0
  66. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/plotwindow.py +0 -0
  67. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/psection.py +0 -0
  68. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/psegment.py +0 -0
  69. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/rngsettings.py +0 -0
  70. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/simulation/__init__.py +0 -0
  71. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/simulation/neuron_globals.py +0 -0
  72. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/stimuli.py +0 -0
  73. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/synapse/__init__.py +0 -0
  74. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/tools.py +0 -0
  75. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab/type_aliases.py +0 -0
  76. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab.egg-info/dependency_links.txt +0 -0
  77. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/bluecellulab.egg-info/top_level.txt +0 -0
  78. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/docs/Makefile +0 -0
  79. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/docs/images/voltage-readme.png +0 -0
  80. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/docs/make.bat +0 -0
  81. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/docs/requirements_docs.txt +0 -0
  82. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/docs/source/_static/.gitkeep +0 -0
  83. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/docs/source/api.rst +0 -0
  84. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/docs/source/changelog.rst +0 -0
  85. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/docs/source/compiling-mechanisms.rst +0 -0
  86. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/docs/source/conf.py +0 -0
  87. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/docs/source/index.rst +0 -0
  88. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/docs/source/logo/BlueCelluLabBanner.jpg +0 -0
  89. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/1-singlecell/hoc/cADpyr_L2TPC.hoc +0 -0
  90. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/1-singlecell/morphology/rr110330_C3_idA.asc +0 -0
  91. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/1-singlecell/singlecell.ipynb +0 -0
  92. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/.exception_node +0 -0
  93. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/circuit_sonata.json +0 -0
  94. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/hoc/cADpyr_L2TPC.hoc +0 -0
  95. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/hoc/cNAC_L23BTC.hoc +0 -0
  96. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/morphologies/asc/C210401C.asc +0 -0
  97. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/morphologies/asc/rr110330_C3_idA.asc +0 -0
  98. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/morphologies/swc/C210401C.swc +0 -0
  99. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/morphologies/swc/rr110330_C3_idA.swc +0 -0
  100. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/components/CircuitB/hoc/bAC_IN.hoc +0 -0
  101. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/components/CircuitB/hoc/cNAD_noscltb.hoc +0 -0
  102. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/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
  103. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/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
  104. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/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
  105. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/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
  106. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/edges_AB.h5 +0 -0
  107. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/edges_AB.h5.txt +0 -0
  108. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/local_edges_A.h5 +0 -0
  109. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/local_edges_A.h5.txt +0 -0
  110. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/local_edges_B.h5 +0 -0
  111. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/local_edges_B.h5.txt +0 -0
  112. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/node_sets.json +0 -0
  113. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/nodes_A.h5 +0 -0
  114. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/nodes_A.h5.txt +0 -0
  115. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/nodes_B.h5 +0 -0
  116. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/nodes_B.h5.txt +0 -0
  117. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/simulation_sonata.json +0 -0
  118. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/circuit_sonata.json +0 -0
  119. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_hypamp/out.h5 +0 -0
  120. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_hypamp/populations_offset.dat +0 -0
  121. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_hypamp/soma.h5 +0 -0
  122. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_noinput/out.h5 +0 -0
  123. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_noinput/populations_offset.dat +0 -0
  124. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_noinput/soma.h5 +0 -0
  125. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_ornstein/out.h5 +0 -0
  126. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_ornstein/populations_offset.dat +0 -0
  127. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_ornstein/soma.h5 +0 -0
  128. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_shotnoise/out.h5 +0 -0
  129. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_shotnoise/populations_offset.dat +0 -0
  130. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_shotnoise/soma.h5 +0 -0
  131. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/simulation_config_hypamp.json +0 -0
  132. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/simulation_config_noinput.json +0 -0
  133. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/simulation_config_ornstein.json +0 -0
  134. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/simulation_config_shotnoise.json +0 -0
  135. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/3-bpap/bpap.ipynb +0 -0
  136. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/4-epsp/epsp.ipynb +0 -0
  137. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/4-epsp/hippocampus_mechanisms/cacumm.mod +0 -0
  138. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/4-epsp/hippocampus_mechanisms/cagk.mod +0 -0
  139. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/4-epsp/hippocampus_mechanisms/cal2.mod +0 -0
  140. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/4-epsp/hippocampus_mechanisms/can2.mod +0 -0
  141. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/4-epsp/hippocampus_mechanisms/cat.mod +0 -0
  142. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/4-epsp/hippocampus_mechanisms/h.mod +0 -0
  143. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/4-epsp/hippocampus_mechanisms/kadist.mod +0 -0
  144. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/4-epsp/hippocampus_mechanisms/kaprox.mod +0 -0
  145. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/4-epsp/hippocampus_mechanisms/kca.mod +0 -0
  146. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/4-epsp/hippocampus_mechanisms/kdb.mod +0 -0
  147. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/4-epsp/hippocampus_mechanisms/kdrbca1.mod +0 -0
  148. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/4-epsp/hippocampus_mechanisms/kmb.mod +0 -0
  149. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/4-epsp/hippocampus_mechanisms/na3n.mod +0 -0
  150. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/4-epsp/hoc/cell_seed2_0.hoc +0 -0
  151. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/4-epsp/morphology/011017HP2.asc +0 -0
  152. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/README.rst +0 -0
  153. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/mechanisms/Ca.mod +0 -0
  154. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/mechanisms/CaDynamics_DC0.mod +0 -0
  155. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/mechanisms/CaDynamics_E2.mod +0 -0
  156. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/mechanisms/Ca_HVA.mod +0 -0
  157. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/mechanisms/Ca_HVA2.mod +0 -0
  158. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/mechanisms/Ca_LVAst.mod +0 -0
  159. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/mechanisms/DetAMPANMDA.mod +0 -0
  160. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/mechanisms/DetGABAAB.mod +0 -0
  161. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/mechanisms/GluSynapse.mod +0 -0
  162. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/mechanisms/Ih.mod +0 -0
  163. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/mechanisms/Im.mod +0 -0
  164. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/mechanisms/K_Pst.mod +0 -0
  165. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/mechanisms/K_Tst.mod +0 -0
  166. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/mechanisms/KdShu2007.mod +0 -0
  167. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/mechanisms/NaTa_t.mod +0 -0
  168. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/mechanisms/NaTg.mod +0 -0
  169. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/mechanisms/NaTs2_t.mod +0 -0
  170. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/mechanisms/Nap_Et2.mod +0 -0
  171. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/mechanisms/ProbAMPANMDA_EMS.mod +0 -0
  172. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/mechanisms/ProbGABAAB_EMS.mod +0 -0
  173. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/mechanisms/README.md +0 -0
  174. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/mechanisms/SK_E2.mod +0 -0
  175. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/mechanisms/SKv3_1.mod +0 -0
  176. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/mechanisms/StochKv.mod +0 -0
  177. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/mechanisms/StochKv3.mod +0 -0
  178. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/mechanisms/TTXDynamicsSwitch.mod +0 -0
  179. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/mechanisms/VecStim.mod +0 -0
  180. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/mechanisms/gap.mod +0 -0
  181. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/mechanisms/netstim_inhpoisson.mod +0 -0
  182. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/examples/readme-plot.ipynb +0 -0
  183. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/pyproject.toml +0 -0
  184. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/setup.cfg +0 -0
  185. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/__init__.py +0 -0
  186. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/data/synapse_replay_file/spikes.dat +0 -0
  187. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/ballstick_cell/analytic_expsyn.txt +0 -0
  188. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/ballstick_cell/ballstick.asc +0 -0
  189. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/ballstick_cell/ballstick.hoc +0 -0
  190. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/ballstick_cell/bs.cfg +0 -0
  191. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/cell_example1/test_cell.asc +0 -0
  192. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/cell_example1/test_cell.hoc +0 -0
  193. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/cell_example1/test_cell_longname1.hoc +0 -0
  194. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/cell_example2/test_cell.asc +0 -0
  195. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/cell_example2/test_cell.hoc +0 -0
  196. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/cell_example_cstut/cSTUT_7.hoc +0 -0
  197. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/cell_example_cstut/test_cell.asc +0 -0
  198. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/cell_example_empty/test_cell.asc +0 -0
  199. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/cell_example_empty/test_cell.hoc +0 -0
  200. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/cell_example_empty/test_cell_v6a.hoc +0 -0
  201. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/circuit_config.json +0 -0
  202. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/hoc/CA1_pyr_cACpyr_mpg141017_a1_2_idC_2019032814340.hoc +0 -0
  203. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/hoc/CA1_pyr_cACpyr_mpg141217_A_idB_2019030511280.hoc +0 -0
  204. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/hoc/CA1_pyr_cACpyr_mpg150305_A_idB_2019030511201.hoc +0 -0
  205. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/hoc/CA1_pyr_cACpyr_oh140807_A0_idB_2019030510521.hoc +0 -0
  206. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/hoc/CA1_pyr_cACpyr_oh140807_A0_idF_2019030511545.hoc +0 -0
  207. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/hoc/CA1_pyr_cACpyr_oh140807_A0_idJ_2019032814272.hoc +0 -0
  208. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/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
  209. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/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
  210. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/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
  211. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/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
  212. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/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
  213. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/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
  214. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/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
  215. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/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
  216. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/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
  217. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/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
  218. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/copy-hoc-morphs.ipynb +0 -0
  219. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/edges/edges.h5 +0 -0
  220. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/hippocampus_projections/nodes.h5 +0 -0
  221. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/hoc-and-morphs.csv +0 -0
  222. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/id_mapping.json +0 -0
  223. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/node_sets.json +0 -0
  224. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/nodes/nodes.h5 +0 -0
  225. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx/circuit_sonata.json +0 -0
  226. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx/components/hoc/cADpyr_L2TPC.hoc +0 -0
  227. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx/components/hoc/cNAC_L23BTC.hoc +0 -0
  228. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx/components/morphologies/asc/C210401C.asc +0 -0
  229. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx/components/morphologies/asc/rr110330_C3_idA.asc +0 -0
  230. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx/components/morphologies/swc/C210401C.swc +0 -0
  231. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx/components/morphologies/swc/rr110330_C3_idA.swc +0 -0
  232. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx/local_edges_A.h5 +0 -0
  233. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx/local_edges_A.h5.txt +0 -0
  234. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx/node_sets.json +0 -0
  235. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx/nodes_A.h5 +0 -0
  236. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx/nodes_A.h5.txt +0 -0
  237. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx_multi_circuit/.exception_node +0 -0
  238. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx_multi_circuit/circuit_sonata.json +0 -0
  239. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/hoc/cADpyr_L2TPC.hoc +0 -0
  240. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/hoc/cNAC_L23BTC.hoc +0 -0
  241. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/morphologies/asc/C210401C.asc +0 -0
  242. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/morphologies/asc/rr110330_C3_idA.asc +0 -0
  243. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/morphologies/swc/C210401C.swc +0 -0
  244. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/morphologies/swc/rr110330_C3_idA.swc +0 -0
  245. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx_multi_circuit/components/CircuitB/hoc/bAC_IN.hoc +0 -0
  246. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx_multi_circuit/components/CircuitB/hoc/cNAD_noscltb.hoc +0 -0
  247. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/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
  248. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/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
  249. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/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
  250. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/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
  251. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx_multi_circuit/edges_AB.h5 +0 -0
  252. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx_multi_circuit/edges_AB.h5.txt +0 -0
  253. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx_multi_circuit/local_edges_A.h5 +0 -0
  254. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx_multi_circuit/local_edges_A.h5.txt +0 -0
  255. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx_multi_circuit/local_edges_B.h5 +0 -0
  256. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx_multi_circuit/local_edges_B.h5.txt +0 -0
  257. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx_multi_circuit/node_sets.json +0 -0
  258. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx_multi_circuit/nodes_A.h5 +0 -0
  259. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx_multi_circuit/nodes_A.h5.txt +0 -0
  260. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx_multi_circuit/nodes_B.h5 +0 -0
  261. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx_multi_circuit/nodes_B.h5.txt +0 -0
  262. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/circuit_sonata_quick_scx_multi_circuit/simulation_sonata.json +0 -0
  263. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/hippocampus_opt_cell_template/README.md +0 -0
  264. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/hippocampus_opt_cell_template/electrophysiology/cell.hoc +0 -0
  265. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/hippocampus_opt_cell_template/morphology/cell.asc +0 -0
  266. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/legacy_circuitconfig/CircuitConfig +0 -0
  267. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_bluepy/BlueConfig +0 -0
  268. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_bluepy/BlueConfig.SUCCESS +0 -0
  269. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_bluepy/output/out.dat +0 -0
  270. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_bluepy/output/out.h5 +0 -0
  271. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_bluepy/output/populations_offset.dat +0 -0
  272. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_bluepy/output/soma_SONATA.h5 +0 -0
  273. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_bluepy/user.target +0 -0
  274. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_sonata/circuit_sonata.json +0 -0
  275. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_sonata/output_sonata_hypamp/out.h5 +0 -0
  276. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_sonata/output_sonata_hypamp/populations_offset.dat +0 -0
  277. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_sonata/output_sonata_hypamp/soma.h5 +0 -0
  278. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_sonata/output_sonata_noinput/out.h5 +0 -0
  279. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_sonata/output_sonata_noinput/populations_offset.dat +0 -0
  280. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_sonata/output_sonata_noinput/soma.h5 +0 -0
  281. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_sonata/simulation_config.json.SUCCESS +0 -0
  282. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_sonata/simulation_config_hypamp.json +0 -0
  283. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_sonata/simulation_config_hypamp.json.SUCCESS +0 -0
  284. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_sonata/simulation_config_noinput.json +0 -0
  285. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_sonata/simulation_config_noinput.json.SUCCESS +0 -0
  286. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_sonata_multicircuit/circuit_sonata.json +0 -0
  287. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_hypamp/out.h5 +0 -0
  288. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_hypamp/populations_offset.dat +0 -0
  289. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_hypamp/soma.h5 +0 -0
  290. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_noinput/out.h5 +0 -0
  291. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_noinput/populations_offset.dat +0 -0
  292. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_noinput/soma.h5 +0 -0
  293. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_ornstein/out.h5 +0 -0
  294. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_ornstein/populations_offset.dat +0 -0
  295. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_ornstein/soma.h5 +0 -0
  296. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_shotnoise/out.h5 +0 -0
  297. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_shotnoise/populations_offset.dat +0 -0
  298. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_shotnoise/soma.h5 +0 -0
  299. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_sonata_multicircuit/simulation_config_hypamp.json +0 -0
  300. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_sonata_multicircuit/simulation_config_noinput.json +0 -0
  301. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_sonata_multicircuit/simulation_config_ornstein.json +0 -0
  302. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sim_quick_scx_sonata_multicircuit/simulation_config_shotnoise.json +0 -0
  303. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sonata_unit_test_sims/condition_parameters/circuit_sonata.json +0 -0
  304. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sonata_unit_test_sims/condition_parameters/node_sets.json +0 -0
  305. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sonata_unit_test_sims/condition_parameters/sim_conf/populations_offset.dat +0 -0
  306. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sonata_unit_test_sims/condition_parameters/simulation_config.json +0 -0
  307. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sonata_unit_test_sims/condition_parameters/simulation_config_many_inputs.json +0 -0
  308. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sonata_unit_test_sims/projections/circuit_config.json +0 -0
  309. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sonata_unit_test_sims/projections/echo +0 -0
  310. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sonata_unit_test_sims/projections/node_sets.json +0 -0
  311. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sonata_unit_test_sims/projections/output_sonata/out.h5 +0 -0
  312. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sonata_unit_test_sims/projections/output_sonata/populations_offset.dat +0 -0
  313. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sonata_unit_test_sims/projections/output_sonata/soma.h5 +0 -0
  314. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sonata_unit_test_sims/projections/simulation_config.json +0 -0
  315. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sonata_unit_test_sims/projections/simulation_config.json.SUCCESS +0 -0
  316. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sonata_unit_test_sims/synapse_replay/circuit_config.json +0 -0
  317. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sonata_unit_test_sims/synapse_replay/node_sets.json +0 -0
  318. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sonata_unit_test_sims/synapse_replay/simulation_config.json +0 -0
  319. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/sonata_unit_test_sims/synapse_replay/synapse_replay.dat +0 -0
  320. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/tapertest_cells/notaper_cell.hoc +0 -0
  321. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/tapertest_cells/taper_cell.hoc +0 -0
  322. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/examples/tapertest_cells/test_cell.asc +0 -0
  323. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/helpers/__init__.py +0 -0
  324. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/helpers/os_utils.py +0 -0
  325. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/Ca.mod +0 -0
  326. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/CaDynamics_DC0.mod +0 -0
  327. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/CaDynamics_E2.mod +0 -0
  328. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/Ca_HVA.mod +0 -0
  329. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/Ca_HVA2.mod +0 -0
  330. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/Ca_LVAst.mod +0 -0
  331. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/DetAMPANMDA.mod +0 -0
  332. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/DetGABAAB.mod +0 -0
  333. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/GluSynapse.mod +0 -0
  334. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/Ih.mod +0 -0
  335. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/Im.mod +0 -0
  336. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/K_Pst.mod +0 -0
  337. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/K_Tst.mod +0 -0
  338. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/KdShu2007.mod +0 -0
  339. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/NaTa_t.mod +0 -0
  340. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/NaTg.mod +0 -0
  341. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/NaTs2_t.mod +0 -0
  342. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/Nap_Et2.mod +0 -0
  343. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/ProbAMPANMDA_EMS.mod +0 -0
  344. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/ProbGABAAB_EMS.mod +0 -0
  345. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/README.md +0 -0
  346. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/SK_E2.mod +0 -0
  347. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/SKv3_1.mod +0 -0
  348. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/StochKv.mod +0 -0
  349. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/StochKv3.mod +0 -0
  350. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/TTXDynamicsSwitch.mod +0 -0
  351. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/VecStim.mod +0 -0
  352. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/cacumm.mod +0 -0
  353. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/cacummb.mod +0 -0
  354. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/cagk.mod +0 -0
  355. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/cal2.mod +0 -0
  356. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/can2.mod +0 -0
  357. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/cat.mod +0 -0
  358. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/gap.mod +0 -0
  359. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/h.mod +0 -0
  360. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/kadist.mod +0 -0
  361. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/kaprox.mod +0 -0
  362. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/kca.mod +0 -0
  363. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/kd.mod +0 -0
  364. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/kd2.mod +0 -0
  365. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/kdb.mod +0 -0
  366. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/kdrbca1.mod +0 -0
  367. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/kdrca1.mod +0 -0
  368. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/km.mod +0 -0
  369. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/kmb.mod +0 -0
  370. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/na3n.mod +0 -0
  371. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/naxn.mod +0 -0
  372. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/mechanisms/netstim_inhpoisson.mod +0 -0
  373. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_ballstick.py +0 -0
  374. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_bglib.py +0 -0
  375. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_cell/__init__.py +0 -0
  376. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_cell/test_cell_dict.py +0 -0
  377. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_cell/test_injector.py +0 -0
  378. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_cell/test_random.py +0 -0
  379. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_cell/test_serialized_sections.py +0 -0
  380. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_cell/test_sonata_proxy.py +0 -0
  381. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_cell/test_stimuli_generator.py +0 -0
  382. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_cell/test_template.py +0 -0
  383. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_circuit/__init__.py +0 -0
  384. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_circuit/test_circuit_access.py +0 -0
  385. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_circuit/test_config_sections.py +0 -0
  386. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_circuit/test_format.py +0 -0
  387. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_circuit/test_node_id.py +0 -0
  388. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_circuit/test_simulation_access.py +0 -0
  389. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_circuit/test_simulation_config.py +0 -0
  390. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_circuit/test_synapse_properties.py +0 -0
  391. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_circuit/test_validate.py +0 -0
  392. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_exceptions.py +0 -0
  393. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_importer.py +0 -0
  394. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_load.py +0 -0
  395. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_neuron_interpreter.py +0 -0
  396. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_rngsettings.py +0 -0
  397. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_simulation/__init__.py +0 -0
  398. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_simulation/test_neuron_globals.py +0 -0
  399. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_simulation/test_simulation.py +0 -0
  400. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_ssim.py +0 -0
  401. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_ssim_sonata.py +0 -0
  402. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_stimuli.py +0 -0
  403. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_synapse/__init__.py +0 -0
  404. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_synapse/test-synapse-series.json +0 -0
  405. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_synapse/test_synapse.py +0 -0
  406. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_synapse/test_synapse_factory.py +0 -0
  407. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_tools.py +0 -0
  408. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tests/test_ttx.py +0 -0
  409. {bluecellulab-1.8.1 → bluecellulab-1.8.2}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: bluecellulab
3
- Version: 1.8.1
3
+ Version: 1.8.2
4
4
  Summary: The Pythonic Blue Brain simulator access
5
5
  Home-page: https://github.com/BlueBrain/BlueCelluLab
6
6
  Author: Blue Brain Project, EPFL
@@ -51,10 +51,12 @@ logger = logging.getLogger(__name__)
51
51
  class Cell(InjectableMixin, PlottableMixin):
52
52
  """Represents a Cell object."""
53
53
 
54
+ max_id = 0
55
+
54
56
  def __init__(self,
55
57
  template_path: str | Path,
56
58
  morphology_path: str | Path,
57
- gid: int = 0,
59
+ cell_id: Optional[CellId] = None,
58
60
  record_dt: Optional[float] = None,
59
61
  template_format: str = "v5",
60
62
  emodel_properties: Optional[EmodelProperties] = None,
@@ -75,6 +77,10 @@ class Cell(InjectableMixin, PlottableMixin):
75
77
  object used by the Cell. Defaults to None.
76
78
  """
77
79
  super().__init__()
80
+ if cell_id is None:
81
+ cell_id = CellId("", Cell.max_id)
82
+ Cell.max_id += 1
83
+ self.cell_id = cell_id
78
84
  # Persistent objects, like clamps, that exist as long
79
85
  # as the object exists
80
86
  self.persistent: list[HocObjectType] = []
@@ -84,7 +90,7 @@ class Cell(InjectableMixin, PlottableMixin):
84
90
  # Load the template
85
91
  neuron_template = NeuronTemplate(template_path, morphology_path)
86
92
  self.template_id = neuron_template.template_name # useful to map NEURON and python objects
87
- self.cell = neuron_template.get_cell(template_format, gid, emodel_properties)
93
+ self.cell = neuron_template.get_cell(template_format, self.cell_id.id, emodel_properties)
88
94
  self.soma = public_hoc_cell(self.cell).soma[0]
89
95
  # WARNING: this finitialize 'must' be here, otherwhise the
90
96
  # diameters of the loaded morph are wrong
@@ -93,8 +99,7 @@ class Cell(InjectableMixin, PlottableMixin):
93
99
  self.cellname = neuron.h.secname(sec=self.soma).split(".")[0]
94
100
 
95
101
  # Set the gid of the cell
96
- public_hoc_cell(self.cell).gid = gid
97
- self.gid = gid
102
+ self.cell.getCell().gid = self.cell_id.id
98
103
 
99
104
  if rng_settings is None:
100
105
  self.rng_settings = RNGSettings("Random123") # SONATA value
@@ -213,17 +218,17 @@ class Cell(InjectableMixin, PlottableMixin):
213
218
  for section in self.somatic:
214
219
  for seg in section:
215
220
  neuron.h.setdata_StochKv(seg.x, sec=section)
216
- neuron.h.setRNG_StochKv(channel_id, self.gid)
221
+ neuron.h.setRNG_StochKv(channel_id, self.cell_id.id)
217
222
  channel_id += 1
218
223
  for section in self.basal:
219
224
  for seg in section:
220
225
  neuron.h.setdata_StochKv(seg.x, sec=section)
221
- neuron.h.setRNG_StochKv(channel_id, self.gid)
226
+ neuron.h.setRNG_StochKv(channel_id, self.cell_id.id)
222
227
  channel_id += 1
223
228
  for section in self.apical:
224
229
  for seg in section:
225
230
  neuron.h.setdata_StochKv(seg.x, sec=section)
226
- neuron.h.setRNG_StochKv(channel_id, self.gid)
231
+ neuron.h.setRNG_StochKv(channel_id, self.cell_id.id)
227
232
  channel_id += 1
228
233
  else:
229
234
  self.cell.re_init_rng()
@@ -445,7 +450,7 @@ class Cell(InjectableMixin, PlottableMixin):
445
450
 
446
451
  self.synapses[synapse_id] = synapse
447
452
 
448
- logger.debug(f'Added synapse to cell {self.gid}')
453
+ logger.debug(f'Added synapse to cell {self.cell_id.id}')
449
454
 
450
455
  def add_replay_delayed_weight(
451
456
  self, sid: tuple[str, int], delay: float, weight: float
@@ -591,10 +596,10 @@ class Cell(InjectableMixin, PlottableMixin):
591
596
  + self.rng_settings.minis_seed
592
597
  self.ips[synapse_id].setRNGs(
593
598
  sid + 200,
594
- self.gid + 250,
599
+ self.cell_id.id + 250,
595
600
  seed2 + 300,
596
601
  sid + 200,
597
- self.gid + 250,
602
+ self.cell_id.id + 250,
598
603
  seed2 + 350)
599
604
  else:
600
605
  exprng = bluecellulab.neuron.h.Random()
@@ -605,18 +610,18 @@ class Cell(InjectableMixin, PlottableMixin):
605
610
 
606
611
  if self.rng_settings.mode == 'Compatibility':
607
612
  exp_seed1 = sid * 100000 + 200
608
- exp_seed2 = self.gid + 250 + base_seed + \
613
+ exp_seed2 = self.cell_id.id + 250 + base_seed + \
609
614
  self.rng_settings.minis_seed
610
615
  uniform_seed1 = sid * 100000 + 300
611
- uniform_seed2 = self.gid + 250 + base_seed + \
616
+ uniform_seed2 = self.cell_id.id + 250 + base_seed + \
612
617
  self.rng_settings.minis_seed
613
618
  elif self.rng_settings.mode == "UpdatedMCell":
614
619
  exp_seed1 = sid * 1000 + 200
615
- exp_seed2 = source_popid * 16777216 + self.gid + 250 + \
620
+ exp_seed2 = source_popid * 16777216 + self.cell_id.id + 250 + \
616
621
  base_seed + \
617
622
  self.rng_settings.minis_seed
618
623
  uniform_seed1 = sid * 1000 + 300
619
- uniform_seed2 = source_popid * 16777216 + self.gid + 250 \
624
+ uniform_seed2 = source_popid * 16777216 + self.cell_id.id + 250 \
620
625
  + base_seed + \
621
626
  self.rng_settings.minis_seed
622
627
  else:
@@ -789,7 +794,7 @@ class Cell(InjectableMixin, PlottableMixin):
789
794
  spike_location=spike_location,
790
795
  )
791
796
  logger.debug(
792
- f"Added synapse replay from {pre_gid} to {self.gid}, {synapse_id}"
797
+ f"Added synapse replay from {pre_gid} to {self.cell_id.id}, {synapse_id}"
793
798
  )
794
799
 
795
800
  self.connections[synapse_id] = connection
@@ -156,20 +156,20 @@ class InjectableMixin:
156
156
  def _get_noise_step_rand(self, noisestim_count):
157
157
  """Return rng for noise step stimulus."""
158
158
  if self.rng_settings.mode == "Compatibility":
159
- rng = bluecellulab.neuron.h.Random(self.gid + noisestim_count)
159
+ rng = bluecellulab.neuron.h.Random(self.cell_id.id + noisestim_count)
160
160
  elif self.rng_settings.mode == "UpdatedMCell":
161
161
  rng = bluecellulab.neuron.h.Random()
162
162
  rng.MCellRan4(
163
163
  noisestim_count * 10000 + 100,
164
164
  self.rng_settings.base_seed +
165
165
  self.rng_settings.stimulus_seed +
166
- self.gid * 1000)
166
+ self.cell_id.id * 1000)
167
167
  elif self.rng_settings.mode == "Random123":
168
168
  rng = bluecellulab.neuron.h.Random()
169
169
  rng.Random123(
170
170
  noisestim_count + 100,
171
171
  self.rng_settings.stimulus_seed + 500,
172
- self.gid + 300)
172
+ self.cell_id.id + 300)
173
173
 
174
174
  self.persistent.append(rng)
175
175
  return rng
@@ -235,7 +235,7 @@ class InjectableMixin:
235
235
  if self.rng_settings.mode == "Random123":
236
236
  seed1 = stim_count + 2997 # stimulus block
237
237
  seed2 = self.rng_settings.stimulus_seed + 291204 # stimulus type
238
- seed3 = self.gid + 123 if seed is None else seed # GID
238
+ seed3 = self.cell_id.id + 123 if seed is None else seed # GID
239
239
  logger.debug("Using ornstein_uhlenbeck process seeds %d %d %d" %
240
240
  (seed1, seed2, seed3))
241
241
  rng = bluecellulab.neuron.h.Random()
@@ -251,7 +251,7 @@ class InjectableMixin:
251
251
  if self.rng_settings.mode == "Random123":
252
252
  seed1 = shotnoise_stim_count + 2997
253
253
  seed2 = self.rng_settings.stimulus_seed + 19216
254
- seed3 = self.gid + 123 if seed is None else seed
254
+ seed3 = self.cell_id.id + 123 if seed is None else seed
255
255
  logger.debug("Using shot noise seeds %d %d %d" %
256
256
  (seed1, seed2, seed3))
257
257
  rng = bluecellulab.neuron.h.Random()
@@ -18,6 +18,7 @@ from typing import Optional
18
18
  import numpy as np
19
19
 
20
20
  import bluecellulab
21
+ from bluecellulab.cell.core import Cell
21
22
  from bluecellulab.circuit import SynapseProperty
22
23
 
23
24
 
@@ -28,7 +29,7 @@ class Connection:
28
29
  self,
29
30
  post_synapse,
30
31
  pre_spiketrain: Optional[np.ndarray] = None,
31
- pre_cell=None,
32
+ pre_cell: Optional[Cell] = None,
32
33
  stim_dt=None,
33
34
  parallel_context=None,
34
35
  spike_threshold: float = -30.0,
@@ -76,7 +77,7 @@ class Connection:
76
77
  self.post_netcon = self.pre_cell.create_netcon_spikedetector(
77
78
  self.post_synapse.hsynapse, location=spike_location,
78
79
  threshold=spike_threshold) if self.pc is None else \
79
- self.pc.gid_connect(self.pre_cell.gid, self.post_synapse.hsynapse)
80
+ self.pc.gid_connect(self.pre_cell.cell_id.id, self.post_synapse.hsynapse)
80
81
  self.post_netcon.weight[0] = self.post_netcon_weight
81
82
  self.post_netcon.delay = self.post_netcon_delay
82
83
  self.post_netcon.threshold = spike_threshold
@@ -94,7 +95,7 @@ class Connection:
94
95
  connection_dict = {}
95
96
 
96
97
  connection_dict['pre_cell_id'] = self.post_synapse.pre_gid
97
- connection_dict['post_cell_id'] = self.post_synapse.post_gid
98
+ connection_dict['post_cell_id'] = self.post_synapse.post_cell_id.id
98
99
  connection_dict['post_synapse_id'] = self.post_synapse.syn_id.sid
99
100
 
100
101
  connection_dict['post_netcon'] = {}
@@ -0,0 +1,85 @@
1
+ """Graph representation of Cells and Synapses."""
2
+
3
+ from matplotlib.cm import ScalarMappable
4
+ from matplotlib.colors import Normalize
5
+ import matplotlib.pyplot as plt
6
+ import networkx as nx
7
+ import numpy as np
8
+
9
+
10
+ from bluecellulab.cell.cell_dict import CellDict
11
+
12
+
13
+ def build_graph(cells: CellDict) -> nx.DiGraph:
14
+ G = nx.DiGraph()
15
+
16
+ # Add nodes (cells) to the graph
17
+ for cell_id, cell in cells.items():
18
+ G.add_node(cell_id, label=str(cell_id.id), population=cell_id.population_name)
19
+
20
+ # Extract and add edges (connections) to the graph from each cell
21
+ for cell_id, cell in cells.items():
22
+ for connection in cell.connections.values():
23
+ # Check if pre_cell exists for the connection
24
+ if connection.pre_cell is None:
25
+ continue
26
+
27
+ # Source is the pre_cell from the connection
28
+ source_cell_id = connection.pre_cell.cell_id
29
+
30
+ # Target is the post-synapse cell from the connection
31
+ target_cell_id = connection.post_synapse.post_cell_id
32
+
33
+ # Check if both source and target cells are within the current cell collection
34
+ if source_cell_id in cells and target_cell_id in cells:
35
+ G.add_edge(source_cell_id, target_cell_id, weight=connection.weight)
36
+
37
+ return G
38
+
39
+
40
+ def plot_graph(G: nx.Graph, node_size: float = 400, edge_width: float = 0.4, node_distance: float = 1.6):
41
+ # Extract unique populations from the graph nodes
42
+ populations = list(set([cell_id.population_name for cell_id in G.nodes()]))
43
+
44
+ # Create a color map for each population
45
+ color_map = plt.cm.tab20(np.linspace(0, 1, len(populations))) # type: ignore[attr-defined]
46
+ population_color = dict(zip(populations, color_map))
47
+
48
+ # Create node colors based on their population
49
+ node_colors = [population_color[node.population_name] for node in G.nodes()]
50
+
51
+ # Extract weights for edge color mapping
52
+ edge_weights = [d['weight'] for _, _, d in G.edges(data=True)]
53
+ edge_colors = plt.cm.Greens(np.interp(edge_weights, (min(edge_weights), max(edge_weights)), (0.3, 1))) # type: ignore[attr-defined]
54
+
55
+ # Create positions using spring layout for the entire graph
56
+ pos = nx.spring_layout(G, k=node_distance)
57
+
58
+ # Create labels only for the node ID
59
+ labels = {node: node.id for node in G.nodes()}
60
+
61
+ # Create a figure and axis for the drawing
62
+ fig, ax = plt.subplots(figsize=(6, 5))
63
+
64
+ # Draw the graph
65
+ nx.draw(G, pos, with_labels=True, labels=labels, node_color=node_colors,
66
+ edge_color=edge_colors, width=edge_width, node_size=node_size, ax=ax, connectionstyle='arc3, rad = 0.1')
67
+
68
+ # Draw directed edges
69
+ nx.draw_networkx_edges(G, pos, edge_color=edge_colors, width=edge_width, ax=ax, arrowstyle='-|>', arrowsize=20, connectionstyle='arc3, rad = 0.1')
70
+
71
+ # Create a legend
72
+ for population, color in population_color.items():
73
+ plt.plot([0], [0], color=color, label=population)
74
+ plt.legend(loc="upper left", bbox_to_anchor=(-0.1, 1.05)) # Adjust these values as needed
75
+
76
+ # Add a colorbar for edge weights
77
+ sm = ScalarMappable(cmap="Greens", norm=Normalize(vmin=min(edge_weights), vmax=max(edge_weights)))
78
+ sm.set_array([])
79
+ cbar = plt.colorbar(sm, ax=ax, orientation="vertical", fraction=0.03, pad=0.04)
80
+ cbar.set_label('Synaptic Strength')
81
+
82
+ # Add text at the bottom of the figure
83
+ plt.figtext(0.5, 0.01, "Network of simulated cells", ha="center", fontsize=10, va="bottom")
84
+
85
+ plt.show()
@@ -157,7 +157,7 @@ class Simulation:
157
157
 
158
158
  if self.pc is not None:
159
159
  for cell in self.cells:
160
- self.pc.prcellstate(cell.gid, f"bluecellulab_t={bluecellulab.neuron.h.t}")
160
+ self.pc.prcellstate(cell.cell_id.id, f"bluecellulab_t={bluecellulab.neuron.h.t}")
161
161
 
162
162
  try:
163
163
  neuron.h.continuerun(neuron.h.tstop)
@@ -17,7 +17,6 @@ simulations."""
17
17
 
18
18
  from __future__ import annotations
19
19
  from collections.abc import Iterable
20
- from collections import defaultdict
21
20
  from pathlib import Path
22
21
  from typing import Optional
23
22
  import logging
@@ -100,9 +99,6 @@ class SSim:
100
99
  self.cells: CellDict = CellDict()
101
100
 
102
101
  self.gids_instantiated = False
103
- self.connections: defaultdict = defaultdict(
104
- lambda: defaultdict(lambda: None)
105
- )
106
102
 
107
103
  # Make sure tstop is set correctly, because it is used by the
108
104
  # TStim noise stimulus
@@ -732,7 +728,7 @@ class SSim:
732
728
  cell_kwargs = {
733
729
  'template_path': self.circuit_access.emodel_path(cell_id),
734
730
  'morphology_path': self.circuit_access.morph_filepath(cell_id),
735
- 'gid': cell_id.id,
731
+ 'cell_id': cell_id,
736
732
  'record_dt': self.record_dt,
737
733
  'rng_settings': self.rng_settings,
738
734
  'template_format': self.circuit_access.get_template_format(),
@@ -746,7 +742,7 @@ class SSim:
746
742
  cell_kwargs = self.fetch_cell_kwargs(cell_id)
747
743
  return bluecellulab.Cell(template_path=cell_kwargs['template_path'],
748
744
  morphology_path=cell_kwargs['morphology_path'],
749
- gid=cell_kwargs['gid'],
745
+ cell_id=cell_kwargs['cell_id'],
750
746
  record_dt=cell_kwargs['record_dt'],
751
747
  rng_settings=cell_kwargs['rng_settings'],
752
748
  template_format=cell_kwargs['template_format'],
@@ -60,13 +60,13 @@ class SynapseFactory:
60
60
  randomize_gaba_risetime = condition_parameters.randomize_gaba_rise_time
61
61
  else:
62
62
  randomize_gaba_risetime = True
63
- synapse = GabaabSynapse(cell.rng_settings, cell.gid, syn_hoc_args, syn_id, syn_description,
63
+ synapse = GabaabSynapse(cell.rng_settings, cell.cell_id, syn_hoc_args, syn_id, syn_description,
64
64
  popids, extracellular_calcium, randomize_gaba_risetime)
65
65
  elif syn_type == SynapseType.AMPANMDA:
66
- synapse = AmpanmdaSynapse(cell.rng_settings, cell.gid, syn_hoc_args, syn_id, syn_description,
66
+ synapse = AmpanmdaSynapse(cell.rng_settings, cell.cell_id, syn_hoc_args, syn_id, syn_description,
67
67
  popids, extracellular_calcium)
68
68
  else:
69
- synapse = GluSynapse(cell.rng_settings, cell.gid, syn_hoc_args, syn_id, syn_description,
69
+ synapse = GluSynapse(cell.rng_settings, cell.cell_id, syn_hoc_args, syn_id, syn_description,
70
70
  popids, extracellular_calcium)
71
71
 
72
72
  synapse = cls.apply_connection_modifiers(connection_modifiers, synapse)
@@ -20,6 +20,7 @@ import logging
20
20
 
21
21
  import bluecellulab
22
22
  from bluecellulab.circuit import SynapseProperty
23
+ from bluecellulab.circuit.node_id import CellId
23
24
  from bluecellulab.rngsettings import RNGSettings
24
25
  from bluecellulab.type_aliases import HocObjectType, NeuronSection
25
26
 
@@ -46,7 +47,7 @@ class Synapse:
46
47
  def __init__(
47
48
  self,
48
49
  rng_settings: RNGSettings,
49
- gid: int,
50
+ cell_id: CellId,
50
51
  hoc_args: SynapseHocArgs,
51
52
  syn_id: tuple[str, int],
52
53
  syn_description: pd.Series,
@@ -72,7 +73,7 @@ class Synapse:
72
73
  self._delay_weights: list[tuple[float, float]] = []
73
74
  self._weight: Optional[float] = None
74
75
 
75
- self.post_gid = gid
76
+ self.post_cell_id = cell_id
76
77
  self.syn_id = SynapseID(*syn_id)
77
78
  self.extracellular_calcium = extracellular_calcium
78
79
  self.syn_description: pd.Series = self.update_syn_description(syn_description)
@@ -146,7 +147,7 @@ class Synapse:
146
147
  ValueError: when rng mode is not recognised.
147
148
  """
148
149
  if self.rng_settings.mode == "Random123":
149
- self.randseed1 = self.post_gid + 250
150
+ self.randseed1 = self.post_cell_id.id + 250
150
151
  self.randseed2 = self.syn_id.sid + 100
151
152
  self.randseed3 = self.source_popid * 65536 + self.target_popid + \
152
153
  self.rng_settings.synapse_seed + 300
@@ -158,12 +159,12 @@ class Synapse:
158
159
  rndd = bluecellulab.neuron.h.Random()
159
160
  if self.rng_settings.mode == "Compatibility":
160
161
  self.randseed1 = self.syn_id.sid * 100000 + 100
161
- self.randseed2 = self.post_gid + \
162
+ self.randseed2 = self.post_cell_id.id + \
162
163
  250 + self.rng_settings.base_seed
163
164
  elif self.rng_settings.mode == "UpdatedMCell":
164
165
  self.randseed1 = self.syn_id.sid * 1000 + 100
165
166
  self.randseed2 = self.source_popid * 16777216 + \
166
- self.post_gid + \
167
+ self.post_cell_id.id + \
167
168
  250 + self.rng_settings.base_seed + \
168
169
  self.rng_settings.synapse_seed
169
170
  else:
@@ -209,7 +210,7 @@ class Synapse:
209
210
 
210
211
  synapse_dict['synapse_id'] = self.syn_id
211
212
  synapse_dict['pre_cell_id'] = self.pre_gid
212
- synapse_dict['post_cell_id'] = self.post_gid
213
+ synapse_dict['post_cell_id'] = self.post_cell_id.id
213
214
  synapse_dict['syn_description'] = self.syn_description.to_dict()
214
215
  # if keys are enum make them str
215
216
  synapse_dict['syn_description'] = {
@@ -286,7 +287,7 @@ class GluSynapse(Synapse):
286
287
  if self.syn_description[SynapseProperty.NRRP] >= 0:
287
288
  self.hsynapse.Nrrp = self.syn_description[SynapseProperty.NRRP]
288
289
 
289
- self.randseed1 = self.post_gid
290
+ self.randseed1 = self.post_cell_id.id
290
291
  self.randseed2 = 100000 + self.syn_id.sid
291
292
  self.randseed3 = self.rng_settings.synapse_seed + 200
292
293
  self.hsynapse.setRNG(self.randseed1, self.randseed2, self.randseed3)
@@ -330,19 +331,19 @@ class GabaabSynapse(Synapse):
330
331
  if self.rng_settings.mode == "Compatibility":
331
332
  rng.MCellRan4(
332
333
  self.syn_id.sid * 100000 + 100,
333
- self.post_gid + 250 + self.rng_settings.base_seed)
334
+ self.post_cell_id.id + 250 + self.rng_settings.base_seed)
334
335
  elif self.rng_settings.mode == "UpdatedMCell":
335
336
  rng.MCellRan4(
336
337
  self.syn_id.sid * 1000 + 100,
337
338
  self.source_popid *
338
339
  16777216 +
339
- self.post_gid +
340
+ self.post_cell_id.id +
340
341
  250 +
341
342
  self.rng_settings.base_seed +
342
343
  self.rng_settings.synapse_seed)
343
344
  elif self.rng_settings.mode == "Random123":
344
345
  rng.Random123(
345
- self.post_gid +
346
+ self.post_cell_id.id +
346
347
  250,
347
348
  self.syn_id.sid +
348
349
  100,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: bluecellulab
3
- Version: 1.8.1
3
+ Version: 1.8.2
4
4
  Summary: The Pythonic Blue Brain simulator access
5
5
  Home-page: https://github.com/BlueBrain/BlueCelluLab
6
6
  Author: Blue Brain Project, EPFL
@@ -20,6 +20,7 @@ bluecellulab/__init__.py
20
20
  bluecellulab/connection.py
21
21
  bluecellulab/dendrogram.py
22
22
  bluecellulab/exceptions.py
23
+ bluecellulab/graph.py
23
24
  bluecellulab/importer.py
24
25
  bluecellulab/neuron_interpreter.py
25
26
  bluecellulab/plotwindow.py
@@ -181,6 +182,7 @@ tests/__init__.py
181
182
  tests/test_ballstick.py
182
183
  tests/test_bglib.py
183
184
  tests/test_exceptions.py
185
+ tests/test_graph.py
184
186
  tests/test_importer.py
185
187
  tests/test_load.py
186
188
  tests/test_neuron_interpreter.py
@@ -5,3 +5,4 @@ pandas<3.0.0,>=1.0.0
5
5
  bluepysnap<3.0.0,>=2.0.0
6
6
  pydantic<3.0.0,>=2.5.2
7
7
  typing-extensions>=4.8.0
8
+ networkx>=3.1