myokit 1.37.4__tar.gz → 1.38.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.
- {myokit-1.37.4/myokit.egg-info → myokit-1.38.0}/PKG-INFO +1 -1
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_datablock.py +4 -6
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_myokit_version.py +1 -1
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_parsing.py +5 -1
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_sim/cable.c +1 -1
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_sim/fiber_tissue.c +1 -1
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_unit.py +1 -1
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/axon/_abf.py +72 -46
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/heka/_patchmaster.py +16 -49
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_formats_axon.py +4 -0
- {myokit-1.37.4 → myokit-1.38.0/myokit.egg-info}/PKG-INFO +1 -1
- {myokit-1.37.4 → myokit-1.38.0}/LICENSE.txt +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/MANIFEST.in +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/README.md +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/__init__.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/__main__.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_aux.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/example.mmt +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/gui/find.png +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/gui/icon-datablock-viewer-128.xpm +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/gui/icon-datablock-viewer-16.xpm +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/gui/icon-datablock-viewer-24.xpm +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/gui/icon-datablock-viewer-256.xpm +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/gui/icon-datablock-viewer-32.xpm +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/gui/icon-datablock-viewer-48.xpm +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/gui/icon-datablock-viewer-64.xpm +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/gui/icon-datablock-viewer-96.xpm +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/gui/icon-datablock-viewer.ico +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/gui/icon-datablock-viewer.png +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/gui/icon-ide-128.xpm +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/gui/icon-ide-16.xpm +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/gui/icon-ide-24.xpm +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/gui/icon-ide-256.xpm +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/gui/icon-ide-32.xpm +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/gui/icon-ide-48.xpm +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/gui/icon-ide-64.xpm +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/gui/icon-ide-96.xpm +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/gui/icon-ide.ico +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/gui/icon-ide.png +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/gui/new.png +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/gui/open.png +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/gui/redo.png +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/gui/run.png +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/gui/save.png +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/gui/undo.png +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/install-lin/myokit-datablock-viewer.desktop +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/install-lin/myokit-datalog-viewer.desktop +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/install-lin/myokit-ide.desktop +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/install-lin/myokit.lang +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/install-lin/x-abf.xml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/install-lin/x-cellml.xml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/install-lin/x-myokit.xml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/install-lin/x-wcp.xml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/install-win/menu.json +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/sundials-win-vs/LICENSE +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/sundials-win-vs/include/cvodes/cvodes.h +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/sundials-win-vs/include/cvodes/cvodes_direct.h +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/sundials-win-vs/include/cvodes/cvodes_ls.h +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/sundials-win-vs/include/nvector/nvector_serial.h +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/sundials-win-vs/include/sundials/sundials_config.h +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/sundials-win-vs/include/sundials/sundials_dense.h +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/sundials-win-vs/include/sundials/sundials_direct.h +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/sundials-win-vs/include/sundials/sundials_export.h +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/sundials-win-vs/include/sundials/sundials_iterative.h +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/sundials-win-vs/include/sundials/sundials_linearsolver.h +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/sundials-win-vs/include/sundials/sundials_matrix.h +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/sundials-win-vs/include/sundials/sundials_nonlinearsolver.h +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/sundials-win-vs/include/sundials/sundials_nvector.h +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/sundials-win-vs/include/sundials/sundials_types.h +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/sundials-win-vs/include/sundials/sundials_version.h +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/sundials-win-vs/include/sunlinsol/sunlinsol_dense.h +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/sundials-win-vs/include/sunmatrix/sunmatrix_dense.h +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/sundials-win-vs/lib/sundials_cvodes.dll +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/sundials-win-vs/lib/sundials_cvodes.lib +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/sundials-win-vs/lib/sundials_nvecserial.dll +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/sundials-win-vs/lib/sundials_nvecserial.lib +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_config.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_datalog.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_err.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_expressions.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_io.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_model_api.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_progress.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_protocol.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_sim/__init__.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_sim/cable.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_sim/cmodel.h +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_sim/cmodel.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_sim/compiler.c +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_sim/compiler.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_sim/cvodessim.c +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_sim/cvodessim.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_sim/differential.hpp +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_sim/fiber_tissue.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_sim/jacobian.cpp +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_sim/jacobian.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_sim/mcl.h +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_sim/opencl.c +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_sim/opencl.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_sim/openclsim.c +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_sim/openclsim.cl +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_sim/openclsim.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_sim/pacing.h +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_sim/rhs.c +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_sim/rhs.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_sim/sundials.c +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_sim/sundials.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/_system.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/float.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/__init__.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/ansic/__init__.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/ansic/_ewriter.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/ansic/_exporter.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/ansic/template/cable.c +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/ansic/template/euler.c +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/ansic/template/sim.c +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/axon/__init__.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/axon/_atf.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/axon/_importer.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/cellml/__init__.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/cellml/_ewriter.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/cellml/_exporter.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/cellml/_importer.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/cellml/v1/__init__.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/cellml/v1/_api.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/cellml/v1/_parser.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/cellml/v1/_writer.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/cellml/v2/__init__.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/cellml/v2/_api.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/cellml/v2/_parser.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/cellml/v2/_writer.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/channelml/__init__.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/channelml/_importer.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/cpp/__init__.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/cpp/_ewriter.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/cuda/__init__.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/cuda/_ewriter.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/cuda/_exporter.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/cuda/template/kernel.cu +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/diffsl/__init__.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/diffsl/_ewriter.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/diffsl/_exporter.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/easyml/__init__.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/easyml/_ewriter.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/easyml/_exporter.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/heka/__init__.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/heka/_importer.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/html/__init__.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/html/_exporter.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/html/_flatten.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/latex/__init__.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/latex/_ewriter.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/latex/_exporter.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/mathml/__init__.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/mathml/_ewriter.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/mathml/_parser.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/matlab/__init__.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/matlab/_ewriter.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/matlab/_exporter.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/matlab/template/constants.m +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/matlab/template/ifthenelse.m +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/matlab/template/main.m +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/matlab/template/model.m +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/matlab/template/model_wrapper.m +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/opencl/__init__.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/opencl/_ewriter.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/opencl/_exporter.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/opencl/template/cable.c +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/opencl/template/kernel.cl +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/opencl/template/minilog.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/opencl/template/plot.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/opencl/template/test.sh +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/python/__init__.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/python/_ewriter.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/python/_exporter.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/python/template/sim.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/sbml/__init__.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/sbml/_api.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/sbml/_exporter.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/sbml/_importer.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/sbml/_parser.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/sbml/_writer.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/stan/__init__.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/stan/_ewriter.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/stan/_exporter.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/stan/template/cell.stan +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/stan/template/run.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/sympy/__init__.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/sympy/_ereader.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/sympy/_ewriter.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/wcp/__init__.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/wcp/_wcp.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/xml/__init__.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/xml/_exporter.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/formats/xml/_split.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/gui/__init__.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/gui/datablock_viewer.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/gui/datalog_viewer.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/gui/explorer.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/gui/ide.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/gui/progress.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/gui/source.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/gui/vargrapher.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/lib/__init__.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/lib/deps.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/lib/guess.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/lib/hh.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/lib/markov.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/lib/multi.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/lib/plots.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/pacing.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/pype.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/__init__.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/ansic_event_based_pacing.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/ansic_time_series_pacing.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/beeler-1977-model-compare-a.mmt +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/beeler-1977-model-compare-b.mmt +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/beeler-1977-model.mmt +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/beeler-1977-protocol.mmt +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/beeler-1977-script.mmt +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/beeler-1977-units.mmt +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/clancy-1999-fitting.mmt +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/conditional.mmt +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/cv1d.mmt +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/cv1d.zip +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/decker-2009.mmt +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/decker.model +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/dn-1985-normalised.mmt +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/dom-markov.mmt +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/abf-protocol.pro +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/abf-v1.abf +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/abf-v2.abf +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/cellml/LICENSE +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/cellml/br-1977-dot.cellml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/cellml/br-1977.cellml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/cellml/corrias.cellml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/cellml/decker-2009.cellml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/cellml/documentation.cellml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/cellml/invalid-file.cellml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/cellml/lr-1991-exported-1.cellml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/cellml/lr-1991-exported-2.cellml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/channelml/ch-00-valid-file.channelml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/channelml/ch-01-wrong-root.channelml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/channelml/ch-02-no-channel-type.channelml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/channelml/ch-03-overlapping-name.channelml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/channelml/ch-04-no-cvr.channelml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/channelml/ch-05-two-cvrs.channelml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/channelml/ch-06-no-q10.channelml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/channelml/ch-07-three-transitions.channelml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/channelml/ch-08-no-closed-to-open.channelml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/channelml/ch-09-no-open-to-closed.channelml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/channelml/ch-10-tco-bad-expression.channelml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/channelml/ch-11-toc-bad-expression.channelml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/channelml/ch-12-no-steady-state.channelml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/channelml/ch-13-no-time-course.channelml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/channelml/ch-14-inf-bad-expression.channelml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/channelml/ch-15-tau-bad-expression.channelml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/channelml/ch-16-no-gates.channelml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/channelml/ch-17-invalid-name.channelml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/channelml/ch-18-c-style-if.channelml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/sbml/00004-sbml-l2v1-modified.xml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/sbml/00004-sbml-l3v2-modified.xml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/sbml/HodgkinHuxley.xml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/sbml/LICENSE +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/sbml/model/00001-sbml-l3v2.xml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/sbml/model/00004-sbml-l3v2.xml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/sbml/model/01103-sbml-l3v2.xml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/sbml/result/00001-results.csv +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/sbml/result/00004-results.csv +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/sbml/result/01103-results.csv +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/wcp-file-empty.wcp +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/formats/wcp-file.wcp +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/bad1d-1-not-enough-files.zip +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/bad1d-2-no-header.zip +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/bad1d-3-no-data.zip +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/bad1d-4-not-a-zip.zip +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/bad1d-5-bad-data-type.zip +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/bad1d-6-time-too-short.zip +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/bad1d-7-0d-too-short.zip +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/bad1d-8-1d-too-short.zip +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/bad2d-1-not-enough-files.zip +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/bad2d-2-no-header.zip +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/bad2d-3-no-data.zip +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/bad2d-4-not-a-zip.zip +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/bad2d-5-bad-data-type.zip +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/bad2d-6-time-too-short.zip +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/bad2d-7-0d-too-short.zip +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/bad2d-8-2d-too-short.zip +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/badlog-1-no-data.zip +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/badlog-2-no-structure.zip +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/badlog-3-not-a-zip.zip +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/badlog-4-invalid-n-fields.zip +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/badlog-5-invalid-data-size.zip +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/badlog-6-bad-data-type.zip +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/badlog-7-not-enough-data.zip +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/block1d.mmt +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/block2d.mmt +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/block2d.zip +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/datalog-1-empty.csv +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/datalog-10-just-spaces.csv +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/datalog-11-just-a-semicolon.csv +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/datalog-12-bad-header.csv +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/datalog-13-header-with-empty-1.csv +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/datalog-14-header-with-empty-2.csv +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/datalog-15-header-with-empty-3.csv +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/datalog-16-wrong-columns-in-data.csv +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/datalog-17-non-float-data.csv +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/datalog-18-duplicate-keys.csv +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/datalog-2-windows.csv +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/datalog-3-old-mac.csv +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/datalog-4-empty-lines.csv +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/datalog-5-semicolons.csv +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/datalog-6-open-string.csv +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/datalog-7-empty-lines-2.csv +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/datalog-8-unquoted-header.csv +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/datalog-9-double-quoted-header.csv +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/datalog.csv +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/io/goodlog.zip +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/lr-1991-dep.mmt +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/lr-1991-fitting.mmt +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/lr-1991-testing.mmt +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/lr-1991.mmt +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/multi/beeler-1977-protocol.mmt +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/multi/beeler-1977-script.mmt +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/multi/beeler-no-name.mmt +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/multi/lr-1991.mmt +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/multi/not-a-model.csv +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/multi/subdir/beeler-no-name.mmt +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/data/noble-1962.mmt +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_aux.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_cellml_v1_api.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_cellml_v1_parser.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_cellml_v1_writer.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_cellml_v2_api.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_cellml_v2_parser.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_cellml_v2_writer.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_cmodel.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_compiler_detection.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_component.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_config.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_datablock.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_datalog.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_dependency_checking.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_expressions.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_float.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_formats.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_formats_ansic.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_formats_cellml.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_formats_channelml.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_formats_cpp.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_formats_cuda.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_formats_diffsl.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_formats_easyml.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_formats_exporters_run.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_formats_html.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_formats_latex.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_formats_mathml_content.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_formats_mathml_presentation.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_formats_matlab.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_formats_opencl.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_formats_python.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_formats_sbml.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_formats_stan.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_formats_sympy.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_formats_wcp.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_io.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_jacobian_calculator.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_jacobian_tracer.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_lib_deps.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_lib_guess.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_lib_hh.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_lib_markov.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_lib_multi.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_lib_plots.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_meta.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_model.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_model_building.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_opencl_info.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_pacing_factory.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_pacing_system_c.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_pacing_system_py.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_parsing.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_progress_reporters.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_protocol.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_protocol_floating_point.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_protocol_time_series.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_pype.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_quantity.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_rhs_benchmarker.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_sbml_api.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_sbml_export.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_sbml_parser.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_simulation_1d.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_simulation_cvodes.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_simulation_cvodes_from_disk.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_simulation_fiber_tissue.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_simulation_log_interval.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_simulation_opencl.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_simulation_opencl_log_interval.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_simulation_opencl_vs_cvode.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_simulation_opencl_vs_sim1d.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_system_info.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_tools.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_unit.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_user_functions.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tests/test_variable.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/tools.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit/units.py +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit.egg-info/SOURCES.txt +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit.egg-info/dependency_links.txt +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit.egg-info/entry_points.txt +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit.egg-info/not-zip-safe +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit.egg-info/requires.txt +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/myokit.egg-info/top_level.txt +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/pyproject.toml +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/setup.cfg +0 -0
- {myokit-1.37.4 → myokit-1.38.0}/setup.py +0 -0
|
@@ -2169,8 +2169,7 @@ class ColorMapViridis(ColorMap):
|
|
|
2169
2169
|
https://github.com/BIDS/colormap/blob/master/colormaps.py
|
|
2170
2170
|
and were distributed under a CC0 license.
|
|
2171
2171
|
|
|
2172
|
-
Viridis was designed by
|
|
2173
|
-
Walt.
|
|
2172
|
+
Viridis was designed by Nathaniel J. Smith and Stefan van der Walt.
|
|
2174
2173
|
"""
|
|
2175
2174
|
_VALUES = np.array((
|
|
2176
2175
|
(68, 1, 84),
|
|
@@ -2456,14 +2455,13 @@ class ColorMapViridis(ColorMap):
|
|
|
2456
2455
|
|
|
2457
2456
|
class ColorMapInferno(ColorMap):
|
|
2458
2457
|
"""
|
|
2459
|
-
A colormap using "
|
|
2458
|
+
A colormap using "Inferno".
|
|
2460
2459
|
|
|
2461
|
-
The values used by this color map are
|
|
2460
|
+
The values used by this color map are adapted from
|
|
2462
2461
|
https://github.com/BIDS/colormap/blob/master/colormaps.py
|
|
2463
2462
|
and were distributed under a CC0 license.
|
|
2464
2463
|
|
|
2465
|
-
|
|
2466
|
-
Walt.
|
|
2464
|
+
Inferno was designed by Nathaniel J. Smith and Stefan van der Walt.
|
|
2467
2465
|
"""
|
|
2468
2466
|
_VALUES = np.array((
|
|
2469
2467
|
(0, 0, 4),
|
|
@@ -14,7 +14,7 @@ __release__ = True
|
|
|
14
14
|
# incompatibility
|
|
15
15
|
# - Changes to revision indicate bugfixes, tiny new features
|
|
16
16
|
# - There is no significance to odd/even numbers
|
|
17
|
-
__version_tuple__ = 1,
|
|
17
|
+
__version_tuple__ = 1, 38, 0
|
|
18
18
|
|
|
19
19
|
# String version of the version number
|
|
20
20
|
__version__ = '.'.join([str(x) for x in __version_tuple__])
|
|
@@ -949,6 +949,10 @@ def parse_protocol_from_stream(stream):
|
|
|
949
949
|
'Expecting [[protocol]]')
|
|
950
950
|
expect(next(stream), EOL)
|
|
951
951
|
|
|
952
|
+
# Handling "next" accuracy: after summing, times set using "next" will be
|
|
953
|
+
# rounded to 9 digits precision.
|
|
954
|
+
round_next = lambda x: round(x, 9)
|
|
955
|
+
|
|
952
956
|
# Create protocol
|
|
953
957
|
protocol = myokit.Protocol()
|
|
954
958
|
|
|
@@ -971,7 +975,7 @@ def parse_protocol_from_stream(stream):
|
|
|
971
975
|
'Unable to determine end of previous event, "next" cannot'
|
|
972
976
|
' be used here.')
|
|
973
977
|
else:
|
|
974
|
-
t = t_next
|
|
978
|
+
t = round_next(t_next)
|
|
975
979
|
else:
|
|
976
980
|
t = parse_number(stream)
|
|
977
981
|
if t_last is None:
|
|
@@ -186,7 +186,7 @@ class Unit:
|
|
|
186
186
|
``unit2``.
|
|
187
187
|
|
|
188
188
|
Exponents are stored internally as floating point numbers, and the
|
|
189
|
-
check for closeness
|
|
189
|
+
check for closeness is made with a relative tolerance of ``reltol`` and
|
|
190
190
|
absolute tolerance of ``abstol``, using::
|
|
191
191
|
|
|
192
192
|
abs(a - b) < max(reltol * max(abs(a), abs(b)), abstol)
|
|
@@ -254,7 +254,6 @@ class AbfFile(myokit.formats.SweepSource):
|
|
|
254
254
|
# Read the protocol information
|
|
255
255
|
self._n_adc = None
|
|
256
256
|
self._n_dac = None
|
|
257
|
-
|
|
258
257
|
self._rate = None
|
|
259
258
|
self._mode = None
|
|
260
259
|
|
|
@@ -264,6 +263,7 @@ class AbfFile(myokit.formats.SweepSource):
|
|
|
264
263
|
self._run_start_to_start = None
|
|
265
264
|
self._sweeps_per_run = None
|
|
266
265
|
self._sweep_start_to_start = None
|
|
266
|
+
self._equal_length_sweeps = None
|
|
267
267
|
self._samples_per_channel = None
|
|
268
268
|
|
|
269
269
|
# To be able to treat v1 and v2 slightly more easily, we define 3
|
|
@@ -281,7 +281,6 @@ class AbfFile(myokit.formats.SweepSource):
|
|
|
281
281
|
# will have A/D but no (or no supported) D/A. Conversely protocol files
|
|
282
282
|
# will have D/A only. So all in one sweep is easiest.
|
|
283
283
|
self._sweeps = None
|
|
284
|
-
|
|
285
284
|
self._read_3_protocol_information()
|
|
286
285
|
|
|
287
286
|
# Read and calculate conversion factors for integer data in ADC
|
|
@@ -553,7 +552,10 @@ class AbfFile(myokit.formats.SweepSource):
|
|
|
553
552
|
# 1.x versions only seem to have 1 DAC channel, but this is not
|
|
554
553
|
# supported here.
|
|
555
554
|
self._n_adc = int(h['nADCNumChannels'])
|
|
556
|
-
|
|
555
|
+
if h['sDACChannelName'] is None: # pragma: no cover
|
|
556
|
+
self._n_dac = 2
|
|
557
|
+
else:
|
|
558
|
+
self._n_dac = min(len(h['sDACChannelName']), 2)
|
|
557
559
|
self._rate = 1e6 / (h['fADCSampleInterval'] * self._n_adc)
|
|
558
560
|
self._mode = h['nOperationMode']
|
|
559
561
|
else:
|
|
@@ -577,11 +579,7 @@ class AbfFile(myokit.formats.SweepSource):
|
|
|
577
579
|
'Unsupported acquisition method'
|
|
578
580
|
f' {acquisition_modes[self._mode]}; unable to read D/A'
|
|
579
581
|
' channels.')
|
|
580
|
-
|
|
581
|
-
# Remaining code is all about reading D/A info for episodic
|
|
582
|
-
# stimulation, so return
|
|
583
582
|
self._n_dac = 0
|
|
584
|
-
return
|
|
585
583
|
|
|
586
584
|
# Gather protocol information
|
|
587
585
|
if self._version < 2:
|
|
@@ -668,9 +666,16 @@ class AbfFile(myokit.formats.SweepSource):
|
|
|
668
666
|
self._sweep_start_to_start = self._samples_per_channel / self._rate
|
|
669
667
|
|
|
670
668
|
# Create empty sweeps
|
|
671
|
-
|
|
672
|
-
|
|
669
|
+
if self._mode == ACMODE_GAP_FREE: # pragma: no cover
|
|
670
|
+
# In gap-free mode, treat the data as a single sweep
|
|
671
|
+
n = 1
|
|
672
|
+
elif self._is_protocol_file:
|
|
673
|
+
# In protocol file, there is no number of recorded sweeps, so use
|
|
674
|
+
# intended number of sweeps instead
|
|
673
675
|
n = self._sweeps_per_run
|
|
676
|
+
else:
|
|
677
|
+
# Use number of recorded sweeps
|
|
678
|
+
n = h['lActualSweeps']
|
|
674
679
|
self._sweeps = [Sweep() for i in range(n)]
|
|
675
680
|
|
|
676
681
|
# User lists are not supported for D/A reconstruction
|
|
@@ -811,7 +816,8 @@ class AbfFile(myokit.formats.SweepSource):
|
|
|
811
816
|
# Get binary integer format
|
|
812
817
|
dt = np.dtype('i2') if h['nDataFormat'] == 0 else np.dtype('f4')
|
|
813
818
|
|
|
814
|
-
# Get number of channels, create a numpy memory map
|
|
819
|
+
# Get number of channels, create a numpy memory map of all data
|
|
820
|
+
# The map has size n and starts at offset o
|
|
815
821
|
if self._version < 2:
|
|
816
822
|
# Old files, get info from fields stored directly in header
|
|
817
823
|
o = h['lDataSectionPtr'] * BLOCKSIZE \
|
|
@@ -823,37 +829,57 @@ class AbfFile(myokit.formats.SweepSource):
|
|
|
823
829
|
n = h['sections']['Data']['length']
|
|
824
830
|
data = np.memmap(self._filepath, dt, 'r', shape=(n,), offset=o)
|
|
825
831
|
|
|
826
|
-
# Load
|
|
832
|
+
# Load information about sweep sizes from "SynchArray".
|
|
833
|
+
# The number of sweep information structs will be n, and information
|
|
834
|
+
# starts at an offset o
|
|
827
835
|
if self._version < 2:
|
|
828
836
|
n = h['lSynchArraySize']
|
|
829
837
|
o = h['lSynchArrayPtr'] * BLOCKSIZE
|
|
830
838
|
else:
|
|
831
839
|
n = h['sections']['SynchArray']['length']
|
|
832
840
|
o = h['sections']['SynchArray']['index'] * BLOCKSIZE
|
|
833
|
-
if n > 0:
|
|
834
|
-
dt = [(str('offset'), str('i4')), (str('len'), str('i4'))]
|
|
835
|
-
sweep_data = np.memmap(
|
|
836
|
-
self._filepath, dt, 'r', shape=(n,), offset=o)
|
|
837
|
-
else: # pragma: no cover
|
|
838
|
-
# Cover pragma: Don't have appropriate test file
|
|
839
|
-
sweep_data = np.empty((1), dt)
|
|
840
|
-
sweep_data[0]['len'] = data.size
|
|
841
|
-
sweep_data[0]['offset'] = 0
|
|
842
841
|
|
|
843
|
-
#
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
842
|
+
# Get sweep start times (real times, not array offsets) and sizes
|
|
843
|
+
# (as number of points in an array)
|
|
844
|
+
if self._mode != ACMODE_GAP_FREE:
|
|
845
|
+
# This will be read in as an array of numpy.Void objects, which are
|
|
846
|
+
# similar to structs. In ``dt`` we name the entries offset and len.
|
|
847
|
+
sweep_starts_sizes = np.memmap(
|
|
848
|
+
self._filepath, [('offset', 'i4'), ('len', 'i4')], 'r',
|
|
849
|
+
shape=(n,), offset=o)
|
|
850
|
+
else: # pragma: no cover
|
|
851
|
+
# In gap-free model, all data is a single sweep
|
|
852
|
+
sweep_starts_sizes = [(0, len(data))]
|
|
853
|
+
|
|
854
|
+
# Sanity check
|
|
855
|
+
if len(sweep_starts_sizes) != len(self._sweeps): # pragma: no cover
|
|
856
|
+
raise RuntimeError(
|
|
857
|
+
'Unexpected situation: number of sweeps is'
|
|
858
|
+
f' {len(self._sweeps)} but found list of'
|
|
859
|
+
f' {len(sweep_starts_sizes)} sweep sizes.')
|
|
860
|
+
|
|
861
|
+
# Check if sweep sizes are all the same
|
|
862
|
+
self._equal_length_sweeps = True
|
|
863
|
+
if len(sweep_starts_sizes) > 0:
|
|
864
|
+
size = sweep_starts_sizes[0][1]
|
|
865
|
+
for o, s in sweep_starts_sizes[1:]:
|
|
866
|
+
if s != size: # pragma: no cover
|
|
867
|
+
self._equal_length_sweeps = False
|
|
868
|
+
break
|
|
869
|
+
del size
|
|
870
|
+
|
|
871
|
+
# Episodic stimulation? Then increment start time using sweep interval
|
|
872
|
+
# First time is time listed in first sweep
|
|
873
|
+
if self._mode == ACMODE_EPISODIC_STIMULATION:
|
|
874
|
+
tstart = sweep_starts_sizes[0][0] / rate
|
|
850
875
|
|
|
851
876
|
# Get data
|
|
852
877
|
pos = 0
|
|
853
|
-
for i_sweep,
|
|
878
|
+
for i_sweep, (start, size) in enumerate(sweep_starts_sizes):
|
|
854
879
|
|
|
855
|
-
#
|
|
856
|
-
|
|
880
|
+
# Not episodic: Then use listed start time
|
|
881
|
+
if self._mode != ACMODE_EPISODIC_STIMULATION: # pragma: no cover
|
|
882
|
+
tstart = start / rate
|
|
857
883
|
|
|
858
884
|
# Calculate the correct size for variable-length event mode
|
|
859
885
|
if self._mode == ACMODE_VARIABLE_LENGTH_EVENTS: # pragma: no cover
|
|
@@ -874,25 +900,20 @@ class AbfFile(myokit.formats.SweepSource):
|
|
|
874
900
|
# If needed, reformat the integers
|
|
875
901
|
if h['nDataFormat'] == 0:
|
|
876
902
|
# Data given as integers? Convert to floating point
|
|
877
|
-
|
|
878
903
|
for i in range(self._n_adc):
|
|
879
904
|
part[:, i] *= self._adc_factors[i]
|
|
880
905
|
part[:, i] += self._adc_offsets[i]
|
|
881
906
|
|
|
882
|
-
#
|
|
883
|
-
if self._mode != ACMODE_EPISODIC_STIMULATION: # pragma: no cover
|
|
884
|
-
# All modes except episodic stimulation
|
|
885
|
-
start = data['offset'] / rate
|
|
886
|
-
|
|
887
|
-
# Create and populate sweep
|
|
907
|
+
# Create and populate sweep object
|
|
888
908
|
sweep = self._sweeps[i_sweep]
|
|
889
909
|
for i in range(self._n_adc):
|
|
890
910
|
c = Channel(self)
|
|
891
911
|
c._data = part[:, i] # Actually store the data
|
|
892
912
|
c._rate = rate
|
|
893
|
-
c._start =
|
|
913
|
+
c._start = tstart
|
|
894
914
|
c._is_reconstruction = False
|
|
895
915
|
|
|
916
|
+
# Add meta data
|
|
896
917
|
if self._version < 2:
|
|
897
918
|
j = h['nADCSamplingSeq'][i]
|
|
898
919
|
|
|
@@ -947,9 +968,9 @@ class AbfFile(myokit.formats.SweepSource):
|
|
|
947
968
|
|
|
948
969
|
sweep._channels.append(c)
|
|
949
970
|
|
|
971
|
+
# In episodic mode, increase time according to sweep interval
|
|
950
972
|
if self._mode == ACMODE_EPISODIC_STIMULATION:
|
|
951
|
-
|
|
952
|
-
start += self._sweep_start_to_start
|
|
973
|
+
tstart += self._sweep_start_to_start
|
|
953
974
|
|
|
954
975
|
def _read_6_da_reconstructions(self):
|
|
955
976
|
"""
|
|
@@ -1034,6 +1055,12 @@ class AbfFile(myokit.formats.SweepSource):
|
|
|
1034
1055
|
|
|
1035
1056
|
return int_id
|
|
1036
1057
|
|
|
1058
|
+
def acquisition_mode_str(self):
|
|
1059
|
+
"""
|
|
1060
|
+
Returns the acquisition mode, as a string.
|
|
1061
|
+
"""
|
|
1062
|
+
return acquisition_modes[self._mode]
|
|
1063
|
+
|
|
1037
1064
|
def channel(self, channel_id, join_sweeps=False):
|
|
1038
1065
|
# Docstring in SweepSource
|
|
1039
1066
|
channel_id = self._channel_id(channel_id)
|
|
@@ -1193,8 +1220,7 @@ class AbfFile(myokit.formats.SweepSource):
|
|
|
1193
1220
|
return self._da_units[index]
|
|
1194
1221
|
|
|
1195
1222
|
def equal_length_sweeps(self):
|
|
1196
|
-
|
|
1197
|
-
return True
|
|
1223
|
+
return self._equal_length_sweeps
|
|
1198
1224
|
|
|
1199
1225
|
def filename(self):
|
|
1200
1226
|
""" Returns this ABF file's filename. """
|
|
@@ -1530,13 +1556,13 @@ HEADER_FIELDS = {
|
|
|
1530
1556
|
# Note that a lot of the groups in the version 1 header start with obsolete
|
|
1531
1557
|
# fields, followed later by their newer equivalents.
|
|
1532
1558
|
1: [
|
|
1533
|
-
('fFileSignature', 0, '4s'),
|
|
1559
|
+
('fFileSignature', 0, '4s'), # Coarse file version indication
|
|
1534
1560
|
# Group 1, File info and sizes
|
|
1535
|
-
('fFileVersionNumber', 4, 'f'),
|
|
1536
|
-
('nOperationMode', 8, 'h'),
|
|
1561
|
+
('fFileVersionNumber', 4, 'f'), # Version number as float
|
|
1562
|
+
('nOperationMode', 8, 'h'), # Acquisition mode
|
|
1537
1563
|
('lActualAcqLength', 10, 'i'),
|
|
1538
1564
|
('nNumPointsIgnored', 14, 'h'),
|
|
1539
|
-
('lActualSweeps', 16, 'i'),
|
|
1565
|
+
('lActualSweeps', 16, 'i'), # AKA lActualEpisodes
|
|
1540
1566
|
('lFileStartDate', 20, 'i'),
|
|
1541
1567
|
('lFileStartTime', 24, 'i'),
|
|
1542
1568
|
('lStopWatchTime', 28, 'i'),
|
|
@@ -23,8 +23,9 @@
|
|
|
23
23
|
# numbers of steps are given; the manual mentions two types of log
|
|
24
24
|
# interpretation but there is no obvious field to select one; a "toggle"
|
|
25
25
|
# mode is mentioned in the manual but again is not easy to find in the file.
|
|
26
|
-
# - Series resistance prediction percentage is not stored in the
|
|
27
|
-
# file.
|
|
26
|
+
# - Series resistance prediction percentage is not stored separately in the
|
|
27
|
+
# Patchmaster file. In addition, the value stored seems to be either
|
|
28
|
+
# percentage compensation or prediction, without much consistency.
|
|
28
29
|
#
|
|
29
30
|
# This file is part of Myokit.
|
|
30
31
|
# See http://myokit.org for copyright, sharing, and licensing details.
|
|
@@ -78,7 +79,8 @@ class PatchMasterFile:
|
|
|
78
79
|
represent a single cell, and each "series" will be a protocol (called a
|
|
79
80
|
"stimulus") run on that cell. Groups are named by the user. Series are
|
|
80
81
|
named after the "stimulus" they run. Sweeps are usually unnamed (although
|
|
81
|
-
they do have a ``label`` property), and channels are named by the
|
|
82
|
+
they do have a ``label`` property), and traces (channels) are named by the
|
|
83
|
+
user.
|
|
82
84
|
|
|
83
85
|
To access groups, index them by integer, or use the :meth:`group` method to
|
|
84
86
|
find the first group with a given label::
|
|
@@ -294,8 +296,6 @@ class EndianAwareReader:
|
|
|
294
296
|
|
|
295
297
|
def read(self, form):
|
|
296
298
|
""" Read and unpack using the struct format ``form``. """
|
|
297
|
-
#if offset is not None:
|
|
298
|
-
# f.seek(offset)
|
|
299
299
|
return struct.unpack(
|
|
300
300
|
self._e + form, self._f.read(struct.calcsize(form)))
|
|
301
301
|
|
|
@@ -1209,7 +1209,6 @@ class Sweep(TreeNode):
|
|
|
1209
1209
|
# Seconds since first sweep, based on self._time, set by parent series
|
|
1210
1210
|
self._time_since_first = None
|
|
1211
1211
|
|
|
1212
|
-
#self._data_offset = None
|
|
1213
1212
|
self._stimulus_id = None
|
|
1214
1213
|
|
|
1215
1214
|
def _read_properties(self, handle, reader):
|
|
@@ -1217,7 +1216,6 @@ class Sweep(TreeNode):
|
|
|
1217
1216
|
i = handle.tell()
|
|
1218
1217
|
handle.seek(i + 4) # SwLabel = 4; (* String32Type *)
|
|
1219
1218
|
self._label = reader.str(32)
|
|
1220
|
-
#self._data_offset = reader.read1('i')
|
|
1221
1219
|
handle.seek(i + 40) # SwStimCount = 40; (* INT32 *)
|
|
1222
1220
|
self._stimulus_id = reader.read1('i') - 1
|
|
1223
1221
|
handle.seek(i + 48) # SwTime = 48; (* LONGREAL *)
|
|
@@ -1364,6 +1362,7 @@ class Trace(TreeNode):
|
|
|
1364
1362
|
handle.seek(i + 40) # TrData
|
|
1365
1363
|
self._data_pos = reader.read1('i')
|
|
1366
1364
|
self._n = reader.read1('i')
|
|
1365
|
+
handle.seek(i + 70) # TrDataFormat
|
|
1367
1366
|
dtype = int(reader.read1('b'))
|
|
1368
1367
|
self._data_type = _data_types[dtype]
|
|
1369
1368
|
self._data_size = _data_sizes[dtype]
|
|
@@ -1649,15 +1648,18 @@ class AmplifierState:
|
|
|
1649
1648
|
Describes the state of an amplifier used by PatchMaster.
|
|
1650
1649
|
|
|
1651
1650
|
This "state" contains lots of valuable meta data about the fast and slow
|
|
1652
|
-
capacitance correction, the series resistance compensation (
|
|
1653
|
-
prediction
|
|
1651
|
+
capacitance correction, the series resistance compensation (and/or
|
|
1652
|
+
prediction, but see below!), the filtering, the gain, and voltage offset
|
|
1654
1653
|
corrections (zeroing and online LJP).
|
|
1655
1654
|
|
|
1656
|
-
A notable omission is information about the series
|
|
1657
|
-
_prediction_ feature.
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
|
|
1655
|
+
A notable issue is information omission is information about the series
|
|
1656
|
+
compensation _prediction_ feature. By default, the level of prediction is
|
|
1657
|
+
the same as the level of correction. A checkbox in the software (which the
|
|
1658
|
+
manual erroneously described as an on/off switch) can be used to set both
|
|
1659
|
+
values independently. If this is done, it becomes unclear what the value in
|
|
1660
|
+
the file represents, as only one value is stored. For this reason, if
|
|
1661
|
+
prediction is set seperately from correction, both values must be noted
|
|
1662
|
+
down by the experimenter and the value from the file should be ignored.
|
|
1661
1663
|
"""
|
|
1662
1664
|
def __init__(self, handle, reader):
|
|
1663
1665
|
|
|
@@ -1686,10 +1688,6 @@ class AmplifierState:
|
|
|
1686
1688
|
handle.seek(i + 304) # sRsTau = 304; (* LONGREAL *)
|
|
1687
1689
|
self._rs_tau = reader.read1('d')
|
|
1688
1690
|
|
|
1689
|
-
# Prediction is not recorded!
|
|
1690
|
-
self._rs_prediction = PredictionSetting.UNKNOWN if self._rs_enabled \
|
|
1691
|
-
else PredictionSetting.OFF
|
|
1692
|
-
|
|
1693
1691
|
# Fast capacitance correction
|
|
1694
1692
|
handle.seek(i + 56) # sCFastAmp1 = 56; (* LONGREAL *)
|
|
1695
1693
|
self._cf_amp1 = reader.read1('d')
|
|
@@ -1921,19 +1919,6 @@ class AmplifierState:
|
|
|
1921
1919
|
"""
|
|
1922
1920
|
return self._rs_tau * 1e6 if self._rs_enabled else 0
|
|
1923
1921
|
|
|
1924
|
-
def r_series_prediction(self):
|
|
1925
|
-
"""
|
|
1926
|
-
The percentage "prediction" is not recorded in the file: this method
|
|
1927
|
-
returns ``PredictionSetting.OFF`` if compensation (and therefore
|
|
1928
|
-
prediction) was disabled, and ``UNKNOWN`` if compensation was enabled
|
|
1929
|
-
(so prediction may have been active).
|
|
1930
|
-
|
|
1931
|
-
This serves as a placeholder in case future changes to the format
|
|
1932
|
-
incorporate it, and as a place to document that this feature is missing
|
|
1933
|
-
by design.
|
|
1934
|
-
"""
|
|
1935
|
-
return self._rs_prediction
|
|
1936
|
-
|
|
1937
1922
|
def stimulus_filter(self):
|
|
1938
1923
|
"""
|
|
1939
1924
|
Returns a :class:`StimulusFilterSetting` descibing the stimulus filter
|
|
@@ -2076,24 +2061,6 @@ class StimulusFilterSetting(enum.Enum):
|
|
|
2076
2061
|
return 'Bessel 20 us (on)'
|
|
2077
2062
|
|
|
2078
2063
|
|
|
2079
|
-
class PredictionSetting(enum.Enum):
|
|
2080
|
-
"""
|
|
2081
|
-
Very limited information about the series resistance compensation
|
|
2082
|
-
prediction.
|
|
2083
|
-
|
|
2084
|
-
Series resistance compensation includes a "prediction" pathway,
|
|
2085
|
-
configurable via a percentage prediction in Patchmaster. Unfortunately this
|
|
2086
|
-
is not stored in the file format, so that knowledge of this parameters is
|
|
2087
|
-
limited to "off" (when series resistance compensation is disabled) or
|
|
2088
|
-
"unknown" (when series resistance compensation is enabled).
|
|
2089
|
-
"""
|
|
2090
|
-
OFF = 0
|
|
2091
|
-
UNKNOWN = 1
|
|
2092
|
-
|
|
2093
|
-
def __str__(self):
|
|
2094
|
-
return 'Off' if self is PredictionSetting.OFF else 'Unknown'
|
|
2095
|
-
|
|
2096
|
-
|
|
2097
2064
|
#
|
|
2098
2065
|
# From StimFile_v9.txt
|
|
2099
2066
|
# (* RootRecord = RECORD *)
|
|
@@ -208,6 +208,8 @@ class AbfTest(unittest.TestCase):
|
|
|
208
208
|
self.assertIn('version 1.65', abf.meta_str())
|
|
209
209
|
self.maxDiff = None
|
|
210
210
|
self.assertEqual(abf.meta_str(), V1_INFO)
|
|
211
|
+
self.assertEqual(abf.acquisition_mode_str(),
|
|
212
|
+
'Episodic stimulation mode')
|
|
211
213
|
|
|
212
214
|
# Test getting full header runs without crashing
|
|
213
215
|
abf.meta_str(True)
|
|
@@ -445,6 +447,8 @@ class AbfTest(unittest.TestCase):
|
|
|
445
447
|
self.assertIn('version 2.0', abf.meta_str())
|
|
446
448
|
self.maxDiff = None
|
|
447
449
|
self.assertEqual(abf.meta_str(), V2_INFO)
|
|
450
|
+
self.assertEqual(abf.acquisition_mode_str(),
|
|
451
|
+
'Episodic stimulation mode')
|
|
448
452
|
|
|
449
453
|
# Test getting full header runs without crashing
|
|
450
454
|
abf.meta_str(True)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/sundials-win-vs/include/nvector/nvector_serial.h
RENAMED
|
File without changes
|
{myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/sundials-win-vs/include/sundials/sundials_config.h
RENAMED
|
File without changes
|
{myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/sundials-win-vs/include/sundials/sundials_dense.h
RENAMED
|
File without changes
|
{myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/sundials-win-vs/include/sundials/sundials_direct.h
RENAMED
|
File without changes
|
{myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/sundials-win-vs/include/sundials/sundials_export.h
RENAMED
|
File without changes
|
{myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/sundials-win-vs/include/sundials/sundials_iterative.h
RENAMED
|
File without changes
|
{myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/sundials-win-vs/include/sundials/sundials_linearsolver.h
RENAMED
|
File without changes
|
{myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/sundials-win-vs/include/sundials/sundials_matrix.h
RENAMED
|
File without changes
|
|
File without changes
|
{myokit-1.37.4 → myokit-1.38.0}/myokit/_bin/sundials-win-vs/include/sundials/sundials_nvector.h
RENAMED
|
File without changes
|