-
Notifications
You must be signed in to change notification settings - Fork 1
/
TODO
68 lines (48 loc) · 2.02 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
TODO
====
* TODO Add support for physical units (through ModelParameters)
* DONE Add support for LaTeX output
* DONE Add support for Matlab output
* DONE Move gosscode generator to goss
* TODO Add support for SBML input
* DONE Add support for a specific Markov model editor
With this we can facilitate a more easy editing of Markov models:
: mm = markov_model("Some ion channel", c0=0.1, c1=0.1, O=0.8, degenerate="c0")
: parameters("Some ion channel", r0=0.5, r1=0.6, r2=0.5, r3=1.0)
: mm.rates[c0, c1] = r0*V
: mm.rates[c1, c0] = r1*Cai
: mm.rates[c1, O] = r2
: mm.rates[O, c1] = r3
This would define the whole markov model.
If degenerate is included in the constructor we assume the sum of
all states are 1, and behind the scene we set
: c0=1-(c1+O)
The above example would create a component, see below, with 2 states
and 1 intermediate.
* TODO Modularize a gotran model
By tagging each one of the four main parts of a gotran file:
a) states
b) parameters
c) intermediates
d) derivatives
with a component name we could more easily export the model to
CellML. We need to figure out a good way to do this for derivatives
and intermediates.
* TODO Import other gotran models
With this feature we could allow stand alone gotran models to be
imported into others.
: import_ode("Kv3")
We need to be carefull about how this is implemented. Several
potenetial problems might occur:
a) A parameter in the imported model can be a state in the mother
model
b) A parameter in the imported model can be an intermediate in the
mother model
We therefor need some way to map these variables. If there is a 1-1
correspondance between names, the mother model symbols should be
used. We can also add syntax for mapping model symbols:
: import_ode("Kv3", V=v, V_over_RT=VoverRT)
But this should be avoided as far as possible. The modeler should
strive to use unique names
Modularization through components we could also allow imports of
single components into a gotran file