bluecellulab 2.6.1__py3-none-any.whl → 2.6.3__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.

@@ -191,23 +191,15 @@ class BluepyCircuitAccess:
191
191
 
192
192
  if isinstance(connectome._impl, SonataConnectome):
193
193
  logger.debug('Using sonata style synapse file, not nrn.h5')
194
- # load 'afferent_section_pos' instead of '_POST_DISTANCE'
195
- if 'afferent_section_pos' in connectome.available_properties:
196
- connectome_properties[
197
- connectome_properties.index(SynapseProperty.POST_SEGMENT_OFFSET)
198
- ] = 'afferent_section_pos'
199
-
200
- connectome_properties = properties_to_bluepy(connectome_properties)
201
- synapses = connectome.afferent_synapses(
202
- gid, properties=connectome_properties
203
- )
204
- synapses.columns = properties_from_bluepy(synapses.columns)
205
- else:
206
- connectome_properties = properties_to_bluepy(connectome_properties)
207
- synapses = connectome.afferent_synapses(
208
- gid, properties=connectome_properties
209
- )
210
- synapses.columns = properties_from_bluepy(synapses.columns)
194
+ connectome_properties.remove(SynapseProperty.POST_SEGMENT_OFFSET)
195
+ else: # afferent section_pos will be computed via post_segment_offset
196
+ connectome_properties.remove(SynapseProperty.AFFERENT_SECTION_POS)
197
+
198
+ connectome_properties = properties_to_bluepy(connectome_properties)
199
+ synapses = connectome.afferent_synapses(
200
+ gid, properties=connectome_properties
201
+ )
202
+ synapses.columns = properties_from_bluepy(synapses.columns)
211
203
 
212
204
  synapses = synapses.reset_index(drop=True)
