bluecellulab 2.6.61__py3-none-any.whl → 2.6.63__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.
- bluecellulab/analysis/analysis.py +48 -24
- bluecellulab/circuit/config/definition.py +8 -0
- bluecellulab/circuit/config/sonata_simulation_config.py +14 -1
- bluecellulab/circuit/simulation_access.py +29 -7
- bluecellulab/circuit_simulation.py +40 -94
- bluecellulab/reports/__init__.py +0 -0
- bluecellulab/reports/manager.py +78 -0
- bluecellulab/reports/utils.py +156 -0
- bluecellulab/reports/writers/__init__.py +25 -0
- bluecellulab/reports/writers/base_writer.py +30 -0
- bluecellulab/reports/writers/compartment.py +196 -0
- bluecellulab/reports/writers/spikes.py +61 -0
- bluecellulab/simulation/report.py +0 -264
- bluecellulab/simulation/simulation.py +5 -6
- bluecellulab/validation/validation.py +65 -30
- {bluecellulab-2.6.61.dist-info → bluecellulab-2.6.63.dist-info}/METADATA +1 -1
- {bluecellulab-2.6.61.dist-info → bluecellulab-2.6.63.dist-info}/RECORD +21 -14
- {bluecellulab-2.6.61.dist-info → bluecellulab-2.6.63.dist-info}/WHEEL +0 -0
- {bluecellulab-2.6.61.dist-info → bluecellulab-2.6.63.dist-info}/licenses/AUTHORS.txt +0 -0
- {bluecellulab-2.6.61.dist-info → bluecellulab-2.6.63.dist-info}/licenses/LICENSE +0 -0
- {bluecellulab-2.6.61.dist-info → bluecellulab-2.6.63.dist-info}/top_level.txt +0 -0
|
@@ -337,7 +337,7 @@ def rin_test(rin):
|
|
|
337
337
|
}
|
|
338
338
|
|
|
339
339
|
|
|
340
|
-
def iv_test(template_params, rheobase, out_dir, spike_threshold_voltage=-30
|
|
340
|
+
def iv_test(template_params, rheobase, out_dir, spike_threshold_voltage=-30., n_processes=None):
|
|
341
341
|
"""IV curve should have a positive slope."""
|
|
342
342
|
name = "Simulatable Neuron IV Curve Validation"
|
|
343
343
|
amps, steady_states = compute_plot_iv_curve(
|
|
@@ -348,7 +348,9 @@ def iv_test(template_params, rheobase, out_dir, spike_threshold_voltage=-30.):
|
|
|
348
348
|
show_figure=False,
|
|
349
349
|
save_figure=True,
|
|
350
350
|
output_dir=out_dir,
|
|
351
|
-
output_fname="iv_curve.pdf"
|
|
351
|
+
output_fname="iv_curve.pdf",
|
|
352
|
+
n_processes=n_processes,
|
|
353
|
+
)
|
|
352
354
|
|
|
353
355
|
outpath = pathlib.Path(out_dir) / "iv_curve.pdf"
|
|
354
356
|
|
|
@@ -375,7 +377,7 @@ def iv_test(template_params, rheobase, out_dir, spike_threshold_voltage=-30.):
|
|
|
375
377
|
}
|
|
376
378
|
|
|
377
379
|
|
|
378
|
-
def fi_test(template_params, rheobase, out_dir, spike_threshold_voltage=-30
|
|
380
|
+
def fi_test(template_params, rheobase, out_dir, spike_threshold_voltage=-30., n_processes=None):
|
|
379
381
|
"""FI curve should have a positive slope."""
|
|
380
382
|
name = "Simulatable Neuron FI Curve Validation"
|
|
381
383
|
amps, spike_counts = compute_plot_fi_curve(
|
|
@@ -386,7 +388,9 @@ def fi_test(template_params, rheobase, out_dir, spike_threshold_voltage=-30.):
|
|
|
386
388
|
show_figure=False,
|
|
387
389
|
save_figure=True,
|
|
388
390
|
output_dir=out_dir,
|
|
389
|
-
output_fname="fi_curve.pdf"
|
|
391
|
+
output_fname="fi_curve.pdf",
|
|
392
|
+
n_processes=n_processes,
|
|
393
|
+
)
|
|
390
394
|
|
|
391
395
|
outpath = pathlib.Path(out_dir) / "fi_curve.pdf"
|
|
392
396
|
|
|
@@ -448,7 +452,8 @@ def run_validations(
|
|
|
448
452
|
spike_threshold_voltage=-30,
|
|
449
453
|
v_init=-80.0,
|
|
450
454
|
celsius=34.0,
|
|
451
|
-
output_dir="./memodel_validation_figures"
|
|
455
|
+
output_dir="./memodel_validation_figures",
|
|
456
|
+
n_processes=None,
|
|
452
457
|
):
|
|
453
458
|
"""Run all the validations on the cell.
|
|
454
459
|
|
|
@@ -459,6 +464,9 @@ def run_validations(
|
|
|
459
464
|
v_init: Initial membrane potential. Default is -80.0 mV.
|
|
460
465
|
celsius: Temperature in Celsius. Default is 34.0.
|
|
461
466
|
output_dir (str): The directory to save the validation figures.
|
|
467
|
+
n_processes (int, optional): The number of processes to use for parallel execution
|
|
468
|
+
in IV and FI curves computation. If None or higher than the number of steps,
|
|
469
|
+
then it will use the number of steps as the number of processes instead.
|
|
462
470
|
"""
|
|
463
471
|
out_dir = pathlib.Path(output_dir) / cell_name
|
|
464
472
|
out_dir.mkdir(parents=True, exist_ok=True)
|
|
@@ -484,41 +492,68 @@ def run_validations(
|
|
|
484
492
|
)
|
|
485
493
|
|
|
486
494
|
logger.debug("Running validations...")
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
495
|
+
from bluecellulab.utils import NestedPool
|
|
496
|
+
val_n_processes = n_processes if n_processes is not None else 7
|
|
497
|
+
with NestedPool(processes=val_n_processes) as pool:
|
|
498
|
+
# Validation 1: Spiking Test
|
|
499
|
+
spiking_test_result_future = pool.apply_async(
|
|
500
|
+
spiking_test,
|
|
501
|
+
(cell.template_params, rheobase, out_dir, spike_threshold_voltage)
|
|
502
|
+
)
|
|
491
503
|
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
504
|
+
# Validation 2: Depolarization Block Test
|
|
505
|
+
depolarization_block_result_future = pool.apply_async(
|
|
506
|
+
depolarization_block_test,
|
|
507
|
+
(cell.template_params, rheobase, out_dir)
|
|
508
|
+
)
|
|
496
509
|
|
|
497
|
-
|
|
498
|
-
|
|
510
|
+
# Validation 3: Backpropagating AP Test
|
|
511
|
+
bpap_result_future = pool.apply_async(
|
|
512
|
+
bpap_test,
|
|
513
|
+
(cell.template_params, rheobase, out_dir)
|
|
514
|
+
)
|
|
499
515
|
|
|
500
|
-
|
|
501
|
-
|
|
516
|
+
# Validation 4: Postsynaptic Potential Test
|
|
517
|
+
# We have to wait for ProbAMPANMDA_EMS to be present in entitycore to implement this test
|
|
502
518
|
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
519
|
+
# Validation 5: AIS Spiking Test
|
|
520
|
+
ais_spiking_test_result_future = pool.apply_async(
|
|
521
|
+
ais_spiking_test,
|
|
522
|
+
(cell.template_params, rheobase, out_dir, spike_threshold_voltage)
|
|
523
|
+
)
|
|
507
524
|
|
|
508
|
-
|
|
509
|
-
|
|
525
|
+
# Validation 6: Hyperpolarization Test
|
|
526
|
+
hyperpolarization_result_future = pool.apply_async(
|
|
527
|
+
hyperpolarization_test,
|
|
528
|
+
(cell.template_params, rheobase, out_dir)
|
|
529
|
+
)
|
|
510
530
|
|
|
511
|
-
|
|
512
|
-
|
|
531
|
+
# Validation 7: Rin Test
|
|
532
|
+
rin_result_future = pool.apply_async(
|
|
533
|
+
rin_test,
|
|
534
|
+
(rin,)
|
|
535
|
+
)
|
|
513
536
|
|
|
537
|
+
# Validation 10: Thumbnail Test
|
|
538
|
+
thumbnail_result_future = pool.apply_async(
|
|
539
|
+
thumbnail_test,
|
|
540
|
+
(cell.template_params, rheobase, out_dir)
|
|
541
|
+
)
|
|
542
|
+
|
|
543
|
+
spiking_test_result = spiking_test_result_future.get()
|
|
544
|
+
depolarization_block_result = depolarization_block_result_future.get()
|
|
545
|
+
bpap_result = bpap_result_future.get()
|
|
546
|
+
ais_spiking_test_result = ais_spiking_test_result_future.get()
|
|
547
|
+
hyperpolarization_result = hyperpolarization_result_future.get()
|
|
548
|
+
rin_result = rin_result_future.get()
|
|
549
|
+
thumbnail_result = thumbnail_result_future.get()
|
|
550
|
+
|
|
551
|
+
# IV and FI tests are outside of nestedpool, because they use multiprocessing internaly
|
|
514
552
|
# Validation 8: IV Test
|
|
515
|
-
iv_test_result = iv_test(cell.template_params, rheobase, out_dir, spike_threshold_voltage)
|
|
553
|
+
iv_test_result = iv_test(cell.template_params, rheobase, out_dir, spike_threshold_voltage, n_processes)
|
|
516
554
|
|
|
517
555
|
# Validation 9: FI Test
|
|
518
|
-
fi_test_result = fi_test(cell.template_params, rheobase, out_dir, spike_threshold_voltage)
|
|
519
|
-
|
|
520
|
-
# Validation 10: Thumbnail Test
|
|
521
|
-
thumbnail_result = thumbnail_test(cell.template_params, rheobase, out_dir)
|
|
556
|
+
fi_test_result = fi_test(cell.template_params, rheobase, out_dir, spike_threshold_voltage, n_processes)
|
|
522
557
|
|
|
523
558
|
return {
|
|
524
559
|
"memodel_properties": {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
bluecellulab/__init__.py,sha256=1d_CKIJLIpon7o13h3lBnV_-33obZEPwa9KDTjlFPD8,880
|
|
2
|
-
bluecellulab/circuit_simulation.py,sha256=
|
|
2
|
+
bluecellulab/circuit_simulation.py,sha256=CryoBSUGc9z6nIAyNzCsyppeSlc_URJX6hZoZPgQI2Q,36807
|
|
3
3
|
bluecellulab/connection.py,sha256=-xT0mU7ppeHI_qjCKj17TtxXVVcUDgBsaMKt9ODmcEU,4640
|
|
4
4
|
bluecellulab/dendrogram.py,sha256=FjS6RZ6xcp5zJoY5d5qv_edqPM13tL2-UANgbZuDBjY,6427
|
|
5
5
|
bluecellulab/exceptions.py,sha256=1lKD92VIyD8cUggAI1SLxeKzj_09Ik_TlHCzPLCvDHg,2379
|
|
@@ -15,7 +15,7 @@ bluecellulab/type_aliases.py,sha256=DvgjERv2Ztdw_sW63JrZTQGpJ0x5uMTFB5hcBHDb0WA,
|
|
|
15
15
|
bluecellulab/utils.py,sha256=0NhwlzyLnSi8kziSfDsQf7pokO4qDkMJVAO33kSX4O0,2227
|
|
16
16
|
bluecellulab/verbosity.py,sha256=T0IgX7DrRo19faxrT4Xzb27gqxzoILQ8FzYKxvUeaPM,1342
|
|
17
17
|
bluecellulab/analysis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
18
|
-
bluecellulab/analysis/analysis.py,sha256=
|
|
18
|
+
bluecellulab/analysis/analysis.py,sha256=W5MBCJthuuA7fFEJRZExONjTEWOhgDbtmTq23Cv7fbc,22449
|
|
19
19
|
bluecellulab/analysis/inject_sequence.py,sha256=bpi_C1oz_G5cZv_CvvZG8SnGYaKIlDsIFHdkOAkDm-E,12666
|
|
20
20
|
bluecellulab/analysis/plotting.py,sha256=PqRoaZz33ULMw8A9YnZXXrxcUd84M_dwlYMTFhG7YT4,3999
|
|
21
21
|
bluecellulab/analysis/utils.py,sha256=eMirP557D11BuedgSqjripDxOq1haIldNbnYNetV1bg,121
|
|
@@ -38,7 +38,7 @@ bluecellulab/circuit/__init__.py,sha256=Khpa13nzNvDlDS2JduyoFTukEduEkWCc5ML_JwGp
|
|
|
38
38
|
bluecellulab/circuit/format.py,sha256=90gWOXg6HK0R9a4WFSnnRH8XezxmzOGk5dRpJHbvbbU,1674
|
|
39
39
|
bluecellulab/circuit/iotools.py,sha256=Q65xYDaiensMtrulC3OLsS2_hcWr_Kje0nXFrAizMMo,1589
|
|
40
40
|
bluecellulab/circuit/node_id.py,sha256=FdoFAGq0_sCyQySOuNI0chdbVr3L8R0w2Y1em5MyIDA,1265
|
|
41
|
-
bluecellulab/circuit/simulation_access.py,sha256=
|
|
41
|
+
bluecellulab/circuit/simulation_access.py,sha256=8LX5nbKw_Hu7AR3pGLdTFGwehvhaj-r8Mh1q3dVoiVg,7745
|
|
42
42
|
bluecellulab/circuit/synapse_properties.py,sha256=TvUMiXZAAeYo1zKkus3z1EUvrE9QCIQ3Ze-jSnPSJWY,6374
|
|
43
43
|
bluecellulab/circuit/validate.py,sha256=wntnr7oIDyasqD1nM-kqz1NpfWDxBGhx0Ep3e5hHXIw,3593
|
|
44
44
|
bluecellulab/circuit/circuit_access/__init__.py,sha256=sgp6m5kP-pq60V1IFGUiSUR1OW01zdxXNNUJmPA8anI,201
|
|
@@ -47,19 +47,26 @@ bluecellulab/circuit/circuit_access/definition.py,sha256=_sUU0DkesGOFW82kS1G9vki
|
|
|
47
47
|
bluecellulab/circuit/circuit_access/sonata_circuit_access.py,sha256=tADHxVZw4VgZAz2z4NKMUwc0rd_EO40EZggw5fDhnF4,10411
|
|
48
48
|
bluecellulab/circuit/config/__init__.py,sha256=aaoJXRKBJzpxxREo9NxKc-_CCPmVeuR1mcViRXcLrC4,215
|
|
49
49
|
bluecellulab/circuit/config/bluepy_simulation_config.py,sha256=V3eqOzskX7VrMDpl-nMQVEhDg8QWgRmRduyJBii5sgI,6974
|
|
50
|
-
bluecellulab/circuit/config/definition.py,sha256=
|
|
50
|
+
bluecellulab/circuit/config/definition.py,sha256=cotKRDHOjzZKNgNSrZ29voU-66W8jaGt5yuge1hyv18,2953
|
|
51
51
|
bluecellulab/circuit/config/sections.py,sha256=QRnU44-OFvHxcF1LX4bAEP9dk3I6UKsuPNBbWkdfmRE,7151
|
|
52
|
-
bluecellulab/circuit/config/sonata_simulation_config.py,sha256=
|
|
52
|
+
bluecellulab/circuit/config/sonata_simulation_config.py,sha256=J1DFqNxIJKAxD1KU_oJV9tigMdpT_Not0Q8SF5q2EeQ,7271
|
|
53
53
|
bluecellulab/hoc/Cell.hoc,sha256=z77qRQG_-afj-RLX0xN6V-K6Duq3bR7vmlDrGWPdh4E,16435
|
|
54
54
|
bluecellulab/hoc/RNGSettings.hoc,sha256=okJBdqlPXET8BrpG1Q31GdaxHfpe3CE0L5P7MAhfQTE,1227
|
|
55
55
|
bluecellulab/hoc/TDistFunc.hoc,sha256=WKX-anvL83xGuGPH9g1oIORB17UM4Pi3-iIXzKO-pUQ,2663
|
|
56
56
|
bluecellulab/hoc/TStim.hoc,sha256=noBJbM_ZqF6T6MEgBeowNzz21I9QeYZ5brGgUvCSm4k,8473
|
|
57
57
|
bluecellulab/hoc/fileUtils.hoc,sha256=LSM7BgyjYVqo2DGSOKvg4W8IIusbsL45JVYK0vgwitU,2539
|
|
58
|
+
bluecellulab/reports/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
59
|
+
bluecellulab/reports/manager.py,sha256=hy54B7AXa46bgjKJ_Ar65_GYIu9C8Zg2fgxIlxSweRE,3284
|
|
60
|
+
bluecellulab/reports/utils.py,sha256=yZPtO0HXs6HPDVOZQbeXlPajnSOqE2Qmx8VufQFJFT0,5557
|
|
61
|
+
bluecellulab/reports/writers/__init__.py,sha256=Q8Y2GC83jseH5QY9IlEQsvaUQIH-BzgqhVjGRWD5j90,826
|
|
62
|
+
bluecellulab/reports/writers/base_writer.py,sha256=P5ramFD2oFIroEBCH1pAscbkfcBIVYFIBg4pVpSP2IU,1042
|
|
63
|
+
bluecellulab/reports/writers/compartment.py,sha256=EwFc2NwqhGEwGShEFOIrpYWRgH4b7qZCwsPvpUxeboU,7212
|
|
64
|
+
bluecellulab/reports/writers/spikes.py,sha256=ycMuoT6f-UbAbC47X9gkG44OQYeAGBQMB2RdJAq3Ykg,2558
|
|
58
65
|
bluecellulab/simulation/__init__.py,sha256=P2ebt0SFw-08J3ihN-LeRn95HeF79tzA-Q0ReLm32dM,214
|
|
59
66
|
bluecellulab/simulation/neuron_globals.py,sha256=iBjhg0-1YMP5LsVdtUDt24PEypkCL6mlyzEBZqoS8xo,4508
|
|
60
67
|
bluecellulab/simulation/parallel.py,sha256=oQ_oV2EKr8gP4yF2Dq8q9MiblDyi89_wBgLzQkLV_U0,1514
|
|
61
|
-
bluecellulab/simulation/report.py,sha256=
|
|
62
|
-
bluecellulab/simulation/simulation.py,sha256=
|
|
68
|
+
bluecellulab/simulation/report.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
69
|
+
bluecellulab/simulation/simulation.py,sha256=OfrzeHvLmOV2ptYcGie_fVGrtkDfizLpE6ZyQWVxnIE,6492
|
|
63
70
|
bluecellulab/stimulus/__init__.py,sha256=DgIgVaSyR-URf3JZzvO6j-tjCerzvktuK-ep8pjMRPQ,37
|
|
64
71
|
bluecellulab/stimulus/circuit_stimulus_definitions.py,sha256=h_SqjJ-L3yNxiEO8I6Cy7i-lhfZXjrdCc92dl8bjOog,17229
|
|
65
72
|
bluecellulab/stimulus/factory.py,sha256=4fvVFFjOGHSqBidLe_W1zQozfMEeePXWO6yYCs30-SM,30780
|
|
@@ -67,10 +74,10 @@ bluecellulab/stimulus/stimulus.py,sha256=a_hKJUtZmIgjiFjbJf6RzUPokELqn0IHCgIWGw5
|
|
|
67
74
|
bluecellulab/synapse/__init__.py,sha256=RW8XoAMXOvK7OG1nHl_q8jSEKLj9ZN4oWf2nY9HAwuk,192
|
|
68
75
|
bluecellulab/synapse/synapse_factory.py,sha256=NHwRMYMrnRVm_sHmyKTJ1bdoNmWZNU4UPOGu7FCi-PE,6987
|
|
69
76
|
bluecellulab/synapse/synapse_types.py,sha256=zs_yBvGTH4QrbQF3nEViidyq1WM_ZcTSFdjUxB3khW0,16871
|
|
70
|
-
bluecellulab/validation/validation.py,sha256=
|
|
71
|
-
bluecellulab-2.6.
|
|
72
|
-
bluecellulab-2.6.
|
|
73
|
-
bluecellulab-2.6.
|
|
74
|
-
bluecellulab-2.6.
|
|
75
|
-
bluecellulab-2.6.
|
|
76
|
-
bluecellulab-2.6.
|
|
77
|
+
bluecellulab/validation/validation.py,sha256=csy1xKOOWdlo3NYHdknePPxb7KBRTjoUV-81ZmWo2CM,20041
|
|
78
|
+
bluecellulab-2.6.63.dist-info/licenses/AUTHORS.txt,sha256=EDs3H-2HXBojbma10psixk3C2rFiOCTIREi2ZAbXYNQ,179
|
|
79
|
+
bluecellulab-2.6.63.dist-info/licenses/LICENSE,sha256=dAMAR2Sud4Nead1wGFleKiwTZfkTNZbzmuGfcTKb3kg,11335
|
|
80
|
+
bluecellulab-2.6.63.dist-info/METADATA,sha256=J9j4rWRv1plUDoTz99tw1JxhVUNpJq4f1jk6qbLM5p4,8259
|
|
81
|
+
bluecellulab-2.6.63.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
82
|
+
bluecellulab-2.6.63.dist-info/top_level.txt,sha256=VSyEP8w9l3pXdRkyP_goeMwiNA8KWwitfAqUkveJkdQ,13
|
|
83
|
+
bluecellulab-2.6.63.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|