bluecellulab 2.4.0__py3-none-any.whl → 2.6.37__py3-none-any.whl

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 (56) hide show
  1. bluecellulab/__init__.py +10 -3
  2. bluecellulab/analysis/__init__.py +0 -0
  3. bluecellulab/analysis/inject_sequence.py +165 -0
  4. bluecellulab/cell/cell_dict.py +1 -1
  5. bluecellulab/cell/core.py +95 -76
  6. bluecellulab/cell/injector.py +8 -10
  7. bluecellulab/cell/plotting.py +2 -1
  8. bluecellulab/cell/random.py +1 -1
  9. bluecellulab/cell/recording.py +8 -0
  10. bluecellulab/cell/section_distance.py +1 -1
  11. bluecellulab/cell/serialized_sections.py +4 -6
  12. bluecellulab/cell/sonata_proxy.py +1 -1
  13. bluecellulab/cell/stimuli_generator.py +26 -8
  14. bluecellulab/cell/template.py +12 -4
  15. bluecellulab/circuit/circuit_access/bluepy_circuit_access.py +12 -20
  16. bluecellulab/circuit/circuit_access/definition.py +1 -1
  17. bluecellulab/circuit/circuit_access/sonata_circuit_access.py +5 -4
  18. bluecellulab/circuit/config/bluepy_simulation_config.py +1 -1
  19. bluecellulab/circuit/config/definition.py +1 -1
  20. bluecellulab/circuit/config/sections.py +1 -1
  21. bluecellulab/circuit/config/sonata_simulation_config.py +1 -1
  22. bluecellulab/circuit/format.py +1 -1
  23. bluecellulab/circuit/iotools.py +2 -2
  24. bluecellulab/circuit/node_id.py +1 -1
  25. bluecellulab/circuit/simulation_access.py +11 -8
  26. bluecellulab/circuit/synapse_properties.py +25 -9
  27. bluecellulab/circuit/validate.py +1 -1
  28. bluecellulab/{ssim.py → circuit_simulation.py} +36 -34
  29. bluecellulab/connection.py +1 -1
  30. bluecellulab/dendrogram.py +1 -1
  31. bluecellulab/exceptions.py +1 -1
  32. bluecellulab/graph.py +1 -1
  33. bluecellulab/importer.py +6 -8
  34. bluecellulab/neuron_interpreter.py +1 -1
  35. bluecellulab/plotwindow.py +1 -1
  36. bluecellulab/psection.py +11 -16
  37. bluecellulab/psegment.py +4 -4
  38. bluecellulab/rngsettings.py +4 -4
  39. bluecellulab/simulation/__init__.py +0 -1
  40. bluecellulab/simulation/neuron_globals.py +48 -4
  41. bluecellulab/simulation/parallel.py +40 -0
  42. bluecellulab/simulation/simulation.py +28 -32
  43. bluecellulab/stimulus/circuit_stimulus_definitions.py +11 -6
  44. bluecellulab/stimulus/factory.py +537 -102
  45. bluecellulab/synapse/synapse_factory.py +8 -4
  46. bluecellulab/synapse/synapse_types.py +1 -1
  47. bluecellulab/tools.py +20 -13
  48. bluecellulab/type_aliases.py +4 -1
  49. bluecellulab/utils.py +20 -16
  50. {bluecellulab-2.4.0.dist-info → bluecellulab-2.6.37.dist-info}/LICENSE +0 -7
  51. {bluecellulab-2.4.0.dist-info → bluecellulab-2.6.37.dist-info}/METADATA +42 -25
  52. bluecellulab-2.6.37.dist-info/RECORD +70 -0
  53. {bluecellulab-2.4.0.dist-info → bluecellulab-2.6.37.dist-info}/WHEEL +1 -1
  54. bluecellulab-2.4.0.dist-info/RECORD +0 -66
  55. {bluecellulab-2.4.0.dist-info → bluecellulab-2.6.37.dist-info}/AUTHORS.txt +0 -0
  56. {bluecellulab-2.4.0.dist-info → bluecellulab-2.6.37.dist-info}/top_level.txt +0 -0
@@ -1,4 +1,4 @@
1
- # Copyright 2012-2024 Blue Brain Project / EPFL
1
+ # Copyright 2023-2024 Blue Brain Project / EPFL
2
2
 
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -114,10 +114,14 @@ class SynapseFactory:
114
114
  section: NeuronSection = cell.get_psection(section_id=isec).hsection
115
115
 
116
116
  # old circuits don't have it, it needs to be computed via synlocation_to_segx
117
- if ("afferent_section_pos" in syn_description and
118
- not np.isnan(syn_description["afferent_section_pos"])):
117
+ if (SynapseProperty.AFFERENT_SECTION_POS in syn_description and
118
+ not np.isnan(syn_description[SynapseProperty.AFFERENT_SECTION_POS])):
119
119
  # position is pre computed in SONATA
120
- location = syn_description["afferent_section_pos"]
120
+ location = syn_description[SynapseProperty.AFFERENT_SECTION_POS]
121
+ if location == 0.0:
122
+ location = 0.0000001
123
+ elif location >= 1.0:
124
+ location = 0.9999999
121
125
  else:
