myokit 1.33.9__py3-none-any.whl → 1.35.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- myokit/__init__.py +9 -36
- myokit/__main__.py +76 -142
- myokit/_aux.py +62 -16
- myokit/_bin/example.mmt +1 -2
- myokit/_bin/install-win/menu.json +7 -7
- myokit/_config.py +22 -31
- myokit/_datablock.py +30 -74
- myokit/_datalog.py +49 -72
- myokit/_err.py +25 -24
- myokit/_expressions.py +50 -68
- myokit/_io.py +15 -27
- myokit/_model_api.py +453 -249
- myokit/_myokit_version.py +1 -5
- myokit/_parsing.py +38 -44
- myokit/_progress.py +5 -8
- myokit/_protocol.py +99 -9
- myokit/_sim/__init__.py +7 -24
- myokit/_sim/cable.c +6 -8
- myokit/_sim/cable.py +6 -8
- myokit/_sim/cmodel.h +125 -70
- myokit/_sim/cmodel.py +12 -14
- myokit/_sim/compiler.py +1 -4
- myokit/_sim/cvodessim.c +196 -118
- myokit/_sim/cvodessim.py +130 -103
- myokit/_sim/differential.hpp +4 -4
- myokit/_sim/fiber_tissue.c +4 -8
- myokit/_sim/fiber_tissue.py +11 -13
- myokit/_sim/jacobian.cpp +2 -2
- myokit/_sim/jacobian.py +11 -8
- myokit/_sim/mcl.h +53 -55
- myokit/_sim/opencl.py +21 -27
- myokit/_sim/openclsim.c +3 -7
- myokit/_sim/openclsim.cl +3 -3
- myokit/_sim/openclsim.py +49 -40
- myokit/_sim/pacing.h +36 -16
- myokit/_sim/rhs.c +6 -13
- myokit/_sim/rhs.py +5 -14
- myokit/_sim/sundials.py +1 -4
- myokit/_system.py +10 -16
- myokit/_unit.py +4 -13
- myokit/float.py +0 -3
- myokit/formats/__init__.py +8 -10
- myokit/formats/ansic/__init__.py +0 -3
- myokit/formats/ansic/_ewriter.py +2 -4
- myokit/formats/ansic/_exporter.py +1 -4
- myokit/formats/ansic/template/cable.c +4 -4
- myokit/formats/ansic/template/euler.c +5 -5
- myokit/formats/ansic/template/sim.c +6 -6
- myokit/formats/axon/__init__.py +1 -3
- myokit/formats/axon/_abf.py +12 -17
- myokit/formats/axon/_atf.py +5 -6
- myokit/formats/axon/_importer.py +0 -3
- myokit/formats/cellml/__init__.py +0 -3
- myokit/formats/cellml/_ewriter.py +3 -6
- myokit/formats/cellml/_exporter.py +3 -6
- myokit/formats/cellml/_importer.py +1 -4
- myokit/formats/cellml/v1/__init__.py +0 -4
- myokit/formats/cellml/v1/_api.py +8 -11
- myokit/formats/cellml/v1/_parser.py +2 -5
- myokit/formats/cellml/v1/_writer.py +2 -11
- myokit/formats/cellml/v2/__init__.py +0 -3
- myokit/formats/cellml/v2/_api.py +8 -17
- myokit/formats/cellml/v2/_parser.py +2 -5
- myokit/formats/cellml/v2/_writer.py +1 -4
- myokit/formats/channelml/__init__.py +0 -3
- myokit/formats/channelml/_importer.py +11 -21
- myokit/formats/cpp/__init__.py +1 -3
- myokit/formats/cpp/_ewriter.py +0 -3
- myokit/formats/cuda/__init__.py +0 -3
- myokit/formats/cuda/_ewriter.py +2 -4
- myokit/formats/cuda/_exporter.py +0 -3
- myokit/formats/cuda/template/kernel.cu +8 -5
- myokit/formats/easyml/__init__.py +0 -3
- myokit/formats/easyml/_ewriter.py +9 -11
- myokit/formats/easyml/_exporter.py +2 -5
- myokit/formats/html/__init__.py +0 -3
- myokit/formats/html/_exporter.py +0 -3
- myokit/formats/html/_flatten.py +5 -21
- myokit/formats/latex/__init__.py +0 -3
- myokit/formats/latex/_ewriter.py +1 -4
- myokit/formats/latex/_exporter.py +4 -6
- myokit/formats/mathml/__init__.py +0 -3
- myokit/formats/mathml/_ewriter.py +2 -11
- myokit/formats/mathml/_parser.py +4 -6
- myokit/formats/matlab/__init__.py +0 -3
- myokit/formats/matlab/_ewriter.py +1 -4
- myokit/formats/matlab/_exporter.py +2 -5
- myokit/formats/matlab/template/main.m +3 -2
- myokit/formats/opencl/__init__.py +0 -3
- myokit/formats/opencl/_ewriter.py +2 -4
- myokit/formats/opencl/_exporter.py +2 -5
- myokit/formats/opencl/template/cable.c +10 -10
- myokit/formats/opencl/template/kernel.cl +1 -1
- myokit/formats/opencl/template/minilog.py +1 -1
- myokit/formats/python/__init__.py +0 -3
- myokit/formats/python/_ewriter.py +2 -5
- myokit/formats/python/_exporter.py +0 -3
- myokit/formats/python/template/sim.py +14 -14
- myokit/formats/sbml/__init__.py +0 -3
- myokit/formats/sbml/_api.py +50 -44
- myokit/formats/sbml/_importer.py +1 -4
- myokit/formats/sbml/_parser.py +2 -5
- myokit/formats/stan/__init__.py +0 -3
- myokit/formats/stan/_ewriter.py +2 -4
- myokit/formats/stan/_exporter.py +2 -5
- myokit/formats/stan/template/cell.stan +3 -3
- myokit/formats/sympy/__init__.py +0 -3
- myokit/formats/sympy/_ereader.py +1 -4
- myokit/formats/sympy/_ewriter.py +2 -5
- myokit/formats/wcp/__init__.py +0 -3
- myokit/formats/wcp/_wcp.py +2 -8
- myokit/formats/xml/__init__.py +0 -3
- myokit/formats/xml/_exporter.py +0 -3
- myokit/formats/xml/_split.py +0 -3
- myokit/gui/__init__.py +80 -246
- myokit/gui/datablock_viewer.py +103 -86
- myokit/gui/datalog_viewer.py +214 -66
- myokit/gui/explorer.py +15 -21
- myokit/gui/ide.py +171 -144
- myokit/gui/progress.py +9 -9
- myokit/gui/source.py +406 -375
- myokit/gui/vargrapher.py +2 -12
- myokit/lib/deps.py +12 -13
- myokit/lib/guess.py +3 -4
- myokit/lib/hh.py +20 -18
- myokit/lib/markov.py +21 -20
- myokit/lib/multi.py +1 -3
- myokit/lib/plots.py +20 -9
- myokit/pacing.py +0 -3
- myokit/pype.py +7 -18
- myokit/tests/__init__.py +3 -6
- myokit/tests/ansic_event_based_pacing.py +1 -4
- myokit/tests/ansic_fixed_form_pacing.py +3 -6
- myokit/tests/data/beeler-1977-model-compare-b.mmt +2 -2
- myokit/tests/data/clancy-1999-fitting.mmt +1 -0
- myokit/tests/test_aux.py +13 -28
- myokit/tests/test_cellml_v1_api.py +4 -19
- myokit/tests/test_cellml_v1_parser.py +0 -15
- myokit/tests/test_cellml_v1_writer.py +0 -9
- myokit/tests/test_cellml_v2_api.py +4 -19
- myokit/tests/test_cellml_v2_parser.py +0 -15
- myokit/tests/test_cellml_v2_writer.py +0 -9
- myokit/tests/test_cmodel.py +16 -22
- myokit/tests/test_compiler_detection.py +1 -11
- myokit/tests/test_component.py +108 -56
- myokit/tests/test_config.py +34 -67
- myokit/tests/test_datablock.py +1 -9
- myokit/tests/test_datalog.py +19 -24
- myokit/tests/test_dependency_checking.py +8 -23
- myokit/tests/test_expressions.py +0 -9
- myokit/tests/test_float.py +1 -5
- myokit/tests/test_formats.py +0 -9
- myokit/tests/test_formats_axon.py +1 -9
- myokit/tests/test_formats_cellml.py +0 -15
- myokit/tests/test_formats_channelml.py +0 -15
- myokit/tests/test_formats_easyml.py +0 -14
- myokit/tests/test_formats_exporters.py +1 -16
- myokit/tests/test_formats_expression_writers.py +1 -17
- myokit/tests/test_formats_html.py +0 -3
- myokit/tests/test_formats_importers.py +1 -16
- myokit/tests/test_formats_mathml_content.py +0 -9
- myokit/tests/test_formats_mathml_presentation.py +0 -9
- myokit/tests/test_formats_opencl.py +0 -10
- myokit/tests/test_formats_sbml.py +0 -15
- myokit/tests/test_formats_sympy.py +0 -9
- myokit/tests/test_formats_wcp.py +1 -3
- myokit/tests/test_io.py +27 -27
- myokit/tests/test_jacobian_calculator.py +6 -14
- myokit/tests/test_jacobian_tracer.py +0 -9
- myokit/tests/test_lib_deps.py +0 -9
- myokit/tests/test_lib_guess.py +0 -9
- myokit/tests/test_lib_hh.py +18 -12
- myokit/tests/test_lib_markov.py +21 -13
- myokit/tests/test_lib_multi.py +0 -9
- myokit/tests/test_lib_plots.py +13 -8
- myokit/tests/test_meta.py +0 -3
- myokit/tests/test_model.py +390 -96
- myokit/tests/test_model_building.py +44 -96
- myokit/tests/test_opencl_info.py +5 -14
- myokit/tests/test_pacing_factory.py +0 -3
- myokit/tests/test_pacing_system_c.py +1 -23
- myokit/tests/test_pacing_system_py.py +0 -9
- myokit/tests/test_parsing.py +139 -56
- myokit/tests/test_progress_reporters.py +0 -3
- myokit/tests/test_protocol.py +0 -9
- myokit/tests/test_protocol_floating_point.py +1 -10
- myokit/tests/test_protocol_time_series.py +82 -0
- myokit/tests/test_pype.py +0 -9
- myokit/tests/test_quantity.py +0 -9
- myokit/tests/test_rhs_benchmarker.py +1 -9
- myokit/tests/test_sbml_api.py +27 -42
- myokit/tests/test_sbml_parser.py +4 -19
- myokit/tests/test_simulation_1d.py +45 -25
- myokit/tests/test_simulation_cvodes.py +321 -55
- myokit/tests/test_simulation_cvodes_from_disk.py +0 -3
- myokit/tests/test_simulation_fiber_tissue.py +39 -12
- myokit/tests/test_simulation_log_interval.py +1 -431
- myokit/tests/test_simulation_opencl.py +69 -48
- myokit/tests/test_simulation_opencl_log_interval.py +1 -3
- myokit/tests/test_simulation_opencl_vs_cvode.py +1 -10
- myokit/tests/test_simulation_opencl_vs_sim1d.py +1 -10
- myokit/tests/test_system_info.py +1 -11
- myokit/tests/test_tools.py +0 -9
- myokit/tests/test_unit.py +1 -10
- myokit/tests/test_user_functions.py +0 -10
- myokit/tests/test_variable.py +231 -27
- myokit/tools.py +5 -21
- myokit/units.py +5 -3
- {myokit-1.33.9.dist-info → myokit-1.35.0.dist-info}/METADATA +12 -15
- myokit-1.35.0.dist-info/RECORD +391 -0
- {myokit-1.33.9.dist-info → myokit-1.35.0.dist-info}/WHEEL +1 -1
- {myokit-1.33.9.dist-info → myokit-1.35.0.dist-info}/entry_points.txt +0 -1
- myokit/_exec_new.py +0 -15
- myokit/_exec_old.py +0 -15
- myokit/_sim/cvodesim.c +0 -1551
- myokit/_sim/cvodesim.py +0 -674
- myokit/_sim/icsim.cpp +0 -563
- myokit/_sim/icsim.py +0 -363
- myokit/_sim/psim.cpp +0 -656
- myokit/_sim/psim.py +0 -493
- myokit/lib/common.py +0 -1094
- myokit/tests/test_lib_common.py +0 -130
- myokit/tests/test_simulation_cvode.py +0 -612
- myokit/tests/test_simulation_ic.py +0 -108
- myokit/tests/test_simulation_p.py +0 -223
- myokit-1.33.9.dist-info/RECORD +0 -403
- /myokit/formats/opencl/template/{test → test.sh} +0 -0
- {myokit-1.33.9.dist-info → myokit-1.35.0.dist-info}/LICENSE.txt +0 -0
- {myokit-1.33.9.dist-info → myokit-1.35.0.dist-info}/top_level.txt +0 -0
myokit/tests/test_lib_common.py
DELETED
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
#
|
|
3
|
-
# Tests the classes in `myokit.lib.common`.
|
|
4
|
-
#
|
|
5
|
-
# This file is part of Myokit.
|
|
6
|
-
# See http://myokit.org for copyright, sharing, and licensing details.
|
|
7
|
-
#
|
|
8
|
-
from __future__ import absolute_import, division
|
|
9
|
-
from __future__ import print_function, unicode_literals
|
|
10
|
-
|
|
11
|
-
import os
|
|
12
|
-
import unittest
|
|
13
|
-
import numpy as np
|
|
14
|
-
|
|
15
|
-
import myokit
|
|
16
|
-
|
|
17
|
-
from myokit.tests import DIR_DATA, WarningCollector
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
class CommonTest(unittest.TestCase):
|
|
21
|
-
"""Tests lib.common"""
|
|
22
|
-
|
|
23
|
-
def test_activation(self):
|
|
24
|
-
# Test the activation experiment class.
|
|
25
|
-
with WarningCollector():
|
|
26
|
-
import myokit.lib.common as common
|
|
27
|
-
|
|
28
|
-
# Load model
|
|
29
|
-
m = os.path.join(DIR_DATA, 'lr-1991.mmt')
|
|
30
|
-
m = myokit.load_model(m)
|
|
31
|
-
# Create experiment
|
|
32
|
-
c = m.get('ina')
|
|
33
|
-
g = c.add_variable('g')
|
|
34
|
-
g.set_rhs('m^3 * h * j')
|
|
35
|
-
m.validate()
|
|
36
|
-
a = common.Activation(m, 'ina.g')
|
|
37
|
-
# Test
|
|
38
|
-
a.times()
|
|
39
|
-
a.traces()
|
|
40
|
-
a.peaks(normalize=True)
|
|
41
|
-
a.peaks(normalize=False)
|
|
42
|
-
a.fit_boltzmann()
|
|
43
|
-
a.convert_g2i()
|
|
44
|
-
a.times()
|
|
45
|
-
a.traces()
|
|
46
|
-
a.peaks(normalize=True)
|
|
47
|
-
a.peaks(normalize=False)
|
|
48
|
-
a.fit_boltzmann()
|
|
49
|
-
|
|
50
|
-
def test_inactivation(self):
|
|
51
|
-
# Test the inactivation experiment class.
|
|
52
|
-
with WarningCollector():
|
|
53
|
-
import myokit.lib.common as common
|
|
54
|
-
|
|
55
|
-
# Load model
|
|
56
|
-
m = os.path.join(DIR_DATA, 'lr-1991.mmt')
|
|
57
|
-
m = myokit.load_model(m)
|
|
58
|
-
# Create experiment
|
|
59
|
-
c = m.get('ina')
|
|
60
|
-
g = c.add_variable('g')
|
|
61
|
-
g.set_rhs('m^3 * h * j')
|
|
62
|
-
m.validate()
|
|
63
|
-
a = common.Inactivation(m, 'ina.g')
|
|
64
|
-
# Test
|
|
65
|
-
a.times()
|
|
66
|
-
a.traces()
|
|
67
|
-
a.peaks(normalize=True)
|
|
68
|
-
a.peaks(normalize=False)
|
|
69
|
-
a.fit_boltzmann()
|
|
70
|
-
|
|
71
|
-
def test_recovery(self):
|
|
72
|
-
# Test the recovery experiment class.
|
|
73
|
-
with WarningCollector():
|
|
74
|
-
import myokit.lib.common as common
|
|
75
|
-
|
|
76
|
-
# Load model
|
|
77
|
-
m = os.path.join(DIR_DATA, 'lr-1991.mmt')
|
|
78
|
-
m = myokit.load_model(m)
|
|
79
|
-
# Create experiment
|
|
80
|
-
c = m.get('ina')
|
|
81
|
-
g = c.add_variable('g')
|
|
82
|
-
g.set_rhs('m^3 * h * j')
|
|
83
|
-
m.validate()
|
|
84
|
-
r = common.Recovery(m, 'ina.g')
|
|
85
|
-
# Test
|
|
86
|
-
n = 20
|
|
87
|
-
r.set_pause_duration(0.1, 10, n)
|
|
88
|
-
d = r.ratio()
|
|
89
|
-
self.assertEqual(len(d), 2)
|
|
90
|
-
self.assertIn('engine.time', d)
|
|
91
|
-
self.assertIn('ina.g', d)
|
|
92
|
-
self.assertEqual(n, len(d['engine.time']))
|
|
93
|
-
self.assertEqual(n, len(d['ina.g']))
|
|
94
|
-
x = d['engine.time']
|
|
95
|
-
self.assertTrue(np.all(x[1:] > x[:-1]))
|
|
96
|
-
x = d['ina.g'] # This is a monotonically increasing function
|
|
97
|
-
self.assertTrue(np.all(x[1:] > x[:-1]))
|
|
98
|
-
|
|
99
|
-
def test_restitution(self):
|
|
100
|
-
# Test the restitution experiment class.
|
|
101
|
-
with WarningCollector():
|
|
102
|
-
import myokit.lib.common as common
|
|
103
|
-
|
|
104
|
-
# Load model
|
|
105
|
-
m = os.path.join(DIR_DATA, 'lr-1991.mmt')
|
|
106
|
-
m = myokit.load_model(m)
|
|
107
|
-
# Create experiment
|
|
108
|
-
r = common.Restitution(m)
|
|
109
|
-
# Test
|
|
110
|
-
r.set_times(300, 800, 200)
|
|
111
|
-
r.run()
|
|
112
|
-
|
|
113
|
-
def test_strength_duration(self):
|
|
114
|
-
# Test the strength-duration experiment class.
|
|
115
|
-
with WarningCollector():
|
|
116
|
-
import myokit.lib.common as common
|
|
117
|
-
|
|
118
|
-
# Load model
|
|
119
|
-
m = os.path.join(DIR_DATA, 'lr-1991.mmt')
|
|
120
|
-
m = myokit.load_model(m)
|
|
121
|
-
# Create experiment
|
|
122
|
-
s = common.StrengthDuration(m, 'membrane.i_stim')
|
|
123
|
-
# Test
|
|
124
|
-
s.set_currents(-200, -10)
|
|
125
|
-
s.set_times(0.5, 1.0, 0.2)
|
|
126
|
-
s.run()
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
if __name__ == '__main__':
|
|
130
|
-
unittest.main()
|