213
205
  synapses.index = pd.MultiIndex.from_tuples(
@@ -140,12 +140,15 @@ def properties_from_bluepy(
140
140
  'str's."""
141
141
  if not BLUEPY_AVAILABLE:
142
142
  raise ExtraDependencyMissingError("bluepy")
143
- return [
144
- SynapseProperty.from_bluepy(prop)
145
- if isinstance(prop, BLPSynapse)
146
- else prop
147
- for prop in props
148
- ]
143
+ res: list[SynapseProperty | str] = []
144
+ for prop in props:
145
+ if isinstance(prop, BLPSynapse):
146
+ res.append(SynapseProperty.from_bluepy(prop))
147
+ elif prop == "afferent_section_pos": # jira_url/project/issues/browse/NSETM-2313
148
+ res.append(SynapseProperty.AFFERENT_SECTION_POS)
149
+ else:
150
+ res.append(prop)
151
+ return res
149
152
 
150
153
 
151
154
  def properties_to_bluepy(props: list[SynapseProperty | str]) -> list[BLPSynapse | str]:
@@ -154,14 +157,19 @@ def properties_to_bluepy(props: list[SynapseProperty | str]) -> list[BLPSynapse
154
157
  # bluepy does not have AFFERENT_SECTION_POS atm.
155
158
  # jira_url/project/issues/browse/NSETM-2313
156
159
  bluepy_recognised_props = props.copy()
160
+ removed_afferent_section_pos = False
157
161
  if SynapseProperty.AFFERENT_SECTION_POS in bluepy_recognised_props:
162
+ removed_afferent_section_pos = True
158
163
  bluepy_recognised_props.remove(SynapseProperty.AFFERENT_SECTION_POS)
159
- return [
164
+ res = [
160
165
  prop.to_bluepy()
161
166
  if isinstance(prop, SynapseProperty)
162
167
  else prop
163
168
  for prop in bluepy_recognised_props
164
169
  ]
170
+ if removed_afferent_section_pos:
171
+ res.append("afferent_section_pos")
172
+ return res
165
173
 
166
174
 
167
175
  def synapse_property_encoder(dct: dict[SynapseProperty | str, Any]) -> dict[str, Any]:
bluecellulab/graph.py CHANGED
@@ -82,4 +82,4 @@ def plot_graph(G: nx.Graph, node_size: float = 400, edge_width: float = 0.4, nod
82
82
  # Add text at the bottom of the figure
83
83
  plt.figtext(0.5, 0.01, "Network of simulated cells", ha="center", fontsize=10, va="bottom")
84
84
 
85
- plt.show()
85
+ return plt
@@ -114,10 +114,10 @@ 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
121
  else:
122
122
  ipt = syn_description[SynapseProperty.POST_SEGMENT_ID]
123
123
  syn_offset = syn_description[SynapseProperty.POST_SEGMENT_OFFSET]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: bluecellulab
3
- Version: 2.6.1
3
+ Version: 2.6.3
4
4
  Summary: Biologically detailed neural network simulations and analysis.
5
5
  Author: Blue Brain Project, EPFL
6
6
  License: Apache2.0
@@ -3,7 +3,7 @@ bluecellulab/circuit_simulation.py,sha256=GLy_O5onhiSa-RajorDHlgP1rkFxjUONB4G6B4
3
3
  bluecellulab/connection.py,sha256=volV2YKtmqAF7MOEJar5ldF1ARAo7k2vF9MB1NXybUY,4640
4
4
  bluecellulab/dendrogram.py,sha256=w0vvv0Q169DolTX1j9dAZIvHIl4H258gAjQ1xQaNiGk,6427
5
5
  bluecellulab/exceptions.py,sha256=KIxF7s_7gPVJ07TiQ-Z1D8de7ylV74gNMhzl0339CVM,2379
6
- bluecellulab/graph.py,sha256=ODiQy4xjRVxtNITXeXpYnqHas0wR7gZ_aXuDAF7jMq4,3419
6
+ bluecellulab/graph.py,sha256=o-9NnRrli0AqfGcw0-nhjaICH2IeqCH76uAlbZbo2dQ,3419
7
7
  bluecellulab/importer.py,sha256=zwVi1Nx2f8xzFfzxzYoXa7gfi7DQapqkRJII5sBbRyY,2900
8
8
  bluecellulab/neuron_interpreter.py,sha256=hXig_u3T6JmEHbkV8ZblEZtX0kY80ate4VpRtANNFrM,2185
9
9
  bluecellulab/plotwindow.py,sha256=UVHzml-BB83m5Qr-YGkjR9kB-vSW8mM0Owh2j95yIaU,2721
@@ -36,10 +36,10 @@ bluecellulab/circuit/format.py,sha256=eYhiBIQnPnnVBmaSDymFjQprXN9QjEYKmFhb2mIS86
36
36
  bluecellulab/circuit/iotools.py,sha256=KVE7x5LNQ4RgjNh05Q-h3Swpbs3nRFtrcWNHj62aiRI,1585
37
37
  bluecellulab/circuit/node_id.py,sha256=gaRAW3UhbPOPsoXMHLjo3qH9iNod7YB8ZOcguWprrU4,1265
38
38
  bluecellulab/circuit/simulation_access.py,sha256=QHVEN-sEZbCCvblhBHEShGX0-NEXCD1AYpavpVGCgAE,7073
39
- bluecellulab/circuit/synapse_properties.py,sha256=tF2vfYVKtyS6hWrk_hHmvdUQvXIlZi8ZY0Vcci0-_sA,5967
39
+ bluecellulab/circuit/synapse_properties.py,sha256=a4-Yw_f8JIR6i2YG8qhCW97TMSd_Z-aF6lp_a1wBwnM,6374
40
40
  bluecellulab/circuit/validate.py,sha256=7EUN15u0JFFlLf389jUBqLwDOHyZdfKtoidI-xLUVYA,3593
41
41
  bluecellulab/circuit/circuit_access/__init__.py,sha256=sgp6m5kP-pq60V1IFGUiSUR1OW01zdxXNNUJmPA8anI,201
42
- bluecellulab/circuit/circuit_access/bluepy_circuit_access.py,sha256=HxQaRTz1HaeOVV87fiptJBXRNWCitT-5YHn71WtSsLg,14687
42
+ bluecellulab/circuit/circuit_access/bluepy_circuit_access.py,sha256=pUoTw6wXMGZAqjjC3vpdZcm8ex108aEPw0L6fSypx9g,14273
43
43
  bluecellulab/circuit/circuit_access/definition.py,sha256=SnKBFEgdXFG-QexYRrGSzVAd7bSj7NwN0IuTsjDOrDY,4435
44
44
  bluecellulab/circuit/circuit_access/sonata_circuit_access.py,sha256=c0MMJuoT6_dRW8O5HSRS5hHv1zDKdW0sBR-DaP0F1bk,10351
45
45
  bluecellulab/circuit/config/__init__.py,sha256=aaoJXRKBJzpxxREo9NxKc-_CCPmVeuR1mcViRXcLrC4,215
@@ -60,11 +60,11 @@ bluecellulab/stimulus/__init__.py,sha256=DgIgVaSyR-URf3JZzvO6j-tjCerzvktuK-ep8pj
60
60
  bluecellulab/stimulus/circuit_stimulus_definitions.py,sha256=uij_s44uNdmMwMLGmTHSRgmp9K9B_vvHHshX6YPJNJU,15686
61
61
  bluecellulab/stimulus/factory.py,sha256=cjnMqFx-Y31kV1XHvkSbGI2f1OpEawU3Wg_cLqcIyRc,11883
62
62
  bluecellulab/synapse/__init__.py,sha256=RW8XoAMXOvK7OG1nHl_q8jSEKLj9ZN4oWf2nY9HAwuk,192
63
- bluecellulab/synapse/synapse_factory.py,sha256=YkvxbdGF-u-vxYdbRNTlX-9AtSC_3t_FQRFhybwzgrk,6805
63
+ bluecellulab/synapse/synapse_factory.py,sha256=MjUorWoMl4lFSBgQw4QS09Dzh0-LYWlCHJKYy8N-d3w,6847
64
64
  bluecellulab/synapse/synapse_types.py,sha256=4gne-hve2vq1Lau-LAVPsfLjffVYqAYBW3kCfC7_600,16871
65
- bluecellulab-2.6.1.dist-info/AUTHORS.txt,sha256=EDs3H-2HXBojbma10psixk3C2rFiOCTIREi2ZAbXYNQ,179
66
- bluecellulab-2.6.1.dist-info/LICENSE,sha256=xOouu1gC1GGklDxkITlaVl60I9Ab860O-nZsFbWydvU,11749
67
- bluecellulab-2.6.1.dist-info/METADATA,sha256=jQkc9kIE0mWCM6BNhdQaFA-bP-Enl_6NFyeelVMvq9E,7025
68
- bluecellulab-2.6.1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
69
- bluecellulab-2.6.1.dist-info/top_level.txt,sha256=VSyEP8w9l3pXdRkyP_goeMwiNA8KWwitfAqUkveJkdQ,13
70
- bluecellulab-2.6.1.dist-info/RECORD,,
65
+ bluecellulab-2.6.3.dist-info/AUTHORS.txt,sha256=EDs3H-2HXBojbma10psixk3C2rFiOCTIREi2ZAbXYNQ,179
66
+ bluecellulab-2.6.3.dist-info/LICENSE,sha256=xOouu1gC1GGklDxkITlaVl60I9Ab860O-nZsFbWydvU,11749
67
+ bluecellulab-2.6.3.dist-info/METADATA,sha256=yg81T-fh1WY_SIy1BaGDTXzBe2_b7kmtUJie9gPIIqM,7025
68
+ bluecellulab-2.6.3.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
69
+ bluecellulab-2.6.3.dist-info/top_level.txt,sha256=VSyEP8w9l3pXdRkyP_goeMwiNA8KWwitfAqUkveJkdQ,13
70
+ bluecellulab-2.6.3.dist-info/RECORD,,