122
126
  ipt = syn_description[SynapseProperty.POST_SEGMENT_ID]
123
127
  syn_offset = syn_description[SynapseProperty.POST_SEGMENT_OFFSET]
@@ -1,4 +1,4 @@
1
- # Copyright 2012-2024 Blue Brain Project / EPFL
1
+ # Copyright 2023-2024 Blue Brain Project / EPFL
2
2
 
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
bluecellulab/tools.py CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright 2012-2024 Blue Brain Project / EPFL
1
+ # Copyright 2023-2024 Blue Brain Project / EPFL
2
2
 
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -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
 
@@ -60,6 +61,8 @@ def calculate_SS_voltage(
60
61
  template_format: str,
61
62
  emodel_properties: EmodelProperties | None,
62
63
  step_level: float,
64
+ check_for_spiking=False,
65
+ spike_threshold=-20.0,
63
66
  ) -> float:
64
67
  """Calculate the steady state voltage at a certain current step."""
65
68
  with IsolatedProcess() as runner:
@@ -71,6 +74,8 @@ def calculate_SS_voltage(
71
74
  template_format,
72
75
  emodel_properties,
73
76
  step_level,
77
+ check_for_spiking,
78
+ spike_threshold,
74
79
  ],
75
80
  )
76
81
  return SS_voltage
@@ -82,8 +87,8 @@ def calculate_SS_voltage_subprocess(
82
87
  template_format: str,
83
88
  emodel_properties: EmodelProperties | None,
84
89
  step_level: float,
85
- check_for_spiking=False,
86
- spike_threshold=-20.0,
90
+ check_for_spiking: bool,
91
+ spike_threshold: float,
87
92
  ) -> float:
88
93
  """Subprocess wrapper of calculate_SS_voltage.
89
94
 
@@ -147,9 +152,9 @@ def holding_current(
147
152
  ) -> Tuple[float, float]:
148
153
  """Calculate the holding current necessary for a given holding voltage."""
149
154
  cell_id = bluecellulab.circuit.node_id.create_cell_id(cell_id)
150
- ssim = bluecellulab.SSim(circuit_path)
155
+ circuit_sim = bluecellulab.CircuitSimulation(circuit_path)
151
156
 
152
- cell_kwargs = ssim.fetch_cell_kwargs(cell_id)
157
+ cell_kwargs = circuit_sim.fetch_cell_kwargs(cell_id)
153
158
  with IsolatedProcess() as runner:
154
159
  i_hold, v_control = runner.apply(
155
160
  holding_current_subprocess, [v_hold, enable_ttx, cell_kwargs]
@@ -286,8 +291,7 @@ def detect_spike_step_subprocess(
286
291
 
287
292
  time = cell.get_time()
288
293
  voltage = cell.get_soma_voltage()
289
- time_step = time[np.where((time > inj_start) & (time < inj_stop))]
290
- voltage_step = voltage[np.where((time_step > inj_start) & (time_step < inj_stop))]
294
+ voltage_step = voltage[np.where((time > inj_start) & (time < inj_stop))]
291
295
  spike_detected = detect_spike(voltage_step)
292
296
 
293
297
  cell.delete()
@@ -313,8 +317,11 @@ def search_threshold_current(
313
317
  inj_stop: float,
314
318
  min_current: float,
315
319
  max_current: float,
320
+ current_precision: float = 0.01,
316
321
  ):
317
322
  """Search current necessary to reach threshold."""
323
+ if abs(max_current - min_current) < current_precision:
324
+ return max_current
318
325
  med_current = min_current + abs(min_current - max_current) / 2
319
326
  logger.info("Med current %d" % med_current)
320
327
 
@@ -324,18 +331,18 @@ def search_threshold_current(
324
331
  )
325
332
  logger.info("Spike threshold detection at: %f nA" % med_current)
326
333
 
327
- if abs(max_current - min_current) < .01:
328
- return max_current
329
- elif spike_detected:
334
+ if spike_detected:
330
335
  return search_threshold_current(template_name, morphology_path,
331
336
  template_format, emodel_properties,
332
337
  hyp_level, inj_start, inj_stop,
333
- min_current, med_current)
338
+ min_current, med_current,
339
+ current_precision)
334
340
  else:
335
341
  return search_threshold_current(template_name, morphology_path,
336
342
  template_format, emodel_properties,
337
343
  hyp_level, inj_start, inj_stop,
338
- med_current, max_current)
344
+ med_current, max_current,
345
+ current_precision)
339
346
 
340
347
 
341
348
  def check_empty_topology() -> bool:
@@ -1,5 +1,6 @@
1
1
  """Type aliases used within the package."""
2
-
2
+ from __future__ import annotations
3
+ from typing import Dict
3
4
  from typing_extensions import TypeAlias
4
5
  from neuron import h as hoc_type
5
6
 
@@ -8,3 +9,5 @@ NeuronRNG: TypeAlias = hoc_type
8
9
  NeuronVector: TypeAlias = hoc_type
9
10
  NeuronSection: TypeAlias = hoc_type
10
11
  TStim: TypeAlias = hoc_type
12
+
13
+ SectionMapping = Dict[str, NeuronSection]
bluecellulab/utils.py CHANGED
@@ -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,23 +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):
54
- super().__init__(processes=1, maxtasksperchild=1)
@@ -1,10 +1,3 @@
1
- BlueCellulab is licensed under the Apache License, unless noted otherwise,
2
- e.g., for external dependencies such as MOD or morphology files.
3
- For MOD files for which the original source is available on ModelDB,
4
- any specific licenses on mentioned on ModelDB, or the generic License of ModelDB apply.
5
- The licenses of the morphology files used in this repository are available on: https://zenodo.org/record/5909613
6
-
7
-
8
1
  Apache License
9
2
  Version 2.0, January 2004
10
3
  http://www.apache.org/licenses/
@@ -1,11 +1,12 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: bluecellulab
3
- Version: 2.4.0
4
- Summary: The Pythonic Blue Brain simulator access
5
- Home-page: https://github.com/BlueBrain/BlueCelluLab
3
+ Version: 2.6.37
4
+ Summary: Biologically detailed neural network simulations and analysis.
6
5
  Author: Blue Brain Project, EPFL
7
6
  License: Apache2.0
8
- Keywords: computational neuroscience,simulation,analysis,parameters,Blue Brain Project
7
+ Project-URL: Homepage, https://github.com/BlueBrain/BlueCelluLab
8
+ Project-URL: Documentation, https://bluecellulab.readthedocs.io/
9
+ Keywords: computational neuroscience,simulation,analysis,SONATA,neural networks,neuron,Blue Brain Project
9
10
  Classifier: Development Status :: 5 - Production/Stable
10
11
  Classifier: Environment :: Console
11
12
  Classifier: License :: OSI Approved :: Apache Software License
@@ -17,14 +18,15 @@ Requires-Python: >=3.8
17
18
  Description-Content-Type: text/x-rst
18
19
  License-File: LICENSE
19
20
  License-File: AUTHORS.txt
20
- Requires-Dist: NEURON <9.0.0,>=8.0.2
21
- Requires-Dist: numpy <2.0.0,>=1.8.0
22
- Requires-Dist: matplotlib <4.0.0,>=3.0.0
23
- Requires-Dist: pandas <3.0.0,>=1.0.0
24
- Requires-Dist: bluepysnap <4.0.0,>=3.0.0
25
- Requires-Dist: pydantic <3.0.0,>=2.5.2
26
- Requires-Dist: typing-extensions >=4.8.0
27
- Requires-Dist: networkx >=3.1
21
+ Requires-Dist: NEURON<9.0.0,>=8.0.2
22
+ Requires-Dist: numpy<2.0.0,>=1.8.0
23
+ Requires-Dist: matplotlib<4.0.0,>=3.0.0
24
+ Requires-Dist: pandas<3.0.0,>=1.0.0
25
+ Requires-Dist: bluepysnap<4.0.0,>=3.0.0
26
+ Requires-Dist: pydantic<3.0.0,>=2.5.2
27
+ Requires-Dist: typing-extensions>=4.8.0
28
+ Requires-Dist: networkx>=3.1
29
+ Requires-Dist: h5py>=3.8.0
28
30
 
29
31
  |banner|
30
32
 
@@ -44,9 +46,10 @@ BlueCelluLab
44
46
  +----------------+------------+
45
47
  | Gitter | |gitter| |
46
48
  +----------------+------------+
47
- | Citation | |zenodo| |
49
+ | Paper | |joss| |
50
+ +----------------+------------+
51
+ | Zenodo | |zenodo| |
48
52
  +----------------+------------+
49
-
50
53
 
51
54
  The Blue Brain Cellular Laboratory is designed for simulations and experiments on individual cells or groups of cells.
52
55
  Suitable use cases for BlueCelluLab include:
@@ -66,20 +69,25 @@ Suitable use cases for BlueCelluLab include:
66
69
  Citation
67
70
  ========
68
71
 
69
- When you use this BlueCelluLab software for your research, we ask you to cite the following reference(this includes poster presentations):
72
+ When using the BlueCelluLab software for your research, please cite the following paper (including for poster presentations): `BlueCelluLab: Biologically Detailed Neural Network Experimentation API <https://doi.org/10.21105/joss.07026>`_
70
73
 
71
74
  .. code-block::
72
75
 
73
- @software{bluecellulab_zenodo,
74
- author = {Van Geit, Werner and Tuncel, Anil and Gevaert, Mike and Torben-Nielsen, Benjamin and Muller, Eilif},
75
- title = {BlueCelluLab},
76
- month = jul,
77
- year = 2023,
78
- publisher = {Zenodo},
79
- doi = {10.5281/zenodo.8113483},
80
- url = {https://doi.org/10.5281/zenodo.8113483}
76
+ @article{Tuncel2024,
77
+ doi = {10.21105/joss.07026},
78
+ url = {https://doi.org/10.21105/joss.07026},
79
+ year = {2024},
80
+ publisher = {The Open Journal},
81
+ volume = {9},
82
+ number = {100},
83
+ pages = {7026},
84
+ author = {Anıl Tuncel and Werner Van Geit and Mike Gevaert and Benjamin Torben-Nielsen and Darshan Mandge and İlkan Kılıç and Aurélien Jaquier and Eilif Muller and Lida Kanari and Henry Markram},
85
+ title = {BlueCelluLab: Biologically Detailed Neural Network Experimentation API},
86
+ journal = {Journal of Open Source Software}
81
87
  }
82
88
 
89
+ If you need to cite a specific version, please use the DOI provided by `Zenodo <https://zenodo.org/records/8113483>`_, which you can access via the "Cite this repository" button at the top of the repository page.
90
+
83
91
  Support
84
92
  =======
85
93
 
@@ -144,6 +152,11 @@ Testing is set up using `tox`:
144
152
  tox -e py3 # runs the tests
145
153
  tox -e lint # runs the format checks
146
154
 
155
+ Contributing
156
+ ============
157
+
158
+ We welcome contributions to BlueCelluLab! Please see the `CONTRIBUTING.rst <https://github.com/BlueBrain/BlueCelluLab/blob/main/CONTRIBUTING.rst>`_ for guidelines on how to contribute.
159
+
147
160
  Funding & Acknowledgements
148
161
  ==========================
149
162
 
@@ -152,7 +165,7 @@ The development and maintenance of this code is supported by funding to the Blue
152
165
  Copyright
153
166
  =========
154
167
 
155
- Copyright (c) 2023 Blue Brain Project/EPFL
168
+ Copyright (c) 2023-2024 Blue Brain Project/EPFL
156
169
 
157
170
  This work is licensed under `Apache 2.0 <https://www.apache.org/licenses/LICENSE-2.0.html>`_
158
171
 
@@ -184,6 +197,10 @@ The licenses of the morphology files used in this repository are available on: h
184
197
  :target: https://gitter.im/BlueBrain/BlueCelluLab
185
198
  :alt: Join the chat at https://gitter.im/BlueBrain/BlueCelluLab
186
199
 
200
+ .. |joss| image:: https://joss.theoj.org/papers/effd553ca48734a2966d9d7ace3b05ff/status.svg
201
+ :target: https://joss.theoj.org/papers/effd553ca48734a2966d9d7ace3b05ff
202
+ :alt: JOSS
203
+
187
204
  .. |zenodo| image:: https://zenodo.org/badge/640805129.svg
188
205
  :target: https://zenodo.org/badge/latestdoi/640805129
189
206
 
@@ -0,0 +1,70 @@
1
+ bluecellulab/__init__.py,sha256=1d_CKIJLIpon7o13h3lBnV_-33obZEPwa9KDTjlFPD8,880
2
+ bluecellulab/circuit_simulation.py,sha256=zzVCGP-SP8pdzSt03_FSvSCAeigaBfSb4A-mFfw2AwI,33587
3
+ bluecellulab/connection.py,sha256=-xT0mU7ppeHI_qjCKj17TtxXVVcUDgBsaMKt9ODmcEU,4640
4
+ bluecellulab/dendrogram.py,sha256=FjS6RZ6xcp5zJoY5d5qv_edqPM13tL2-UANgbZuDBjY,6427
5
+ bluecellulab/exceptions.py,sha256=1lKD92VIyD8cUggAI1SLxeKzj_09Ik_TlHCzPLCvDHg,2379
6
+ bluecellulab/graph.py,sha256=o-9NnRrli0AqfGcw0-nhjaICH2IeqCH76uAlbZbo2dQ,3419
7
+ bluecellulab/importer.py,sha256=ePxoquSRGGK123mR_VWDLKf9CE-N28NXAAY1DCm3T7Y,2900
8
+ bluecellulab/neuron_interpreter.py,sha256=Nerehh6SNIRcTH8NHvyZvL_axadeix67uer-lRGuw9U,2185
9
+ bluecellulab/plotwindow.py,sha256=ePU-EegZ1Sqk0SoYYiQ6k24ZO4s3Hgfpx10uePiJ5xM,2721
10
+ bluecellulab/psection.py,sha256=FSOwRNuOTyB469BM-jPEf9l1J59FamXmzrQgBI6cnP4,6174
11
+ bluecellulab/psegment.py,sha256=PTgoGLqM4oFIdF_8QHFQCU59j-8TQmtq6PakiGUQhIo,3138
12
+ bluecellulab/rngsettings.py,sha256=2Ykb4Ylk3XTs58x1UIxjg8XJqjSpnCgKRZ8avXCDpxk,4237
13
+ bluecellulab/tools.py,sha256=ytziurCwhp2iuiwhYrr4yk7PywikDL8Hk-Knx5CYFK8,11213
14
+ bluecellulab/type_aliases.py,sha256=DvgjERv2Ztdw_sW63JrZTQGpJ0x5uMTFB5hcBHDb0WA,441
15
+ bluecellulab/utils.py,sha256=SbOOkzw1YGjCKV3qOw0zpabNEy7V9BRtgMLsQJiFRq4,1526
16
+ bluecellulab/verbosity.py,sha256=T0IgX7DrRo19faxrT4Xzb27gqxzoILQ8FzYKxvUeaPM,1342
17
+ bluecellulab/analysis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
+ bluecellulab/analysis/inject_sequence.py,sha256=Ih3wdNRn0-lM-NW8agrMUGS862CEgzn_hl54DFDXyjM,6325
19
+ bluecellulab/cell/__init__.py,sha256=Sbc0QOsJ8E7tSwf3q7fsXuE_SevBN6ZmoCVyyU5zfII,208
20
+ bluecellulab/cell/cell_dict.py,sha256=VE7pi-NsMVRSmo-PSdbiLYmolDOu0Gc6JxFBkuQpFdk,1346
21
+ bluecellulab/cell/core.py,sha256=QzCC2uVj1yOSLi3-dGN3Iib9POTNRGNJSnjvJue1T5g,31315
22
+ bluecellulab/cell/injector.py,sha256=p4e36Bmubm7uYfK0gvdEUeff18SE_4lZcRszRfqccWs,18042
23
+ bluecellulab/cell/plotting.py,sha256=t2qDUabFtsBb-nJMkDh5UfsgW-wvQ2wfDwAVZ8-hWPo,4032
24
+ bluecellulab/cell/random.py,sha256=pemekc11geRBKD8Ghb82tvKOZLfFWkUz1IKLc_NWg-A,1773
25
+ bluecellulab/cell/recording.py,sha256=dekJspPb_5yrS6WR3aXtvZ6KWwMNbyhe5aIOVtNDHpY,342
26
+ bluecellulab/cell/section_distance.py,sha256=QrNJ_avRSm-PFZfSg-FrcCqu-BNZNwcbECwMN9fY2ho,3908
27
+ bluecellulab/cell/serialized_sections.py,sha256=5JfLNgrUKdyYe4mKFIH2zMnT5QohNB9JYXbe475goEg,1543
28
+ bluecellulab/cell/sonata_proxy.py,sha256=1FsMDosS7fbffgY_shaBKVIXjkmxL5aiPLlxcgeAUsc,1529
29
+ bluecellulab/cell/stimuli_generator.py,sha256=DwWX8Keed1KgKExwlD4u-h4WUhEXcsG7XPjJTxqfZaQ,7129
30
+ bluecellulab/cell/template.py,sha256=JigOhRh52AX9nE25lDhYPUaDsTz7mhW-mUD-8x8tpoM,7573
31
+ bluecellulab/cell/ballstick/__init__.py,sha256=v1Z8tHFfbpWShxOBdShCUaE0utoz-7rZumuNBQtNOFI,439
32
+ bluecellulab/cell/ballstick/emodel.hoc,sha256=7WcuepK-wB9bASRvNdCwO9Woc9-SpBCFqBqCXKgjsV8,1517
33
+ bluecellulab/cell/ballstick/morphology.asc,sha256=EO0VIRilJAwpiDP2hIevwusfvYptNYhvsu1f5GgbSQo,190
34
+ bluecellulab/circuit/__init__.py,sha256=Khpa13nzNvDlDS2JduyoFTukEduEkWCc5ML_JwGpmZs,361
35
+ bluecellulab/circuit/format.py,sha256=90gWOXg6HK0R9a4WFSnnRH8XezxmzOGk5dRpJHbvbbU,1674
36
+ bluecellulab/circuit/iotools.py,sha256=h3nlPp1b30VVjkxg6hIfZibdXODxpFXXD1guR2fa0rg,1585
37
+ bluecellulab/circuit/node_id.py,sha256=FdoFAGq0_sCyQySOuNI0chdbVr3L8R0w2Y1em5MyIDA,1265
38
+ bluecellulab/circuit/simulation_access.py,sha256=keME58gzLVAPEg2nnWD_bwEm9V2Kjeqyfoj_55GPMCM,7061
39
+ bluecellulab/circuit/synapse_properties.py,sha256=TvUMiXZAAeYo1zKkus3z1EUvrE9QCIQ3Ze-jSnPSJWY,6374
40
+ bluecellulab/circuit/validate.py,sha256=wntnr7oIDyasqD1nM-kqz1NpfWDxBGhx0Ep3e5hHXIw,3593
41
+ bluecellulab/circuit/circuit_access/__init__.py,sha256=sgp6m5kP-pq60V1IFGUiSUR1OW01zdxXNNUJmPA8anI,201
42
+ bluecellulab/circuit/circuit_access/bluepy_circuit_access.py,sha256=aXvtZR8EwpVEkB4KAupjC4DX_1xYC4OrHwMUQcQIWrQ,14273
43
+ bluecellulab/circuit/circuit_access/definition.py,sha256=_sUU0DkesGOFW82kS1G9vki0o0aQP76z3Ltk7Vo9KK4,4435
44
+ bluecellulab/circuit/circuit_access/sonata_circuit_access.py,sha256=oxMHFG4IBZXhr0mAQpgTNueLaagKbm-7f8VgDDJIg0E,10361
45
+ bluecellulab/circuit/config/__init__.py,sha256=aaoJXRKBJzpxxREo9NxKc-_CCPmVeuR1mcViRXcLrC4,215
46
+ bluecellulab/circuit/config/bluepy_simulation_config.py,sha256=V3eqOzskX7VrMDpl-nMQVEhDg8QWgRmRduyJBii5sgI,6974
47
+ bluecellulab/circuit/config/definition.py,sha256=I1jd4KUX21mw03FEv1aYNsT0UFbDANY3YEPwwKXqe4k,2774
48
+ bluecellulab/circuit/config/sections.py,sha256=QRnU44-OFvHxcF1LX4bAEP9dk3I6UKsuPNBbWkdfmRE,7151
49
+ bluecellulab/circuit/config/sonata_simulation_config.py,sha256=7yEvuourzN2nRjzsA5CcDF8pcjEyjSJHitp3OH-ijgk,4829
50
+ bluecellulab/hoc/Cell.hoc,sha256=z77qRQG_-afj-RLX0xN6V-K6Duq3bR7vmlDrGWPdh4E,16435
51
+ bluecellulab/hoc/RNGSettings.hoc,sha256=okJBdqlPXET8BrpG1Q31GdaxHfpe3CE0L5P7MAhfQTE,1227
52
+ bluecellulab/hoc/TDistFunc.hoc,sha256=WKX-anvL83xGuGPH9g1oIORB17UM4Pi3-iIXzKO-pUQ,2663
53
+ bluecellulab/hoc/TStim.hoc,sha256=noBJbM_ZqF6T6MEgBeowNzz21I9QeYZ5brGgUvCSm4k,8473
54
+ bluecellulab/hoc/fileUtils.hoc,sha256=LSM7BgyjYVqo2DGSOKvg4W8IIusbsL45JVYK0vgwitU,2539
55
+ bluecellulab/simulation/__init__.py,sha256=P2ebt0SFw-08J3ihN-LeRn95HeF79tzA-Q0ReLm32dM,214
56
+ bluecellulab/simulation/neuron_globals.py,sha256=iBjhg0-1YMP5LsVdtUDt24PEypkCL6mlyzEBZqoS8xo,4508
57
+ bluecellulab/simulation/parallel.py,sha256=oQ_oV2EKr8gP4yF2Dq8q9MiblDyi89_wBgLzQkLV_U0,1514
58
+ bluecellulab/simulation/simulation.py,sha256=VhftOMYU1Rfrphvud6f0U4kvbUivSviQ5TlVljuTb88,6486
59
+ bluecellulab/stimulus/__init__.py,sha256=DgIgVaSyR-URf3JZzvO6j-tjCerzvktuK-ep8pjMRPQ,37
60
+ bluecellulab/stimulus/circuit_stimulus_definitions.py,sha256=WdjxoPL4_T1yn3mEhxH-TvU7d441Kf4v5QwFfH30UNI,15890
61
+ bluecellulab/stimulus/factory.py,sha256=L85RN-lImkyCEM87Pp1X5rpGNIHLNSMwx1b9dZxOhOo,24234
62
+ bluecellulab/synapse/__init__.py,sha256=RW8XoAMXOvK7OG1nHl_q8jSEKLj9ZN4oWf2nY9HAwuk,192
63
+ bluecellulab/synapse/synapse_factory.py,sha256=NHwRMYMrnRVm_sHmyKTJ1bdoNmWZNU4UPOGu7FCi-PE,6987
64
+ bluecellulab/synapse/synapse_types.py,sha256=zs_yBvGTH4QrbQF3nEViidyq1WM_ZcTSFdjUxB3khW0,16871
65
+ bluecellulab-2.6.37.dist-info/AUTHORS.txt,sha256=EDs3H-2HXBojbma10psixk3C2rFiOCTIREi2ZAbXYNQ,179
66
+ bluecellulab-2.6.37.dist-info/LICENSE,sha256=dAMAR2Sud4Nead1wGFleKiwTZfkTNZbzmuGfcTKb3kg,11335
67
+ bluecellulab-2.6.37.dist-info/METADATA,sha256=WjdGXa3ealMZkID135lo2fl2gcDNyHz5TBpUJlAoQ3I,8059
68
+ bluecellulab-2.6.37.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
69
+ bluecellulab-2.6.37.dist-info/top_level.txt,sha256=VSyEP8w9l3pXdRkyP_goeMwiNA8KWwitfAqUkveJkdQ,13
70
+ bluecellulab-2.6.37.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: setuptools (75.8.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,66 +0,0 @@
1
- bluecellulab/__init__.py,sha256=lYxUZtN_mLNUPJgBnKd4GbwDIVScDPD6ouC7OvWQxS0,645
2
- bluecellulab/connection.py,sha256=volV2YKtmqAF7MOEJar5ldF1ARAo7k2vF9MB1NXybUY,4640
3
- bluecellulab/dendrogram.py,sha256=w0vvv0Q169DolTX1j9dAZIvHIl4H258gAjQ1xQaNiGk,6427
4
- bluecellulab/exceptions.py,sha256=KIxF7s_7gPVJ07TiQ-Z1D8de7ylV74gNMhzl0339CVM,2379
5
- bluecellulab/graph.py,sha256=ODiQy4xjRVxtNITXeXpYnqHas0wR7gZ_aXuDAF7jMq4,3419
6
- bluecellulab/importer.py,sha256=l5nvD0y41-AheqoDNBGAX5qFTCG6_UFlLmqyFbUo77E,2998
7
- bluecellulab/neuron_interpreter.py,sha256=hXig_u3T6JmEHbkV8ZblEZtX0kY80ate4VpRtANNFrM,2185
8
- bluecellulab/plotwindow.py,sha256=UVHzml-BB83m5Qr-YGkjR9kB-vSW8mM0Owh2j95yIaU,2721
9
- bluecellulab/psection.py,sha256=EgAS8IS9DcYv2xOkNISgfg_CfRc0nDfRFjvgQhyi9eY,6328
10
- bluecellulab/psegment.py,sha256=rBryDYHC_uDK9itfXXrFZ0DL9F6WgRICL0j5EHN56QM,3125
11
- bluecellulab/rngsettings.py,sha256=qjwnzAEdbRt66DKd_NTD2OZnlu4hDH7UUOXxd0G9c_Q,4244
12
- bluecellulab/ssim.py,sha256=U8HFKso4lQkKowts_x2DQfG3ihR56KcN0ITeTlGu3hI,33533
13
- bluecellulab/tools.py,sha256=tS9a9VDMQOVw6zIllT3FxPIzQk4xheNlGf8lpIg01FY,10931
14
- bluecellulab/type_aliases.py,sha256=D-evdt299aK61rTh8YGCj-atcj_iFgZbqEoa2LcAiFw,340
15
- bluecellulab/utils.py,sha256=N9jOOcaxfa4DmG41d7N-M_ywtkAUrRh20llu0gOqXlQ,1743
16
- bluecellulab/verbosity.py,sha256=T0IgX7DrRo19faxrT4Xzb27gqxzoILQ8FzYKxvUeaPM,1342
17
- bluecellulab/cell/__init__.py,sha256=Sbc0QOsJ8E7tSwf3q7fsXuE_SevBN6ZmoCVyyU5zfII,208
18
- bluecellulab/cell/cell_dict.py,sha256=PVmZsjhZ9jp3HC-8QmdFqp-crAcVMSVeLWujcOPLlpo,1346
19
- bluecellulab/cell/core.py,sha256=A-41oObOZKY5H9MkbYIPpQXAaGPeHtK3aAKWZlirjuw,30861
20
- bluecellulab/cell/injector.py,sha256=28R3MTcnqAB_GGz23BTyWqCurMMkDrrNorgzWDKEFRs,18078
21
- bluecellulab/cell/plotting.py,sha256=_hZs5oYG4vmJBVf05cJ2O_cVazi5Eap8OkL9BtIwjW8,4001
22
- bluecellulab/cell/random.py,sha256=FDby9BN4eJT27COwHP59bhDE2v-c6rdOKNFj3cYZTVY,1773
23
- bluecellulab/cell/section_distance.py,sha256=J8-oqgCHzRaJkpfjPUR6NFtXDhwbrXad9nDaTCKNkTU,3908
24
- bluecellulab/cell/serialized_sections.py,sha256=UQUecO07ChRZ7xHuDp-QAQRUpUiIwROzHxjZliP9gfQ,1614
25
- bluecellulab/cell/sonata_proxy.py,sha256=dLT9mLlGVpXxj2O2lXN0g7Sq4BwroPLVdPikR2yNMv4,1529
26
- bluecellulab/cell/stimuli_generator.py,sha256=cJwjNwsQeEBHLjuJIFv6VBSqd9IpmbR7CuSMyotCiWc,6320
27
- bluecellulab/cell/template.py,sha256=EW7-hSa_sfWwd2hH_w48sHAlrN9O7XJSmnPfoWFdz08,7374
28
- bluecellulab/cell/ballstick/__init__.py,sha256=v1Z8tHFfbpWShxOBdShCUaE0utoz-7rZumuNBQtNOFI,439
29
- bluecellulab/cell/ballstick/emodel.hoc,sha256=7WcuepK-wB9bASRvNdCwO9Woc9-SpBCFqBqCXKgjsV8,1517
30
- bluecellulab/cell/ballstick/morphology.asc,sha256=EO0VIRilJAwpiDP2hIevwusfvYptNYhvsu1f5GgbSQo,190
31
- bluecellulab/circuit/__init__.py,sha256=Khpa13nzNvDlDS2JduyoFTukEduEkWCc5ML_JwGpmZs,361
32
- bluecellulab/circuit/format.py,sha256=eYhiBIQnPnnVBmaSDymFjQprXN9QjEYKmFhb2mIS86o,1674
33
- bluecellulab/circuit/iotools.py,sha256=ERtrsl9KePZ0QFKiTi5lbBgudXbcHrqxr-BY2ysFfqg,1591
34
- bluecellulab/circuit/node_id.py,sha256=gaRAW3UhbPOPsoXMHLjo3qH9iNod7YB8ZOcguWprrU4,1265
35
- bluecellulab/circuit/simulation_access.py,sha256=QHVEN-sEZbCCvblhBHEShGX0-NEXCD1AYpavpVGCgAE,7073
36
- bluecellulab/circuit/synapse_properties.py,sha256=6PpMWeothomR2c-mx63yVIISJc4eSL9xMnaIM2nryNM,5494
37
- bluecellulab/circuit/validate.py,sha256=7EUN15u0JFFlLf389jUBqLwDOHyZdfKtoidI-xLUVYA,3593
38
- bluecellulab/circuit/circuit_access/__init__.py,sha256=sgp6m5kP-pq60V1IFGUiSUR1OW01zdxXNNUJmPA8anI,201
39
- bluecellulab/circuit/circuit_access/bluepy_circuit_access.py,sha256=j-DYHMBTbq1TvlYyc-w1CSyqElSm6B6SyUdkxIGNA20,14746
40
- bluecellulab/circuit/circuit_access/definition.py,sha256=SnKBFEgdXFG-QexYRrGSzVAd7bSj7NwN0IuTsjDOrDY,4435
41
- bluecellulab/circuit/circuit_access/sonata_circuit_access.py,sha256=P1ElK_VA10_JyyKbAnqzuAlduEYE2c_NSec2TZuix1U,10345
42
- bluecellulab/circuit/config/__init__.py,sha256=aaoJXRKBJzpxxREo9NxKc-_CCPmVeuR1mcViRXcLrC4,215
43
- bluecellulab/circuit/config/bluepy_simulation_config.py,sha256=tUyHvzlxFWRxh8rBNvU0FdUqGqJR2G8OXifATQ9W7yw,6974
44
- bluecellulab/circuit/config/definition.py,sha256=o0751Dd83f8TWGw95EAQ8coJrYGasdshrIrXViF5lzg,2774
45
- bluecellulab/circuit/config/sections.py,sha256=O1198JvusdOQBWgUeOZ5OhOupbHvvt3NtP9JfBWNbn0,7151
46
- bluecellulab/circuit/config/sonata_simulation_config.py,sha256=P0IKazCuNAG97xq2xLwHLbmr_lrNAqPsa6rXi-uDqb0,4829
47
- bluecellulab/hoc/Cell.hoc,sha256=z77qRQG_-afj-RLX0xN6V-K6Duq3bR7vmlDrGWPdh4E,16435
48
- bluecellulab/hoc/RNGSettings.hoc,sha256=okJBdqlPXET8BrpG1Q31GdaxHfpe3CE0L5P7MAhfQTE,1227
49
- bluecellulab/hoc/TDistFunc.hoc,sha256=WKX-anvL83xGuGPH9g1oIORB17UM4Pi3-iIXzKO-pUQ,2663
50
- bluecellulab/hoc/TStim.hoc,sha256=noBJbM_ZqF6T6MEgBeowNzz21I9QeYZ5brGgUvCSm4k,8473
51
- bluecellulab/hoc/fileUtils.hoc,sha256=LSM7BgyjYVqo2DGSOKvg4W8IIusbsL45JVYK0vgwitU,2539
52
- bluecellulab/simulation/__init__.py,sha256=G1md-6mqaYQkfZT8pmzqRi3WW1fMQCgkeaela2kX3OM,258
53
- bluecellulab/simulation/neuron_globals.py,sha256=PuAxrXbr734RP-5q6YkHpnOgzTVyo_8SYZux9HABlaI,3348
54
- bluecellulab/simulation/simulation.py,sha256=tM5Psl-w25CHA4hp2fqs3GcZ2HSjIbu_6iyOcs-1jd8,6439
55
- bluecellulab/stimulus/__init__.py,sha256=DgIgVaSyR-URf3JZzvO6j-tjCerzvktuK-ep8pjMRPQ,37
56
- bluecellulab/stimulus/circuit_stimulus_definitions.py,sha256=uij_s44uNdmMwMLGmTHSRgmp9K9B_vvHHshX6YPJNJU,15686
57
- bluecellulab/stimulus/factory.py,sha256=AOby3Sp2g8BJsRccz3afazfCyysyWIgLtcliWlyeiu0,8097
58
- bluecellulab/synapse/__init__.py,sha256=RW8XoAMXOvK7OG1nHl_q8jSEKLj9ZN4oWf2nY9HAwuk,192
59
- bluecellulab/synapse/synapse_factory.py,sha256=YkvxbdGF-u-vxYdbRNTlX-9AtSC_3t_FQRFhybwzgrk,6805
60
- bluecellulab/synapse/synapse_types.py,sha256=4gne-hve2vq1Lau-LAVPsfLjffVYqAYBW3kCfC7_600,16871
61
- bluecellulab-2.4.0.dist-info/AUTHORS.txt,sha256=EDs3H-2HXBojbma10psixk3C2rFiOCTIREi2ZAbXYNQ,179
62
- bluecellulab-2.4.0.dist-info/LICENSE,sha256=xOouu1gC1GGklDxkITlaVl60I9Ab860O-nZsFbWydvU,11749
63
- bluecellulab-2.4.0.dist-info/METADATA,sha256=INJHNIWkhkP13SaZcuI50UsUJ8-hTjW35YS_YcAfGZA,6907
64
- bluecellulab-2.4.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
65
- bluecellulab-2.4.0.dist-info/top_level.txt,sha256=VSyEP8w9l3pXdRkyP_goeMwiNA8KWwitfAqUkveJkdQ,13
66
- bluecellulab-2.4.0.dist-info/RECORD,,