diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7b2f9532..a0414e03 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -12,7 +12,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] + python-version: ["3.9", "3.10", "3.11", "3.12"] include: - os: macos-12 python-version: "3.10" @@ -34,7 +34,7 @@ jobs: run: tox - name: "Upload coverage to Codecov" - uses: codecov/codecov-action@v2 + uses: codecov/codecov-action@v4 with: token: ${{ secrets.CODECOV_TOKEN }} fail_ci_if_error: false diff --git a/README.rst b/README.rst index 8c124b2f..3ffbe544 100644 --- a/README.rst +++ b/README.rst @@ -85,7 +85,7 @@ News Requirements ============ -* `Python 3.8+ `_ +* `Python 3.9+ `_ * `Pip `_ (installed by default in newer versions of Python) * `Neuron 7.4+ `_ (compiled with Python support) * `eFEL eFeature Extraction Library `_ (automatically installed by pip) diff --git a/bluepyopt/ephys/morphologies.py b/bluepyopt/ephys/morphologies.py index 5a1a5761..0ba6a6ac 100644 --- a/bluepyopt/ephys/morphologies.py +++ b/bluepyopt/ephys/morphologies.py @@ -318,6 +318,8 @@ def load(morpho_filename, replace_axon): morpho = arbor.load_component(morpho_filename).component elif morpho_suffix == '.swc': morpho = arbor.load_swc_arbor(morpho_filename) + # turn loaded_morphology into morphology type + morpho = morpho.morphology elif morpho_suffix == '.asc': morpho = arbor.load_asc(morpho_filename).morphology else: diff --git a/bluepyopt/ephys/protocols.py b/bluepyopt/ephys/protocols.py index 804329f2..aa742bca 100644 --- a/bluepyopt/ephys/protocols.py +++ b/bluepyopt/ephys/protocols.py @@ -602,7 +602,12 @@ def instantiate_iclamp_stimuli(self, decor, use_labels=False): for i, stim in enumerate(self.stimuli): if not isinstance(stim, stimuli.SynapticStimulus): if hasattr(stim, 'envelope'): - arb_iclamp = arbor.iclamp(stim.envelope()) + envelope = stim.envelope() + envelope = [ + (t * arbor.units.ms, curr * arbor.units.nA) + for (t, curr) in envelope + ] + arb_iclamp = arbor.iclamp(envelope) else: raise ValueError('Stimulus must provide envelope method ' ' or be of type NrnNetStimStimulus to be' @@ -648,7 +653,9 @@ def instantiate_recordings(self, cell_model, use_labels=False): cell_model.probe('voltage', arb_loc.ref if use_labels else arb_loc.loc, - frequency=10) # could be a parameter + f"probe-{i}", + # frequency could be a parameter + frequency=10 * arbor.units.kHz) return cell_model diff --git a/bluepyopt/ephys/simulators.py b/bluepyopt/ephys/simulators.py index de546633..a4d038ce 100644 --- a/bluepyopt/ephys/simulators.py +++ b/bluepyopt/ephys/simulators.py @@ -372,9 +372,11 @@ def run(self, arb_cell_model, tstop=None, dt=None): dt = dt if dt is not None else self.dt if dt is not None: - return arb_cell_model.run(tfinal=tstop, dt=dt) + return arb_cell_model.run( + tfinal=tstop * arbor.units.ms, dt=dt * arbor.units.ms + ) else: - return arb_cell_model.run(tfinal=tstop) + return arb_cell_model.run(tfinal=tstop * arbor.units.ms) class ArbSimulatorException(Exception): diff --git a/bluepyopt/ephys/templates/acc/decor_acc_template.jinja2 b/bluepyopt/ephys/templates/acc/decor_acc_template.jinja2 index 13ae43d1..eac074cb 100644 --- a/bluepyopt/ephys/templates/acc/decor_acc_template.jinja2 +++ b/bluepyopt/ephys/templates/acc/decor_acc_template.jinja2 @@ -1,5 +1,5 @@ (arbor-component - (meta-data (version "0.1-dev")) + (meta-data (version "0.9-dev")) (decor {%- for mech, params in global_mechs.items() %} {%- if mech is not none %} @@ -10,7 +10,7 @@ {%- endif %} {%- else %} {%- for param in params %} - (default ({{ param.name }} {{ param.value }})) + (default ({{ param.name }} {{ param.value }} (scalar 1.0))) {%- endfor %} {%- endif %} {%- endfor %} @@ -27,13 +27,13 @@ {%- endif %} {%- else %} {%- for param in params %} - (paint {{loc.ref}} ({{ param.name }} {{ param.value }})) + (paint {{loc.ref}} ({{ param.name }} {{ param.value }} (scalar 1.0))) {%- endfor %} {%- endif %} {%- endfor %} {%- for synapse_name, mech_params in pprocess_mechs[loc].items() %} - (place {{loc.ref}} (synapse (mechanism "{{ mech_params.mech }}" {%- for param in mech_params.params %} ("{{ param.name }}" {{ param.value }}){%- endfor %})) "{{ synapse_name }}") + (place {{loc.ref}} (synapse (mechanism "{{ mech_params.mech }}" {%- for param in mech_params.params %} ("{{ param.name }}" {{ param.value }} (scalar 1.0)){%- endfor %})) "{{ synapse_name }}") {%- endfor %} {%- endfor %})) diff --git a/bluepyopt/ephys/templates/acc/label_dict_acc_template.jinja2 b/bluepyopt/ephys/templates/acc/label_dict_acc_template.jinja2 index 508c0aa1..ca2e7dac 100644 --- a/bluepyopt/ephys/templates/acc/label_dict_acc_template.jinja2 +++ b/bluepyopt/ephys/templates/acc/label_dict_acc_template.jinja2 @@ -1,5 +1,5 @@ (arbor-component - (meta-data (version "0.1-dev")) + (meta-data (version "0.9-dev")) (label-dict {%- for loc, label in label_dict.items() %} {{ label.defn }} diff --git a/bluepyopt/tests/test_ephys/test_create_acc.py b/bluepyopt/tests/test_ephys/test_create_acc.py index baae6def..367ef22a 100644 --- a/bluepyopt/tests/test_ephys/test_create_acc.py +++ b/bluepyopt/tests/test_ephys/test_create_acc.py @@ -537,7 +537,7 @@ def run_short_sim(cable_cell): arb_cell_model.properties.catalogue.extend(arbor.bbp_catalogue(), "BBP::") # Run a very short simulation to test mechanism instantiation - arb_cell_model.run(tfinal=0.1) + arb_cell_model.run(tfinal=0.1 * arbor.units.ms) @pytest.mark.unit @@ -665,6 +665,10 @@ def check_acc_dir(test_dir, ref_dir): with open(ref_dir_file / file) as f: ref_file = f.read() assert ref_file == test_file + # check that load_component is not raising any error here + fpath = pathlib.Path(test_dir) / file + if fpath.suffix == "acc": + arbor.load_component(fpath).component @pytest.mark.unit diff --git a/bluepyopt/tests/test_ephys/test_parameterscalers.py b/bluepyopt/tests/test_ephys/test_parameterscalers.py index 846bf023..877cac90 100644 --- a/bluepyopt/tests/test_ephys/test_parameterscalers.py +++ b/bluepyopt/tests/test_ephys/test_parameterscalers.py @@ -1,7 +1,9 @@ """Test ephys.parameterscalers""" import json - +import pathlib +import tempfile +import arbor import pytest @@ -143,3 +145,33 @@ def test_parameterscalers_iexpr_generator_unsupported_attr(): 'unsupported attribute tau.'): iexpr = value_scaler.acc_scale_iexpr( value=value, constant_formatter=lambda v: '%.9g' % v) + + +@pytest.mark.unit +def test_parameterscalers_iexpr(): + """ephys.parameterscalers: Test iexpr""" + # iexpr from bluepyopt/tests/test_ephys/test_parameterscalers.py + iexpr = '(sub (scalar 0.62109375) ' \ + '(mul (log (pi) ) ' \ + '(exp (div (distance (region "soma")) ' \ + '(scalar 0.421875) ) ) ) )' + + # modified decor as in + # bluepyopt/tests/test_ephys/testdata/acc/simplecell/simple_cell_decor.acc + simple_cell_decor_with_iexpr = \ + '(arbor-component\n' \ + ' (meta-data (version "0.9-dev"))\n' \ + ' (decor\n' \ + ' (paint (region "soma") ' \ + '(membrane-capacitance 0.01 (scalar 1.0)))\n' \ + ' (paint (region "soma") ' \ + '(scaled-mechanism (density (mechanism "default::hh" ' \ + '("gnabar" 0.10299326453483033) ("gkbar" 0.027124836082684685))) ' \ + f'("gkbar" {iexpr})))))' + + with tempfile.TemporaryDirectory() as test_dir: + decor_filename = pathlib.Path(test_dir).joinpath("decor.acc") + with open(decor_filename, "w") as f: + f.write(simple_cell_decor_with_iexpr) + # check that load_component is not raising any error here + arbor.load_component(decor_filename).component diff --git a/bluepyopt/tests/test_ephys/testdata/acc/CCell/CCell_decor.acc b/bluepyopt/tests/test_ephys/testdata/acc/CCell/CCell_decor.acc index dd9c47e9..2427ea90 100644 --- a/bluepyopt/tests/test_ephys/testdata/acc/CCell/CCell_decor.acc +++ b/bluepyopt/tests/test_ephys/testdata/acc/CCell/CCell_decor.acc @@ -1,10 +1,10 @@ (arbor-component - (meta-data (version "0.1-dev")) + (meta-data (version "0.9-dev")) (decor - (default (gSKv3_1bar_SKv3_1 65)) - (paint (region "soma") (gSKv3_1bar_SKv3_1 65)) - (paint (region "soma") (gSKv3_1bar_SKv3_1 65)) + (default (gSKv3_1bar_SKv3_1 65 (scalar 1.0))) + (paint (region "soma") (gSKv3_1bar_SKv3_1 65 (scalar 1.0))) + (paint (region "soma") (gSKv3_1bar_SKv3_1 65 (scalar 1.0))) (paint (region "dend") (density (mechanism "BBP::Ih"))) - (paint (region "apic") (gSKv3_1bar_SKv3_1 65)) - (paint (region "apic") (gSKv3_1bar_SKv3_1 65)) + (paint (region "apic") (gSKv3_1bar_SKv3_1 65 (scalar 1.0))) + (paint (region "apic") (gSKv3_1bar_SKv3_1 65 (scalar 1.0))) (paint (region "apic") (density (mechanism "BBP::Ih"))))) \ No newline at end of file diff --git a/bluepyopt/tests/test_ephys/testdata/acc/CCell/CCell_label_dict.acc b/bluepyopt/tests/test_ephys/testdata/acc/CCell/CCell_label_dict.acc index 08c4efd5..2fcd0172 100644 --- a/bluepyopt/tests/test_ephys/testdata/acc/CCell/CCell_label_dict.acc +++ b/bluepyopt/tests/test_ephys/testdata/acc/CCell/CCell_label_dict.acc @@ -1,5 +1,5 @@ (arbor-component - (meta-data (version "0.1-dev")) + (meta-data (version "0.9-dev")) (label-dict (region-def "all" (all)) (region-def "apic" (tag 4)) diff --git a/bluepyopt/tests/test_ephys/testdata/acc/CCell/simple_axon_replacement.acc b/bluepyopt/tests/test_ephys/testdata/acc/CCell/simple_axon_replacement.acc index 7dee06c1..b5df598b 100644 --- a/bluepyopt/tests/test_ephys/testdata/acc/CCell/simple_axon_replacement.acc +++ b/bluepyopt/tests/test_ephys/testdata/acc/CCell/simple_axon_replacement.acc @@ -1,6 +1,6 @@ (arbor-component (meta-data - (version "0.1-dev")) + (version "0.9-dev")) (morphology (branch 0 -1 (segment 0 diff --git a/bluepyopt/tests/test_ephys/testdata/acc/expsyn/simple_cell_decor.acc b/bluepyopt/tests/test_ephys/testdata/acc/expsyn/simple_cell_decor.acc index ff1e8f1b..e1ed15e0 100644 --- a/bluepyopt/tests/test_ephys/testdata/acc/expsyn/simple_cell_decor.acc +++ b/bluepyopt/tests/test_ephys/testdata/acc/expsyn/simple_cell_decor.acc @@ -1,6 +1,6 @@ (arbor-component - (meta-data (version "0.1-dev")) + (meta-data (version "0.9-dev")) (decor - (paint (region "soma") (membrane-capacitance 0.01)) + (paint (region "soma") (membrane-capacitance 0.01 (scalar 1.0))) (paint (region "soma") (density (mechanism "default::pas"))) - (place (locset "somacenter") (synapse (mechanism "default::expsyn" ("tau" 10))) "expsyn"))) \ No newline at end of file + (place (locset "somacenter") (synapse (mechanism "default::expsyn" ("tau" 10 (scalar 1.0)))) "expsyn"))) \ No newline at end of file diff --git a/bluepyopt/tests/test_ephys/testdata/acc/expsyn/simple_cell_label_dict.acc b/bluepyopt/tests/test_ephys/testdata/acc/expsyn/simple_cell_label_dict.acc index fe69d135..ab69054e 100644 --- a/bluepyopt/tests/test_ephys/testdata/acc/expsyn/simple_cell_label_dict.acc +++ b/bluepyopt/tests/test_ephys/testdata/acc/expsyn/simple_cell_label_dict.acc @@ -1,5 +1,5 @@ (arbor-component - (meta-data (version "0.1-dev")) + (meta-data (version "0.9-dev")) (label-dict (region-def "all" (all)) (region-def "soma" (tag 1)) diff --git a/bluepyopt/tests/test_ephys/testdata/acc/l5pc/C060114A7_axon_replacement.acc b/bluepyopt/tests/test_ephys/testdata/acc/l5pc/C060114A7_axon_replacement.acc index 1723e930..e9f03844 100644 --- a/bluepyopt/tests/test_ephys/testdata/acc/l5pc/C060114A7_axon_replacement.acc +++ b/bluepyopt/tests/test_ephys/testdata/acc/l5pc/C060114A7_axon_replacement.acc @@ -1,6 +1,6 @@ (arbor-component (meta-data - (version "0.1-dev")) + (version "0.9-dev")) (morphology (branch 0 -1 (segment 0 diff --git a/bluepyopt/tests/test_ephys/testdata/acc/l5pc/C060114A7_modified.acc b/bluepyopt/tests/test_ephys/testdata/acc/l5pc/C060114A7_modified.acc index d47f3c7d..26451178 100644 --- a/bluepyopt/tests/test_ephys/testdata/acc/l5pc/C060114A7_modified.acc +++ b/bluepyopt/tests/test_ephys/testdata/acc/l5pc/C060114A7_modified.acc @@ -1,6 +1,6 @@ (arbor-component (meta-data - (version "0.1-dev")) + (version "0.9-dev")) (morphology (branch 0 -1 (segment 0 diff --git a/bluepyopt/tests/test_ephys/testdata/acc/l5pc/l5pc_decor.acc b/bluepyopt/tests/test_ephys/testdata/acc/l5pc/l5pc_decor.acc index 9b499549..fb9c4e40 100644 --- a/bluepyopt/tests/test_ephys/testdata/acc/l5pc/l5pc_decor.acc +++ b/bluepyopt/tests/test_ephys/testdata/acc/l5pc/l5pc_decor.acc @@ -1,13 +1,13 @@ (arbor-component - (meta-data (version "0.1-dev")) + (meta-data (version "0.9-dev")) (decor - (default (membrane-potential -65)) - (default (temperature-kelvin 307.14999999999998)) - (default (membrane-capacitance 0.01)) - (default (axial-resistivity 100)) + (default (membrane-potential -65 (scalar 1.0))) + (default (temperature-kelvin 307.14999999999998 (scalar 1.0))) + (default (membrane-capacitance 0.01 (scalar 1.0))) + (default (axial-resistivity 100 (scalar 1.0))) (paint (region "all") (density (mechanism "default::pas/e=-75" ("g" 3.0000000000000001e-05)))) - (paint (region "soma") (ion-reversal-potential "na" 50)) - (paint (region "soma") (ion-reversal-potential "k" -85)) + (paint (region "soma") (ion-reversal-potential "na" 50 (scalar 1.0))) + (paint (region "soma") (ion-reversal-potential "k" -85 (scalar 1.0))) (paint (region "soma") (density (mechanism "BBP::NaTs2_t" ("gNaTs2_tbar" 0.98395500000000002)))) (paint (region "soma") (density (mechanism "BBP::SKv3_1" ("gSKv3_1bar" 0.30347200000000002)))) (paint (region "soma") (density (mechanism "BBP::SK_E2" ("gSK_E2bar" 0.0084069999999999995)))) @@ -15,8 +15,8 @@ (paint (region "soma") (density (mechanism "BBP::Ca_LVAst" ("gCa_LVAstbar" 0.00033300000000000002)))) (paint (region "soma") (density (mechanism "BBP::CaDynamics_E2" ("gamma" 0.00060899999999999995) ("decay" 210.48528400000001)))) (paint (region "soma") (density (mechanism "BBP::Ih" ("gIhbar" 8.0000000000000007e-05)))) - (paint (region "axon") (ion-reversal-potential "na" 50)) - (paint (region "axon") (ion-reversal-potential "k" -85)) + (paint (region "axon") (ion-reversal-potential "na" 50 (scalar 1.0))) + (paint (region "axon") (ion-reversal-potential "k" -85 (scalar 1.0))) (paint (region "axon") (density (mechanism "BBP::NaTa_t" ("gNaTa_tbar" 3.1379679999999999)))) (paint (region "axon") (density (mechanism "BBP::Nap_Et2" ("gNap_Et2bar" 0.0068269999999999997)))) (paint (region "axon") (density (mechanism "BBP::K_Pst" ("gK_Pstbar" 0.97353800000000001)))) @@ -26,11 +26,11 @@ (paint (region "axon") (density (mechanism "BBP::Ca_HVA" ("gCa_HVAbar" 0.00098999999999999999)))) (paint (region "axon") (density (mechanism "BBP::Ca_LVAst" ("gCa_LVAstbar" 0.0087519999999999994)))) (paint (region "axon") (density (mechanism "BBP::CaDynamics_E2" ("gamma" 0.0029099999999999998) ("decay" 287.19873100000001)))) - (paint (region "dend") (membrane-capacitance 0.02)) + (paint (region "dend") (membrane-capacitance 0.02 (scalar 1.0))) (paint (region "dend") (density (mechanism "BBP::Ih" ("gIhbar" 8.0000000000000007e-05)))) - (paint (region "apic") (ion-reversal-potential "na" 50)) - (paint (region "apic") (ion-reversal-potential "k" -85)) - (paint (region "apic") (membrane-capacitance 0.02)) + (paint (region "apic") (ion-reversal-potential "na" 50 (scalar 1.0))) + (paint (region "apic") (ion-reversal-potential "k" -85 (scalar 1.0))) + (paint (region "apic") (membrane-capacitance 0.02 (scalar 1.0))) (paint (region "apic") (density (mechanism "BBP::NaTs2_t" ("gNaTs2_tbar" 0.026145000000000002)))) (paint (region "apic") (density (mechanism "BBP::SKv3_1" ("gSKv3_1bar" 0.0042259999999999997)))) (paint (region "apic") (density (mechanism "BBP::Im" ("gImbar" 0.00014300000000000001)))) diff --git a/bluepyopt/tests/test_ephys/testdata/acc/l5pc/l5pc_label_dict.acc b/bluepyopt/tests/test_ephys/testdata/acc/l5pc/l5pc_label_dict.acc index ea26ab1a..feec6f79 100644 --- a/bluepyopt/tests/test_ephys/testdata/acc/l5pc/l5pc_label_dict.acc +++ b/bluepyopt/tests/test_ephys/testdata/acc/l5pc/l5pc_label_dict.acc @@ -1,5 +1,5 @@ (arbor-component - (meta-data (version "0.1-dev")) + (meta-data (version "0.9-dev")) (label-dict (region-def "all" (all)) (region-def "soma" (tag 1)) diff --git a/bluepyopt/tests/test_ephys/testdata/acc/l5pc_py37/l5pc_decor.acc b/bluepyopt/tests/test_ephys/testdata/acc/l5pc_py37/l5pc_decor.acc index 017c701f..449a04f2 100644 --- a/bluepyopt/tests/test_ephys/testdata/acc/l5pc_py37/l5pc_decor.acc +++ b/bluepyopt/tests/test_ephys/testdata/acc/l5pc_py37/l5pc_decor.acc @@ -1,13 +1,13 @@ (arbor-component - (meta-data (version "0.1-dev")) + (meta-data (version "0.9-dev")) (decor - (default (membrane-potential -65)) - (default (temperature-kelvin 307.14999999999998)) - (default (membrane-capacitance 0.01)) - (default (axial-resistivity 100)) + (default (membrane-potential -65 (scalar 1.0))) + (default (temperature-kelvin 307.14999999999998 (scalar 1.0))) + (default (membrane-capacitance 0.01 (scalar 1.0))) + (default (axial-resistivity 100 (scalar 1.0))) (paint (region "all") (density (mechanism "default::pas/e=-75" ("g" 3.0000000000000001e-05)))) - (paint (region "soma") (ion-reversal-potential "na" 50)) - (paint (region "soma") (ion-reversal-potential "k" -85)) + (paint (region "soma") (ion-reversal-potential "na" 50 (scalar 1.0))) + (paint (region "soma") (ion-reversal-potential "k" -85 (scalar 1.0))) (paint (region "soma") (density (mechanism "BBP::NaTs2_t" ("gNaTs2_tbar" 0.98395500000000002)))) (paint (region "soma") (density (mechanism "BBP::SKv3_1" ("gSKv3_1bar" 0.30347200000000002)))) (paint (region "soma") (density (mechanism "BBP::SK_E2" ("gSK_E2bar" 0.0084069999999999995)))) @@ -15,8 +15,8 @@ (paint (region "soma") (density (mechanism "BBP::Ca_LVAst" ("gCa_LVAstbar" 0.00033300000000000002)))) (paint (region "soma") (density (mechanism "BBP::CaDynamics_E2" ("gamma" 0.00060899999999999995) ("decay" 210.48528400000001)))) (paint (region "soma") (density (mechanism "BBP::Ih" ("gIhbar" 8.0000000000000007e-05)))) - (paint (region "axon") (ion-reversal-potential "na" 50)) - (paint (region "axon") (ion-reversal-potential "k" -85)) + (paint (region "axon") (ion-reversal-potential "na" 50 (scalar 1.0))) + (paint (region "axon") (ion-reversal-potential "k" -85 (scalar 1.0))) (paint (region "axon") (density (mechanism "BBP::NaTa_t" ("gNaTa_tbar" 3.1379679999999999)))) (paint (region "axon") (density (mechanism "BBP::Nap_Et2" ("gNap_Et2bar" 0.0068269999999999997)))) (paint (region "axon") (density (mechanism "BBP::K_Pst" ("gK_Pstbar" 0.97353800000000001)))) @@ -26,11 +26,11 @@ (paint (region "axon") (density (mechanism "BBP::Ca_HVA" ("gCa_HVAbar" 0.00098999999999999999)))) (paint (region "axon") (density (mechanism "BBP::Ca_LVAst" ("gCa_LVAstbar" 0.0087519999999999994)))) (paint (region "axon") (density (mechanism "BBP::CaDynamics_E2" ("gamma" 0.0029099999999999998) ("decay" 287.19873100000001)))) - (paint (region "dend") (membrane-capacitance 0.02)) + (paint (region "dend") (membrane-capacitance 0.02 (scalar 1.0))) (paint (region "dend") (density (mechanism "BBP::Ih" ("gIhbar" 8.0000000000000007e-05)))) - (paint (region "apic") (ion-reversal-potential "na" 50)) - (paint (region "apic") (ion-reversal-potential "k" -85)) - (paint (region "apic") (membrane-capacitance 0.02)) + (paint (region "apic") (ion-reversal-potential "na" 50 (scalar 1.0))) + (paint (region "apic") (ion-reversal-potential "k" -85 (scalar 1.0))) + (paint (region "apic") (membrane-capacitance 0.02 (scalar 1.0))) (paint (region "apic") (density (mechanism "BBP::NaTs2_t" ("gNaTs2_tbar" 0.026145000000000002)))) (paint (region "apic") (density (mechanism "BBP::SKv3_1" ("gSKv3_1bar" 0.0042259999999999997)))) (paint (region "apic") (density (mechanism "BBP::Im" ("gImbar" 0.00014300000000000001)))) diff --git a/bluepyopt/tests/test_ephys/testdata/acc/simplecell/simple_axon_replacement.acc b/bluepyopt/tests/test_ephys/testdata/acc/simplecell/simple_axon_replacement.acc index 8b8d954e..5aad006f 100644 --- a/bluepyopt/tests/test_ephys/testdata/acc/simplecell/simple_axon_replacement.acc +++ b/bluepyopt/tests/test_ephys/testdata/acc/simplecell/simple_axon_replacement.acc @@ -1,6 +1,6 @@ (arbor-component (meta-data - (version "0.1-dev")) + (version "0.9-dev")) (morphology (branch 0 -1 (segment 0 diff --git a/bluepyopt/tests/test_ephys/testdata/acc/simplecell/simple_cell_decor.acc b/bluepyopt/tests/test_ephys/testdata/acc/simplecell/simple_cell_decor.acc index e5af159c..e1361030 100644 --- a/bluepyopt/tests/test_ephys/testdata/acc/simplecell/simple_cell_decor.acc +++ b/bluepyopt/tests/test_ephys/testdata/acc/simplecell/simple_cell_decor.acc @@ -1,5 +1,5 @@ (arbor-component - (meta-data (version "0.1-dev")) + (meta-data (version "0.9-dev")) (decor - (paint (region "soma") (membrane-capacitance 0.01)) + (paint (region "soma") (membrane-capacitance 0.01 (scalar 1.0))) (paint (region "soma") (density (mechanism "default::hh" ("gnabar" 0.10299326453483033) ("gkbar" 0.027124836082684685)))))) \ No newline at end of file diff --git a/bluepyopt/tests/test_ephys/testdata/acc/simplecell/simple_cell_label_dict.acc b/bluepyopt/tests/test_ephys/testdata/acc/simplecell/simple_cell_label_dict.acc index ea26ab1a..feec6f79 100644 --- a/bluepyopt/tests/test_ephys/testdata/acc/simplecell/simple_cell_label_dict.acc +++ b/bluepyopt/tests/test_ephys/testdata/acc/simplecell/simple_cell_label_dict.acc @@ -1,5 +1,5 @@ (arbor-component - (meta-data (version "0.1-dev")) + (meta-data (version "0.9-dev")) (label-dict (region-def "all" (all)) (region-def "soma" (tag 1)) diff --git a/bluepyopt/tests/test_ephys/testdata/acc/simplecell/simple_modified.acc b/bluepyopt/tests/test_ephys/testdata/acc/simplecell/simple_modified.acc index 89a99ad3..0e29834f 100644 --- a/bluepyopt/tests/test_ephys/testdata/acc/simplecell/simple_modified.acc +++ b/bluepyopt/tests/test_ephys/testdata/acc/simplecell/simple_modified.acc @@ -1,6 +1,6 @@ (arbor-component (meta-data - (version "0.1-dev")) + (version "0.9-dev")) (morphology (branch 0 -1 (segment 0 diff --git a/bluepyopt/tests/test_ephys/testdata/acc/templates/decor_acc_template.jinja2 b/bluepyopt/tests/test_ephys/testdata/acc/templates/decor_acc_template.jinja2 index b55ca0bc..4f5a33c9 100644 --- a/bluepyopt/tests/test_ephys/testdata/acc/templates/decor_acc_template.jinja2 +++ b/bluepyopt/tests/test_ephys/testdata/acc/templates/decor_acc_template.jinja2 @@ -1,5 +1,5 @@ (arbor-component - (meta-data (version "0.1-dev")) + (meta-data (version "0.9-dev")) (meta-data (info "test-decor")) (decor {%- for mech, params in global_mechs.items() %} @@ -11,7 +11,7 @@ {%- endif %} {%- else %} {%- for param in params %} - (default ({{ param.name }} {{ param.value }})) + (default ({{ param.name }} {{ param.value }} (scalar 1.0))) {%- endfor %} {%- endif %} {%- endfor %} @@ -26,7 +26,7 @@ {%- endif %} {%- else %} {%- for param in params %} - (paint {{loc.ref}} ({{ param.name }} {{ param.value }})) + (paint {{loc.ref}} ({{ param.name }} {{ param.value }} (scalar 1.0))) {%- endfor %} {%- endif %} {%- endfor %} diff --git a/bluepyopt/tests/test_ephys/testdata/acc/templates/label_dict_acc_template.jinja2 b/bluepyopt/tests/test_ephys/testdata/acc/templates/label_dict_acc_template.jinja2 index c439b12b..e2686dc0 100644 --- a/bluepyopt/tests/test_ephys/testdata/acc/templates/label_dict_acc_template.jinja2 +++ b/bluepyopt/tests/test_ephys/testdata/acc/templates/label_dict_acc_template.jinja2 @@ -1,5 +1,5 @@ (arbor-component - (meta-data (version "0.1-dev")) + (meta-data (version "0.9-dev")) (meta-data (info "test-label-dict")) (label-dict {%- for loc, label in label_dict.items() %}{# this is a comment #} diff --git a/setup.py b/setup.py index f62638c4..6db01366 100644 --- a/setup.py +++ b/setup.py @@ -37,7 +37,7 @@ ] EXTRA_ARBOR = [ - 'arbor>=0.7', + 'arbor>=0.10', ] setuptools.setup( diff --git a/tox.ini b/tox.ini index b135d453..60af05f4 100644 --- a/tox.ini +++ b/tox.ini @@ -4,7 +4,6 @@ minversion = 4 [gh-actions] python = - 3.8: py3 3.9: py3 3.10: py3 3.11: py3 @@ -12,7 +11,7 @@ python = [testenv] envdir = - py3{8,9,10,11,}{-unit,-functional,-style,-syntax}: {toxworkdir}/py3 + py3{9,10,11,12,}{-unit,-functional,-style,-syntax}: {toxworkdir}/py3 docs: {toxworkdir}/docs extras = tests deps = @@ -46,7 +45,7 @@ commands = functional: pytest --cov=bluepyopt {[testenv]coverage_options} bluepyopt/tests -m neuroml [testenv:docs] -basepython = python3.8 +basepython = python3.9 changedir = docs deps = sphinx