bluecellulab 2.5.11__tar.gz → 2.6.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of bluecellulab might be problematic. Click here for more details.
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/PKG-INFO +1 -1
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/analysis/inject_sequence.py +2 -6
- bluecellulab-2.6.0/bluecellulab/stimulus/factory.py +389 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab.egg-info/PKG-INFO +1 -1
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/docs/source/list_of_stim.rst +14 -14
- bluecellulab-2.6.0/examples/5-stimuli/stimuli.ipynb +527 -0
- bluecellulab-2.6.0/examples/6-stimuli-sequence/stimuli-sequence.ipynb +478 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_analysis/test_inject_sequence.py +4 -4
- bluecellulab-2.6.0/tests/test_stimulus/test_factory.py +182 -0
- bluecellulab-2.5.11/bluecellulab/stimulus/factory.py +0 -254
- bluecellulab-2.5.11/examples/5-stimuli/stimuli.ipynb +0 -609
- bluecellulab-2.5.11/examples/6-stimuli-sequence/stimuli-sequence.ipynb +0 -458
- bluecellulab-2.5.11/tests/test_stimulus/test_factory.py +0 -143
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/.compile_mod.sh +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/.gitattributes +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/.github/dependabot.yml +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/.github/workflows/release.yml +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/.github/workflows/test.yml +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/.gitignore +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/.gitlab-ci.yml +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/.readthedocs.yml +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/.zenodo.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/AUTHORS.txt +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/CHANGELOG.rst +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/LICENSE +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/MANIFEST.in +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/Makefile +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/README.rst +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/__init__.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/analysis/__init__.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/cell/__init__.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/cell/ballstick/__init__.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/cell/ballstick/emodel.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/cell/ballstick/morphology.asc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/cell/cell_dict.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/cell/core.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/cell/injector.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/cell/plotting.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/cell/random.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/cell/recording.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/cell/section_distance.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/cell/serialized_sections.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/cell/sonata_proxy.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/cell/stimuli_generator.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/cell/template.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/circuit/__init__.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/circuit/circuit_access/__init__.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/circuit/circuit_access/bluepy_circuit_access.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/circuit/circuit_access/definition.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/circuit/circuit_access/sonata_circuit_access.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/circuit/config/__init__.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/circuit/config/bluepy_simulation_config.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/circuit/config/definition.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/circuit/config/sections.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/circuit/config/sonata_simulation_config.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/circuit/format.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/circuit/iotools.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/circuit/node_id.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/circuit/simulation_access.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/circuit/synapse_properties.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/circuit/validate.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/circuit_simulation.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/connection.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/dendrogram.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/exceptions.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/graph.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/hoc/Cell.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/hoc/RNGSettings.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/hoc/TDistFunc.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/hoc/TStim.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/hoc/fileUtils.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/importer.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/neuron_interpreter.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/plotwindow.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/psection.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/psegment.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/rngsettings.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/simulation/__init__.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/simulation/neuron_globals.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/simulation/parallel.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/simulation/simulation.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/stimulus/__init__.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/stimulus/circuit_stimulus_definitions.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/synapse/__init__.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/synapse/synapse_factory.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/synapse/synapse_types.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/tools.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/type_aliases.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/utils.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab/verbosity.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab.egg-info/SOURCES.txt +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab.egg-info/dependency_links.txt +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab.egg-info/requires.txt +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/bluecellulab.egg-info/top_level.txt +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/docs/Makefile +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/docs/images/voltage-readme.png +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/docs/make.bat +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/docs/requirements_docs.txt +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/docs/source/_static/.gitkeep +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/docs/source/api.rst +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/docs/source/changelog.rst +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/docs/source/compiling-mechanisms.rst +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/docs/source/conf.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/docs/source/index.rst +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/docs/source/logo/BlueCelluLabBanner.jpg +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/1-singlecell/README.md +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/1-singlecell/hoc/cADpyr_L2TPC.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/1-singlecell/morphology/rr110330_C3_idA.asc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/1-singlecell/singlecell.ipynb +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/.exception_node +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/circuit_sonata.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/hoc/cADpyr_L2TPC.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/hoc/cNAC_L23BTC.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/morphologies/asc/C210401C.asc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/morphologies/asc/rr110330_C3_idA.asc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/morphologies/swc/C210401C.swc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/morphologies/swc/rr110330_C3_idA.swc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/components/CircuitB/hoc/bAC_IN.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/components/CircuitB/hoc/cNAD_noscltb.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/components/CircuitB/morphologies/asc/dend-jy180406_B_idC_axon-jy171019_B_10x_resta_idB_-_Scale_x1.000_y0.950_z1.000_-_Clone_1.asc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/components/CircuitB/morphologies/asc/dend-jy180406_C_idB_axon-04752-04764-X11537-Y13753_final_-_Clone_3.asc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/components/CircuitB/morphologies/swc/dend-jy180406_B_idC_axon-jy171019_B_10x_resta_idB_-_Scale_x1.000_y0.950_z1.000_-_Clone_1.swc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/components/CircuitB/morphologies/swc/dend-jy180406_C_idB_axon-04752-04764-X11537-Y13753_final_-_Clone_3.swc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/edges_AB.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/edges_AB.h5.txt +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/local_edges_A.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/local_edges_A.h5.txt +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/local_edges_B.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/local_edges_B.h5.txt +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/node_sets.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/nodes_A.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/nodes_A.h5.txt +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/nodes_B.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/nodes_B.h5.txt +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/circuit_sonata_quick_scx_multi_circuit/simulation_sonata.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/circuit_sonata.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_hypamp/out.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_hypamp/populations_offset.dat +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_hypamp/soma.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_noinput/out.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_noinput/populations_offset.dat +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_noinput/soma.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_ornstein/out.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_ornstein/populations_offset.dat +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_ornstein/soma.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_shotnoise/out.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_shotnoise/populations_offset.dat +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/output_sonata_shotnoise/soma.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/simulation_config_hypamp.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/simulation_config_noinput.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/simulation_config_ornstein.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/sim_quick_scx_sonata_multicircuit/simulation_config_shotnoise.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/2-sonata-network/sonata-network.ipynb +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/3-bpap/bpap.ipynb +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/4-epsp/epsp.ipynb +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/4-epsp/hippocampus_mechanisms/cacumm.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/4-epsp/hippocampus_mechanisms/cagk.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/4-epsp/hippocampus_mechanisms/cal2.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/4-epsp/hippocampus_mechanisms/can2.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/4-epsp/hippocampus_mechanisms/cat.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/4-epsp/hippocampus_mechanisms/h.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/4-epsp/hippocampus_mechanisms/kadist.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/4-epsp/hippocampus_mechanisms/kaprox.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/4-epsp/hippocampus_mechanisms/kca.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/4-epsp/hippocampus_mechanisms/kdb.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/4-epsp/hippocampus_mechanisms/kdrbca1.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/4-epsp/hippocampus_mechanisms/kmb.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/4-epsp/hippocampus_mechanisms/na3n.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/4-epsp/hoc/cell_seed2_0.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/4-epsp/morphology/011017HP2.asc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/README.rst +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/mechanisms/Ca.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/mechanisms/CaDynamics_DC0.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/mechanisms/CaDynamics_E2.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/mechanisms/Ca_HVA.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/mechanisms/Ca_HVA2.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/mechanisms/Ca_LVAst.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/mechanisms/DetAMPANMDA.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/mechanisms/DetGABAAB.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/mechanisms/GluSynapse.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/mechanisms/Ih.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/mechanisms/Im.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/mechanisms/K_Pst.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/mechanisms/K_Tst.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/mechanisms/KdShu2007.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/mechanisms/NaTa_t.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/mechanisms/NaTg.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/mechanisms/NaTs2_t.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/mechanisms/Nap_Et2.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/mechanisms/ProbAMPANMDA_EMS.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/mechanisms/ProbGABAAB_EMS.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/mechanisms/README.md +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/mechanisms/SK_E2.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/mechanisms/SKv3_1.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/mechanisms/StochKv.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/mechanisms/StochKv3.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/mechanisms/TTXDynamicsSwitch.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/mechanisms/VecStim.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/mechanisms/gap.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/mechanisms/netstim_inhpoisson.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/examples/readme-plot.ipynb +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/pyproject.toml +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/setup.cfg +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/__init__.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/data/synapse_replay_file/spikes.dat +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/ballstick_cell/analytic_expsyn.txt +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/ballstick_cell/ballstick.asc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/ballstick_cell/ballstick.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/ballstick_cell/bs.cfg +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/bpo_cell/0_cADpyr_L5TPC_a6e707a_1_sNone.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/bpo_cell/C060114A5.asc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/cell_example1/test_cell.asc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/cell_example1/test_cell.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/cell_example1/test_cell_longname1.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/cell_example2/test_cell.asc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/cell_example2/test_cell.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/cell_example_cstut/cSTUT_7.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/cell_example_cstut/test_cell.asc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/cell_example_empty/test_cell.asc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/cell_example_empty/test_cell.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/cell_example_empty/test_cell_v6a.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/circuit_config.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/hoc/CA1_pyr_cACpyr_mpg141017_a1_2_idC_2019032814340.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/hoc/CA1_pyr_cACpyr_mpg141217_A_idB_2019030511280.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/hoc/CA1_pyr_cACpyr_mpg150305_A_idB_2019030511201.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/hoc/CA1_pyr_cACpyr_oh140807_A0_idB_2019030510521.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/hoc/CA1_pyr_cACpyr_oh140807_A0_idF_2019030511545.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/hoc/CA1_pyr_cACpyr_oh140807_A0_idJ_2019032814272.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/morphologies/dend-051208AM2_axon-mpg141017_a1-2_idC_-_Scale_x1.000_y0.850_z1.000.swc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/morphologies/dend-051208AM2_axon-mpg141017_a1-2_idC_-_Scale_x1.000_y0.850_z1.000_-_Clone_10.swc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/morphologies/dend-mpg141216_A_idA_axon-mpg141017_a1-2_idC_-_Scale_x1.000_y0.850_z1.000_-_Clone_7.swc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/morphologies/dend-mpg141216_A_idA_axon-mpg141017_a1-2_idC_-_Scale_x1.000_y0.900_z1.000_-_Clone_12.swc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/morphologies/dend-mpg141216_A_idA_axon-mpg141017_a1-2_idC_-_Scale_x1.000_y0.900_z1.000_-_Clone_4.swc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/morphologies/dend-mpg141216_A_idA_axon-mpg141017_a1-2_idC_-_Scale_x1.000_y0.950_z1.000_-_Clone_4.swc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/morphologies/dend-oh140521_B0_Rat_idC_axon-mpg141017_a1-2_idC_-_Scale_x1.000_y0.850_z1.000_-_Clone_1.swc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/morphologies/dend-oh140521_B0_Rat_idC_axon-mpg141017_a1-2_idC_-_Scale_x1.000_y0.850_z1.000_-_Clone_12.swc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/morphologies/dend-oh140807_A0_idF_axon-mpg141017_a1-2_idC_-_Scale_x1.000_y0.850_z1.000_-_Clone_12.swc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/components/morphologies/mpg141017_a1-2_idC_-_Scale_x1.000_y0.850_z1.000_-_Clone_11.swc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/copy-hoc-morphs.ipynb +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/edges/edges.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/hippocampus_projections/nodes.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/hoc-and-morphs.csv +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/id_mapping.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/node_sets.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_hipp_mooc_most_central_10_SP_PC/nodes/nodes.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx/circuit_sonata.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx/components/hoc/cADpyr_L2TPC.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx/components/hoc/cNAC_L23BTC.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx/components/morphologies/asc/C210401C.asc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx/components/morphologies/asc/rr110330_C3_idA.asc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx/components/morphologies/swc/C210401C.swc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx/components/morphologies/swc/rr110330_C3_idA.swc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx/local_edges_A.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx/local_edges_A.h5.txt +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx/node_sets.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx/nodes_A.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx/nodes_A.h5.txt +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/.exception_node +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/circuit_sonata.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/hoc/cADpyr_L2TPC.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/hoc/cNAC_L23BTC.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/morphologies/asc/C210401C.asc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/morphologies/asc/rr110330_C3_idA.asc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/morphologies/swc/C210401C.swc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/components/CircuitA/morphologies/swc/rr110330_C3_idA.swc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/components/CircuitB/hoc/bAC_IN.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/components/CircuitB/hoc/cNAD_noscltb.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/components/CircuitB/morphologies/asc/dend-jy180406_B_idC_axon-jy171019_B_10x_resta_idB_-_Scale_x1.000_y0.950_z1.000_-_Clone_1.asc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/components/CircuitB/morphologies/asc/dend-jy180406_C_idB_axon-04752-04764-X11537-Y13753_final_-_Clone_3.asc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/components/CircuitB/morphologies/swc/dend-jy180406_B_idC_axon-jy171019_B_10x_resta_idB_-_Scale_x1.000_y0.950_z1.000_-_Clone_1.swc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/components/CircuitB/morphologies/swc/dend-jy180406_C_idB_axon-04752-04764-X11537-Y13753_final_-_Clone_3.swc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/edges_AB.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/edges_AB.h5.txt +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/local_edges_A.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/local_edges_A.h5.txt +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/local_edges_B.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/local_edges_B.h5.txt +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/node_sets.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/nodes_A.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/nodes_A.h5.txt +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/nodes_B.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/nodes_B.h5.txt +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/circuit_sonata_quick_scx_multi_circuit/simulation_sonata.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/hippocampus_opt_cell_template/README.md +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/hippocampus_opt_cell_template/electrophysiology/cell.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/hippocampus_opt_cell_template/morphology/cell.asc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/legacy_circuitconfig/CircuitConfig +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_bluepy/BlueConfig +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_bluepy/BlueConfig.SUCCESS +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_bluepy/output/out.dat +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_bluepy/output/out.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_bluepy/output/populations_offset.dat +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_bluepy/output/soma_SONATA.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_bluepy/user.target +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata/circuit_sonata.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata/output_sonata_hypamp/out.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata/output_sonata_hypamp/populations_offset.dat +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata/output_sonata_hypamp/soma.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata/output_sonata_noinput/out.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata/output_sonata_noinput/populations_offset.dat +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata/output_sonata_noinput/soma.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata/simulation_config.json.SUCCESS +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata/simulation_config_hypamp.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata/simulation_config_hypamp.json.SUCCESS +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata/simulation_config_noinput.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata/simulation_config_noinput.json.SUCCESS +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/circuit_sonata.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_hypamp/out.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_hypamp/populations_offset.dat +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_hypamp/soma.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_noinput/out.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_noinput/populations_offset.dat +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_noinput/soma.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_ornstein/out.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_ornstein/populations_offset.dat +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_ornstein/soma.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_shotnoise/out.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_shotnoise/populations_offset.dat +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/output_sonata_shotnoise/soma.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/simulation_config_hypamp.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/simulation_config_noinput.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/simulation_config_ornstein.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sim_quick_scx_sonata_multicircuit/simulation_config_shotnoise.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/condition_parameters/circuit_sonata.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/condition_parameters/node_sets.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/condition_parameters/sim_conf/populations_offset.dat +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/condition_parameters/simulation_config.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/condition_parameters/simulation_config_many_inputs.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/projections/circuit_config.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/projections/echo +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/projections/node_sets.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/projections/output_sonata/out.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/projections/output_sonata/populations_offset.dat +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/projections/output_sonata/soma.h5 +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/projections/simulation_config.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/projections/simulation_config.json.SUCCESS +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/synapse_replay/circuit_config.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/synapse_replay/node_sets.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/synapse_replay/simulation_config.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/sonata_unit_test_sims/synapse_replay/synapse_replay.dat +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/tapertest_cells/notaper_cell.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/tapertest_cells/taper_cell.hoc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/examples/tapertest_cells/test_cell.asc +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/helpers/__init__.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/helpers/os_utils.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/Ca.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/CaDynamics_DC0.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/CaDynamics_E2.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/Ca_HVA.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/Ca_HVA2.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/Ca_LVAst.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/DetAMPANMDA.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/DetGABAAB.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/GluSynapse.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/Ih.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/Im.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/K_Pst.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/K_Tst.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/KdShu2007.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/NaTa_t.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/NaTg.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/NaTs2_t.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/Nap_Et2.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/ProbAMPANMDA_EMS.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/ProbGABAAB_EMS.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/README.md +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/SK_E2.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/SKv3_1.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/StochKv.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/StochKv3.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/TTXDynamicsSwitch.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/VecStim.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/cacumm.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/cacummb.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/cagk.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/cal2.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/can2.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/cat.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/gap.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/h.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/kadist.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/kaprox.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/kca.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/kd.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/kd2.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/kdb.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/kdrbca1.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/kdrca1.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/km.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/kmb.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/na3n.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/naxn.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/mechanisms/netstim_inhpoisson.mod +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_ballstick.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_bglib.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_cell/__init__.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_cell/test_cell_dict.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_cell/test_core.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_cell/test_injector.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_cell/test_random.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_cell/test_recording.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_cell/test_serialized_sections.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_cell/test_sonata_proxy.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_cell/test_stimuli_generator.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_cell/test_template.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_circuit/__init__.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_circuit/test_circuit_access.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_circuit/test_config_sections.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_circuit/test_format.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_circuit/test_node_id.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_circuit/test_simulation_access.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_circuit/test_simulation_config.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_circuit/test_synapse_properties.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_circuit/test_validate.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_exceptions.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_graph.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_importer.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_load.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_neuron_interpreter.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_psection.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_rngsettings.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_simulation/__init__.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_simulation/test_neuron_globals.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_simulation/test_parallel.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_simulation/test_simulation.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_ssim.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_ssim_sonata.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_stimulus/__init__.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_stimulus/test_circuit_stimulus_definitions.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_synapse/__init__.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_synapse/test-synapse-series.json +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_synapse/test_synapse.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_synapse/test_synapse_factory.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_tools.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_ttx.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_utils.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tests/test_verbosity.py +0 -0
- {bluecellulab-2.5.11 → bluecellulab-2.6.0}/tox.ini +0 -0
|
@@ -35,7 +35,6 @@ def run_stimulus(
|
|
|
35
35
|
stimulus: Stimulus,
|
|
36
36
|
section: str,
|
|
37
37
|
segment: float,
|
|
38
|
-
duration: float,
|
|
39
38
|
) -> Recording:
|
|
40
39
|
"""Creates a cell and stimulates it with a given stimulus.
|
|
41
40
|
|
|
@@ -44,7 +43,6 @@ def run_stimulus(
|
|
|
44
43
|
stimulus: The input stimulus to inject into the cell.
|
|
45
44
|
section: Name of the section of cell where the stimulus is to be injected.
|
|
46
45
|
segment: The segment of the section where the stimulus is to be injected.
|
|
47
|
-
duration: The duration for which the simulation is to be run.
|
|
48
46
|
|
|
49
47
|
Returns:
|
|
50
48
|
The voltage-time recording at the specified location.
|
|
@@ -61,7 +59,7 @@ def run_stimulus(
|
|
|
61
59
|
current_vector = neuron.h.Vector()
|
|
62
60
|
current_vector.record(iclamp._ref_i)
|
|
63
61
|
simulation = Simulation(cell)
|
|
64
|
-
simulation.run(
|
|
62
|
+
simulation.run(stimulus.stimulus_time)
|
|
65
63
|
current = np.array(current_vector.to_python())
|
|
66
64
|
voltage = cell.get_voltage_recording(neuron_section, segment)
|
|
67
65
|
time = cell.get_time()
|
|
@@ -74,7 +72,6 @@ def apply_multiple_step_stimuli(
|
|
|
74
72
|
cell: Cell,
|
|
75
73
|
stimulus_name: StimulusName,
|
|
76
74
|
amplitudes: Sequence[float],
|
|
77
|
-
duration: float,
|
|
78
75
|
section_name: str | None = None,
|
|
79
76
|
segment: float = 0.5,
|
|
80
77
|
n_processes: int | None = None,
|
|
@@ -85,7 +82,6 @@ def apply_multiple_step_stimuli(
|
|
|
85
82
|
cell: The cell to which the stimuli are applied.
|
|
86
83
|
stimulus_name: The name of the stimulus to apply.
|
|
87
84
|
amplitudes: The amplitudes of the stimuli to apply.
|
|
88
|
-
duration: The duration for which each stimulus is applied.
|
|
89
85
|
section_name: Section name of the cell where the stimuli are applied.
|
|
90
86
|
If None, the stimuli are applied at the soma[0] of the cell.
|
|
91
87
|
segment: The segment of the section where the stimuli are applied.
|
|
@@ -116,7 +112,7 @@ def apply_multiple_step_stimuli(
|
|
|
116
112
|
else:
|
|
117
113
|
raise ValueError("Unknown stimulus name.")
|
|
118
114
|
|
|
119
|
-
task_args.append((cell.template_params, stimulus, section_name, segment
|
|
115
|
+
task_args.append((cell.template_params, stimulus, section_name, segment))
|
|
120
116
|
|
|
121
117
|
with IsolatedProcess(processes=n_processes) as pool:
|
|
122
118
|
# Map expects a function and a list of argument tuples
|
|
@@ -0,0 +1,389 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from abc import ABC, abstractmethod
|
|
3
|
+
import matplotlib.pyplot as plt
|
|
4
|
+
import numpy as np
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class Stimulus(ABC):
|
|
8
|
+
def __init__(self, dt: float) -> None:
|
|
9
|
+
self.dt = dt
|
|
10
|
+
|
|
11
|
+
@property
|
|
12
|
+
@abstractmethod
|
|
13
|
+
def time(self) -> np.ndarray:
|
|
14
|
+
"""Time values of the stimulus."""
|
|
15
|
+
...
|
|
16
|
+
|
|
17
|
+
@property
|
|
18
|
+
@abstractmethod
|
|
19
|
+
def current(self) -> np.ndarray:
|
|
20
|
+
"""Current values of the stimulus."""
|
|
21
|
+
...
|
|
22
|
+
|
|
23
|
+
def __len__(self) -> int:
|
|
24
|
+
return len(self.time)
|
|
25
|
+
|
|
26
|
+
@property
|
|
27
|
+
def stimulus_time(self) -> float:
|
|
28
|
+
return len(self) * self.dt
|
|
29
|
+
|
|
30
|
+
def __repr__(self) -> str:
|
|
31
|
+
return f"{self.__class__.__name__}(dt={self.dt})"
|
|
32
|
+
|
|
33
|
+
def plot(self, ax=None, **kwargs):
|
|
34
|
+
if ax is None:
|
|
35
|
+
ax = plt.gca()
|
|
36
|
+
ax.plot(self.time, self.current, **kwargs)
|
|
37
|
+
ax.set_xlabel("Time (ms)")
|
|
38
|
+
ax.set_ylabel("Current (nA)")
|
|
39
|
+
ax.set_title(self.__class__.__name__)
|
|
40
|
+
return ax
|
|
41
|
+
|
|
42
|
+
def __add__(self, other: Stimulus) -> CombinedStimulus:
|
|
43
|
+
"""Override + operator to concatenate Stimulus objects."""
|
|
44
|
+
if self.dt != other.dt:
|
|
45
|
+
raise ValueError(
|
|
46
|
+
"Stimulus objects must have the same dt to be concatenated"
|
|
47
|
+
)
|
|
48
|
+
if len(self.time) == 0:
|
|
49
|
+
return CombinedStimulus(other.dt, other.time, other.current)
|
|
50
|
+
elif len(other.time) == 0:
|
|
51
|
+
return CombinedStimulus(self.dt, self.time, self.current)
|
|
52
|
+
else:
|
|
53
|
+
# shift other time
|
|
54
|
+
other_time = other.time + self.time[-1] + self.dt
|
|
55
|
+
combined_time = np.concatenate([self.time, other_time])
|
|
56
|
+
# Concatenate the current arrays
|
|
57
|
+
combined_current = np.concatenate([self.current, other.current])
|
|
58
|
+
return CombinedStimulus(self.dt, combined_time, combined_current)
|
|
59
|
+
|
|
60
|
+
def __eq__(self, other: object) -> bool:
|
|
61
|
+
if not isinstance(other, Stimulus):
|
|
62
|
+
return NotImplemented
|
|
63
|
+
else:
|
|
64
|
+
return (
|
|
65
|
+
np.allclose(self.time, other.time)
|
|
66
|
+
and np.allclose(self.current, other.current)
|
|
67
|
+
and self.dt == other.dt
|
|
68
|
+
)
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
class CombinedStimulus(Stimulus):
|
|
72
|
+
"""Represents the Stimulus created by combining multiple stimuli."""
|
|
73
|
+
|
|
74
|
+
def __init__(self, dt: float, time: np.ndarray, current: np.ndarray) -> None:
|
|
75
|
+
super().__init__(dt)
|
|
76
|
+
self._time = time
|
|
77
|
+
self._current = current
|
|
78
|
+
|
|
79
|
+
@property
|
|
80
|
+
def time(self) -> np.ndarray:
|
|
81
|
+
return self._time
|
|
82
|
+
|
|
83
|
+
@property
|
|
84
|
+
def current(self) -> np.ndarray:
|
|
85
|
+
return self._current
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
class Empty(Stimulus):
|
|
89
|
+
"""Represents empty stimulus (all zeros) that has no impact on the cell.
|
|
90
|
+
|
|
91
|
+
This is required by some Stimuli that expect the cell to rest.
|
|
92
|
+
"""
|
|
93
|
+
|
|
94
|
+
def __init__(self, dt: float, duration: float) -> None:
|
|
95
|
+
super().__init__(dt)
|
|
96
|
+
self.duration = duration
|
|
97
|
+
|
|
98
|
+
@property
|
|
99
|
+
def time(self) -> np.ndarray:
|
|
100
|
+
return np.arange(0.0, self.duration, self.dt)
|
|
101
|
+
|
|
102
|
+
@property
|
|
103
|
+
def current(self) -> np.ndarray:
|
|
104
|
+
return np.zeros_like(self.time)
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
class Flat(Stimulus):
|
|
108
|
+
def __init__(self, dt: float, duration: float, amplitude: float) -> None:
|
|
109
|
+
super().__init__(dt)
|
|
110
|
+
self.duration = duration
|
|
111
|
+
self.amplitude = amplitude
|
|
112
|
+
|
|
113
|
+
@property
|
|
114
|
+
def time(self) -> np.ndarray:
|
|
115
|
+
return np.arange(0.0, self.duration, self.dt)
|
|
116
|
+
|
|
117
|
+
@property
|
|
118
|
+
def current(self) -> np.ndarray:
|
|
119
|
+
return np.full_like(self.time, self.amplitude)
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
class Slope(Stimulus):
|
|
123
|
+
def __init__(
|
|
124
|
+
self, dt: float, duration: float, amplitude_start: float, amplitude_end: float
|
|
125
|
+
) -> None:
|
|
126
|
+
super().__init__(dt)
|
|
127
|
+
self.duration = duration
|
|
128
|
+
self.amplitude_start = amplitude_start
|
|
129
|
+
self.amplitude_end = amplitude_end
|
|
130
|
+
|
|
131
|
+
@property
|
|
132
|
+
def time(self) -> np.ndarray:
|
|
133
|
+
return np.arange(0.0, self.duration, self.dt)
|
|
134
|
+
|
|
135
|
+
@property
|
|
136
|
+
def current(self) -> np.ndarray:
|
|
137
|
+
return np.linspace(self.amplitude_start, self.amplitude_end, len(self.time))
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
class Step(Stimulus):
|
|
141
|
+
|
|
142
|
+
def __init__(self):
|
|
143
|
+
raise NotImplementedError(
|
|
144
|
+
"This class cannot be instantiated directly. "
|
|
145
|
+
"Please use the class methods 'amplitude_based' "
|
|
146
|
+
"or 'threshold_based' to create objects."
|
|
147
|
+
)
|
|
148
|
+
|
|
149
|
+
@classmethod
|
|
150
|
+
def amplitude_based(
|
|
151
|
+
cls,
|
|
152
|
+
dt: float,
|
|
153
|
+
pre_delay: float,
|
|
154
|
+
duration: float,
|
|
155
|
+
post_delay: float,
|
|
156
|
+
amplitude: float,
|
|
157
|
+
) -> CombinedStimulus:
|
|
158
|
+
"""Create a Step stimulus from given time events and amplitude.
|
|
159
|
+
|
|
160
|
+
Args:
|
|
161
|
+
dt: The time step of the stimulus.
|
|
162
|
+
pre_delay: The delay before the start of the step.
|
|
163
|
+
duration: The duration of the step.
|
|
164
|
+
post_delay: The time to wait after the end of the step.
|
|
165
|
+
amplitude: The amplitude of the step.
|
|
166
|
+
"""
|
|
167
|
+
return (
|
|
168
|
+
Empty(dt, duration=pre_delay)
|
|
169
|
+
+ Flat(dt, duration=duration, amplitude=amplitude)
|
|
170
|
+
+ Empty(dt, duration=post_delay)
|
|
171
|
+
)
|
|
172
|
+
|
|
173
|
+
@classmethod
|
|
174
|
+
def threshold_based(
|
|
175
|
+
cls,
|
|
176
|
+
dt: float,
|
|
177
|
+
pre_delay: float,
|
|
178
|
+
duration: float,
|
|
179
|
+
post_delay: float,
|
|
180
|
+
threshold_current: float,
|
|
181
|
+
threshold_percentage: float,
|
|
182
|
+
) -> CombinedStimulus:
|
|
183
|
+
"""Creates a Step stimulus with respect to the threshold current.
|
|
184
|
+
|
|
185
|
+
Args:
|
|
186
|
+
|
|
187
|
+
dt: The time step of the stimulus.
|
|
188
|
+
pre_delay: The delay before the start of the step.
|
|
189
|
+
duration: The duration of the step.
|
|
190
|
+
post_delay: The time to wait after the end of the step.
|
|
191
|
+
threshold_current: The threshold current of the Cell.
|
|
192
|
+
threshold_percentage: Percentage of desired threshold_current amplification.
|
|
193
|
+
"""
|
|
194
|
+
amplitude = threshold_current * threshold_percentage / 100
|
|
195
|
+
res = cls.amplitude_based(
|
|
196
|
+
dt,
|
|
197
|
+
pre_delay=pre_delay,
|
|
198
|
+
duration=duration,
|
|
199
|
+
post_delay=post_delay,
|
|
200
|
+
amplitude=amplitude,
|
|
201
|
+
)
|
|
202
|
+
return res
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
class Ramp(Stimulus):
|
|
206
|
+
|
|
207
|
+
def __init__(self):
|
|
208
|
+
raise NotImplementedError(
|
|
209
|
+
"This class cannot be instantiated directly. "
|
|
210
|
+
"Please use the class methods 'amplitude_based' "
|
|
211
|
+
"or 'threshold_based' to create objects."
|
|
212
|
+
)
|
|
213
|
+
|
|
214
|
+
@classmethod
|
|
215
|
+
def amplitude_based(
|
|
216
|
+
cls,
|
|
217
|
+
dt: float,
|
|
218
|
+
pre_delay: float,
|
|
219
|
+
duration: float,
|
|
220
|
+
post_delay: float,
|
|
221
|
+
amplitude: float,
|
|
222
|
+
) -> CombinedStimulus:
|
|
223
|
+
"""Create a Ramp stimulus from given time events and amplitudes.
|
|
224
|
+
|
|
225
|
+
Args:
|
|
226
|
+
dt: The time step of the stimulus.
|
|
227
|
+
pre_delay: The delay before the start of the ramp.
|
|
228
|
+
duration: The duration of the ramp.
|
|
229
|
+
post_delay: The time to wait after the end of the ramp.
|
|
230
|
+
amplitude: The final amplitude of the ramp.
|
|
231
|
+
"""
|
|
232
|
+
return (
|
|
233
|
+
Empty(dt, duration=pre_delay)
|
|
234
|
+
+ Slope(
|
|
235
|
+
dt,
|
|
236
|
+
duration=duration,
|
|
237
|
+
amplitude_start=0.0,
|
|
238
|
+
amplitude_end=amplitude,
|
|
239
|
+
)
|
|
240
|
+
+ Empty(dt, duration=post_delay)
|
|
241
|
+
)
|
|
242
|
+
|
|
243
|
+
@classmethod
|
|
244
|
+
def threshold_based(
|
|
245
|
+
cls,
|
|
246
|
+
dt: float,
|
|
247
|
+
pre_delay: float,
|
|
248
|
+
duration: float,
|
|
249
|
+
post_delay: float,
|
|
250
|
+
threshold_current: float,
|
|
251
|
+
threshold_percentage: float,
|
|
252
|
+
) -> CombinedStimulus:
|
|
253
|
+
"""Creates a Ramp stimulus with respect to the threshold current.
|
|
254
|
+
|
|
255
|
+
Args:
|
|
256
|
+
|
|
257
|
+
dt: The time step of the stimulus.
|
|
258
|
+
pre_delay: The delay before the start of the ramp.
|
|
259
|
+
duration: The duration of the ramp.
|
|
260
|
+
post_delay: The time to wait after the end of the ramp.
|
|
261
|
+
threshold_current: The threshold current of the Cell.
|
|
262
|
+
threshold_percentage: Percentage of desired threshold_current amplification.
|
|
263
|
+
"""
|
|
264
|
+
amplitude = threshold_current * threshold_percentage / 100
|
|
265
|
+
res = cls.amplitude_based(
|
|
266
|
+
dt,
|
|
267
|
+
pre_delay=pre_delay,
|
|
268
|
+
duration=duration,
|
|
269
|
+
post_delay=post_delay,
|
|
270
|
+
amplitude=amplitude,
|
|
271
|
+
)
|
|
272
|
+
return res
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
class StimulusFactory:
|
|
276
|
+
def __init__(self, dt: float):
|
|
277
|
+
self.dt = dt
|
|
278
|
+
|
|
279
|
+
def step(
|
|
280
|
+
self, pre_delay: float, duration: float, post_delay: float, amplitude: float
|
|
281
|
+
) -> Stimulus:
|
|
282
|
+
return Step.amplitude_based(
|
|
283
|
+
self.dt,
|
|
284
|
+
pre_delay=pre_delay,
|
|
285
|
+
duration=duration,
|
|
286
|
+
post_delay=post_delay,
|
|
287
|
+
amplitude=amplitude,
|
|
288
|
+
)
|
|
289
|
+
|
|
290
|
+
def ramp(
|
|
291
|
+
self, pre_delay: float, duration: float, post_delay: float, amplitude: float
|
|
292
|
+
) -> Stimulus:
|
|
293
|
+
return Ramp.amplitude_based(
|
|
294
|
+
self.dt,
|
|
295
|
+
pre_delay=pre_delay,
|
|
296
|
+
duration=duration,
|
|
297
|
+
post_delay=post_delay,
|
|
298
|
+
amplitude=amplitude,
|
|
299
|
+
)
|
|
300
|
+
|
|
301
|
+
def ap_waveform(
|
|
302
|
+
self, threshold_current: float, threshold_percentage: float = 220.0
|
|
303
|
+
) -> Stimulus:
|
|
304
|
+
"""Returns the APWaveform Stimulus object, a type of Step stimulus.
|
|
305
|
+
|
|
306
|
+
Args:
|
|
307
|
+
threshold_current: The threshold current of the Cell.
|
|
308
|
+
threshold_percentage: Percentage of desired threshold_current amplification.
|
|
309
|
+
"""
|
|
310
|
+
pre_delay = 250.0
|
|
311
|
+
duration = 50.0
|
|
312
|
+
post_delay = 250.0
|
|
313
|
+
return Step.threshold_based(
|
|
314
|
+
self.dt,
|
|
315
|
+
pre_delay=pre_delay,
|
|
316
|
+
duration=duration,
|
|
317
|
+
post_delay=post_delay,
|
|
318
|
+
threshold_current=threshold_current,
|
|
319
|
+
threshold_percentage=threshold_percentage,
|
|
320
|
+
)
|
|
321
|
+
|
|
322
|
+
def idrest(
|
|
323
|
+
self,
|
|
324
|
+
threshold_current: float,
|
|
325
|
+
threshold_percentage: float = 200.0,
|
|
326
|
+
) -> Stimulus:
|
|
327
|
+
"""Returns the IDRest Stimulus object, a type of Step stimulus.
|
|
328
|
+
|
|
329
|
+
Args:
|
|
330
|
+
threshold_current: The threshold current of the Cell.
|
|
331
|
+
threshold_percentage: Percentage of desired threshold_current amplification.
|
|
332
|
+
"""
|
|
333
|
+
pre_delay = 250.0
|
|
334
|
+
duration = 1350.0
|
|
335
|
+
post_delay = 250.0
|
|
336
|
+
return Step.threshold_based(
|
|
337
|
+
self.dt,
|
|
338
|
+
pre_delay=pre_delay,
|
|
339
|
+
duration=duration,
|
|
340
|
+
post_delay=post_delay,
|
|
341
|
+
threshold_current=threshold_current,
|
|
342
|
+
threshold_percentage=threshold_percentage,
|
|
343
|
+
)
|
|
344
|
+
|
|
345
|
+
def iv(
|
|
346
|
+
self,
|
|
347
|
+
threshold_current: float,
|
|
348
|
+
threshold_percentage: float = -40.0,
|
|
349
|
+
) -> Stimulus:
|
|
350
|
+
"""Returns the IV Stimulus object, a type of Step stimulus.
|
|
351
|
+
|
|
352
|
+
Args:
|
|
353
|
+
threshold_current: The threshold current of the Cell.
|
|
354
|
+
threshold_percentage: Percentage of desired threshold_current amplification.
|
|
355
|
+
"""
|
|
356
|
+
pre_delay = 250.0
|
|
357
|
+
duration = 3000.0
|
|
358
|
+
post_delay = 250.0
|
|
359
|
+
return Step.threshold_based(
|
|
360
|
+
self.dt,
|
|
361
|
+
pre_delay=pre_delay,
|
|
362
|
+
duration=duration,
|
|
363
|
+
post_delay=post_delay,
|
|
364
|
+
threshold_current=threshold_current,
|
|
365
|
+
threshold_percentage=threshold_percentage,
|
|
366
|
+
)
|
|
367
|
+
|
|
368
|
+
def fire_pattern(
|
|
369
|
+
self,
|
|
370
|
+
threshold_current: float,
|
|
371
|
+
threshold_percentage: float = 200.0,
|
|
372
|
+
) -> Stimulus:
|
|
373
|
+
"""Returns the FirePattern Stimulus object, a type of Step stimulus.
|
|
374
|
+
|
|
375
|
+
Args:
|
|
376
|
+
threshold_current: The threshold current of the Cell.
|
|
377
|
+
threshold_percentage: Percentage of desired threshold_current amplification.
|
|
378
|
+
"""
|
|
379
|
+
pre_delay = 250.0
|
|
380
|
+
duration = 3600.0
|
|
381
|
+
post_delay = 250.0
|
|
382
|
+
return Step.threshold_based(
|
|
383
|
+
self.dt,
|
|
384
|
+
pre_delay=pre_delay,
|
|
385
|
+
duration=duration,
|
|
386
|
+
post_delay=post_delay,
|
|
387
|
+
threshold_current=threshold_current,
|
|
388
|
+
threshold_percentage=threshold_percentage,
|
|
389
|
+
)
|
|
@@ -37,7 +37,7 @@ Step Stimulus
|
|
|
37
37
|
:context: close-figs
|
|
38
38
|
:include-source: True
|
|
39
39
|
|
|
40
|
-
step = stim_factory.step(
|
|
40
|
+
step = stim_factory.step(pre_delay=20, duration=80, post_delay=20, amplitude=70)
|
|
41
41
|
step.plot()
|
|
42
42
|
|
|
43
43
|
|
|
@@ -47,19 +47,19 @@ Multiple step stimuli with different amplitudes.
|
|
|
47
47
|
:context: close-figs
|
|
48
48
|
:include-source: True
|
|
49
49
|
|
|
50
|
-
step1 = stim_factory.step(
|
|
51
|
-
step2 = stim_factory.step(
|
|
52
|
-
step3 = stim_factory.step(
|
|
53
|
-
step4 = stim_factory.step(
|
|
50
|
+
step1 = stim_factory.step(pre_delay=50, duration=100, post_delay=50, amplitude=60)
|
|
51
|
+
step2 = stim_factory.step(pre_delay=50, duration=100, post_delay=50, amplitude=80)
|
|
52
|
+
step3 = stim_factory.step(pre_delay=50, duration=100, post_delay=50, amplitude=100)
|
|
53
|
+
step4 = stim_factory.step(pre_delay=50, duration=100, post_delay=50, amplitude=120)
|
|
54
54
|
|
|
55
55
|
# Create a figure and an Axes object
|
|
56
56
|
fig, ax = plt.subplots()
|
|
57
57
|
|
|
58
58
|
# Plot the step functions on the same axes
|
|
59
|
-
step1.
|
|
60
|
-
step2.
|
|
61
|
-
step3.
|
|
62
|
-
step4.
|
|
59
|
+
step1.plot(ax=ax, color='red')
|
|
60
|
+
step2.plot(ax=ax, color='green')
|
|
61
|
+
step3.plot(ax=ax, color='blue')
|
|
62
|
+
step4.plot(ax=ax, color='orange')
|
|
63
63
|
|
|
64
64
|
plt.show()
|
|
65
65
|
|
|
@@ -73,7 +73,7 @@ Ramp Stimulus
|
|
|
73
73
|
:context: close-figs
|
|
74
74
|
:include-source: True
|
|
75
75
|
|
|
76
|
-
ramp = stim_factory.ramp(
|
|
76
|
+
ramp = stim_factory.ramp(pre_delay=20, duration=160, post_delay=70, amplitude=0.5)
|
|
77
77
|
|
|
78
78
|
ramp.plot()
|
|
79
79
|
|
|
@@ -89,7 +89,7 @@ APWaveform
|
|
|
89
89
|
:include-source: True
|
|
90
90
|
|
|
91
91
|
ap_waveform = stim_factory.ap_waveform(threshold_current=0.5)
|
|
92
|
-
ap_waveform.
|
|
92
|
+
ap_waveform.plot()
|
|
93
93
|
|
|
94
94
|
|
|
95
95
|
IDRest
|
|
@@ -102,7 +102,7 @@ IDRest
|
|
|
102
102
|
:include-source: True
|
|
103
103
|
|
|
104
104
|
id_rest = stim_factory.idrest(threshold_current=0.5)
|
|
105
|
-
id_rest.
|
|
105
|
+
id_rest.plot()
|
|
106
106
|
|
|
107
107
|
IV
|
|
108
108
|
~~
|
|
@@ -114,7 +114,7 @@ IV
|
|
|
114
114
|
:include-source: True
|
|
115
115
|
|
|
116
116
|
iv = stim_factory.iv(threshold_current=0.5)
|
|
117
|
-
iv.
|
|
117
|
+
iv.plot()
|
|
118
118
|
|
|
119
119
|
FirePattern
|
|
120
120
|
~~~~~~~~~~~~~
|
|
@@ -126,7 +126,7 @@ FirePattern
|
|
|
126
126
|
:include-source: True
|
|
127
127
|
|
|
128
128
|
fire_pattern = stim_factory.fire_pattern(threshold_current=0.5)
|
|
129
|
-
fire_pattern.
|
|
129
|
+
fire_pattern.plot()
|
|
130
130
|
|
|
131
131
|
|
|
132
132
|
.. plot::
|