File: cellDeath-experiment.m2

package info (click to toggle)
macaulay2 1.21%2Bds-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 133,096 kB
  • sloc: cpp: 110,377; ansic: 16,306; javascript: 4,193; makefile: 3,821; sh: 3,580; lisp: 764; yacc: 590; xml: 177; python: 140; perl: 114; lex: 65; awk: 3
file content (111 lines) | stat: -rw-r--r-- 2,776 bytes parent folder | download | duplicates (4)
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
restart
needsPackage "ReactionNetworks"

K2 = reactionNetwork("Y+Z --> 2Z") 

K3 = reactionNetwork({"2Y+Z --> Y+2Z", "Y+2Z --> 3Z", "2Y+Z --> 3Z"})

K4 = reactionNetwork({"3Y+Z --> 2Y+2Z", "3Y+Z --> Y+3Z", "3Y+Z --> 4Z", "2Y+2Z --> Y+3Z", 
	"2Y+2Z --> 4Z", "Y+3Z --> 4Z"})

K5 = reactionNetwork({"4Y+Z-->3Y+2Z", "4Y+Z-->2Y+3Z", "4Y+Z-->Y+4Z", "4Y+Z-->5Z",
	"3Y+2Z-->2Y+3Z", "3Y+2Z-->Y+4Z", "3Y+2Z-->5Z", "2Y+3Z-->Y+4Z",
	"2Y+3Z-->5Z", "Y+4Z-->5Z"})


cellDeathIdeal = method()
cellDeathIdeal (ReactionNetwork, Ring) := (Rn, FF) -> (
    R := createRing (Rn, FF);
    F := join(subRandomInitVals Rn, subRandomReactionRates Rn);
    I := ideal F;
    S := FF[Rn.ConcentrationRates];
    J := sub(I, S)
    )
J = cellDeathIdeal(K5, QQ)


-- Edelstein Network
restart
needsPackage "ReactionNetworks"

E = reactionNetwork({"A<-->2A", "A+B<-->C", "C<-->B"})
R = createRing(E, QQ)
F = join(subRandomInitVals E, subRandomReactionRates E)
I = ideal F
S = QQ[E.ConcentrationRates]
J = sub(I,S)
netList flatten entries gens J
dim J
degree J


E2 = glue(E, reactionNetwork({"A+B<-->D", "D<-->B"}))
	    --, "A+B<-->E", "E<-->B"}))
R2 = createRing(E2, QQ)
F2 = join(subRandomInitVals E2, subRandomReactionRates E2)
I2 = ideal F2
S2 = QQ[E2.ConcentrationRates]
J2 = sub(I2,S2)
netList flatten entries gens J2
dim J2
degree J2

E3 = glue(E2, reactionNetwork({"A+B<-->E", "E<-->B"}))
R3 = createRing(E3, QQ)
F3 = join(subRandomInitVals E3, subRandomReactionRates E3)
I3 = ideal F3
S3 = QQ[E3.ConcentrationRates]
J3 = sub(I3,S3)
netList flatten entries gens J3
dim J3
degree J3

{*Q3 = QQ[value(E3.ConcentrationRates)#3,
    value(E3.ConcentrationRates)#0, value(E3.ConcentrationRates)#1,
    value(E3.ConcentrationRates)#2, value(E3.ConcentrationRates)#4,
    MonomialOrder => {Eliminate 1}]
K3 = sub(I3,Q3)
transpose mingens K3*}

---------------------- no conservation equations

E3 = glue(E, {"B<-->2B", "B+C<-->D", "D<-->C"})
R = createRing(E3, QQ)
F = join(subRandomInitVals E3, subRandomReactionRates E3)
I = ideal F
S = QQ[E3.ConcentrationRates]
J = sub(I,S)
dim J
degree J

E4 = glue(E3, {"C<-->2C", "C+D<-->F", "F<-->D"})
R = createRing(E4, QQ)
F = join(subRandomInitVals E4, subRandomReactionRates E4)
I = ideal F
S = QQ[E4.ConcentrationRates]
J = sub(I,S)
dim J
degree J


E5 = glue(E4, {"D<-->2D", "D+F<-->G", "G<-->F"})
R = createRing(E5, QQ)
F = join(subRandomInitVals E5, subRandomReactionRates E5)
I = ideal F
S = QQ[E5.ConcentrationRates]
J = sub(I,S)
dim J
degree J

E6 = glue(E5, {"F<-->2F", "F+G<-->H", "H<-->G"})
R = createRing(E6, QQ)
F = join(subRandomInitVals E6, subRandomReactionRates E6)
I = ideal F
S = QQ[E6.ConcentrationRates]
J = sub(I,S)
dim J
degree J

--one copy - 3 solutions
--two copies - 5 solutions
--n copies for n>2 - twice #solutions for (n-1) copies